calmh/node-snmp-native

AssertionError 48=83?

cchance27 opened this issue · 8 comments

Have a long running app that polls over time and graphs but i'm getting a random crash not sure whats causing it

AssertionError: 48 == 83
at parse (C:\Users\C\Desktop\NODE Projects\Dash\node_modules\snmp-native\lib\snmp.js:223:12)
at EventEmitter.msgReceived (C:\Users\C\Desktop\NODE Projects\Dash\node_modules\snmp-native\lib\snmp.js:404:15)
at emitTwo (events.js:106:13)
at Socket.emit (events.js:191:7)
at UDP.onMessage (dgram.js:540:8)

Message data:
53 46 4a 00 1c 00 00 00 00 00 00 00 00 00 00 00
41 09 f8 50 00 01 01 00 00 00 d9 76

events.js:160
throw er; // Unhandled 'error' event
^
AssertionError: 48 == 83
at parse (C:\Users\C\Desktop\NODE Projects\Dash\node_modules\snmp-native\lib\snmp.js:223:12)
at EventEmitter.msgReceived (C:\Users\C\Desktop\NODE Projects\Dash\node_modules\snmp-native\lib\snmp.js:404:15)
at emitTwo (events.js:106:13)
at Socket.emit (events.js:191:7)
at UDP.onMessage (dgram.js:540:8)

I too also have a long running app and getting AssertionError: 48 == 83

AssertionError: 48 == 83
    at parse (C:\path\to\project\node_modules\snmp-native\lib\snmp.js:223:12)
    at EventEmitter.msgReceived (C:\path\to\project\node_modules\snmp-native\lib\snmp.js:405:15)
    at emitTwo (events.js:106:13)
    at Socket.emit (events.js:191:7)
    at UDP.onMessage (dgram.js:547:8)

Message data:
    53 70 6f 74 55 64 70 30 51 90 8c 03 81 8b 51 a0 
    00 01 00 04 48 95 c2 03 e8 fd a0 b6 7e ba 9d da 
    d3 f9 b3 a1 05 49 cd c4 d7 dc 37 0e 
undefined
C:\path\to\project\node_modules\snmp-native\lib\snmp.js:223
    assert.equal(asn1ber.types.Sequence, hdr.type);
           ^
AssertionError: 48 == 83
    at parse (C:\path\to\project\node_modules\snmp-native\lib\snmp.js:223:12)
    at EventEmitter.msgReceived (C:\path\to\project\node_modules\snmp-native\lib\snmp.js:405:15)
    at emitTwo (events.js:106:13)
    at Socket.emit (events.js:191:7)
    at UDP.onMessage (dgram.js:547:8)

possibly related to #8

calmh commented

Ah, right. Yes, looks like same issue. Never came to the bottom of what generated that packet, in that other issue, but the short of it is that it means we received data that was not SNMP. You can hook into the error event etc to avoid crashing, but it would be neat to know what that response you're getting is and where it comes from.

i just noticed this from the other thread: session.on("error", (err) => { });
I'll add that in as I actually have quite a few different assertion errors I've noticed.
What has me curious is it does not appear to encounter any assertion errors in a *nix environment.

I'll see if I can get some more data, what types of devices, oids... etc. so hopefully we can make more sense of what happened.

i have seen the similar issue
Jan 23 17:27:19 raspberrypi homebridge[5829]: Woops! An error occurred while parsing an SNMP message. :(
Jan 23 17:27:19 raspberrypi homebridge[5829]: To have this problem corrected, please report the information below verbatim
Jan 23 17:27:19 raspberrypi homebridge[5829]: via email to snmp@nym.se or by creating a GitHub issue at
Jan 23 17:27:19 raspberrypi homebridge[5829]: https://github.com/calmh/node-snmp-native/issues
Jan 23 17:27:19 raspberrypi homebridge[5829]: Thanks!
Jan 23 17:27:19 raspberrypi homebridge[5829]: AssertionError: 48 == 1
Jan 23 17:27:19 raspberrypi homebridge[5829]: at parse (/usr/local/lib/node_modules/homebridge-bandwidth-meter/node_modules/snmp-native/lib/snmp.js:223:12)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at Session.msgReceived (/usr/local/lib/node_modules/homebridge-bandwidth-meter/node_modules/snmp-native/lib/snmp.js:405:15)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at emitTwo (events.js:106:13)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at Socket.emit (events.js:191:7)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at UDP.onMessage [as onmessage] (dgram.js:547:8)
Jan 23 17:27:19 raspberrypi homebridge[5829]: Message data:
Jan 23 17:27:19 raspberrypi homebridge[5829]: 01 00 00 7f 02 00 0a 44 d9 e7 41 8e 2c c0 a8 01
Jan 23 17:27:19 raspberrypi homebridge[5829]: 01 02 00 0a 44 d9 e7 41 8e 2d 63 f5 fd 7b 02 00
Jan 23 17:27:19 raspberrypi homebridge[5829]: 0a 44 d9 e7 41 8e 2e c0 a8 02 01 01 00 06 44 d9
Jan 23 17:27:19 raspberrypi homebridge[5829]: e7 41 8e 2c 0a 00 04 00 0e 98 d6 0b 00 0a 65 64
Jan 23 17:27:19 raspberrypi homebridge[5829]: 67 65 72 6f 75 74 65 72 0c 00 08 45 52 4c 69 74
Jan 23 17:27:19 raspberrypi homebridge[5829]: 65 2d 33 03 00 2d 45 64 67 65 52 6f 75 74 65 72
Jan 23 17:27:19 raspberrypi homebridge[5829]: 2e 45 52 2d 65 31 30 30 2e 76 31 2e 39 2e 31 2e
Jan 23 17:27:19 raspberrypi homebridge[5829]: 34 39 33 39 30 39 33 2e 31 36 31 32 31 34 2e 30
Jan 23 17:27:19 raspberrypi homebridge[5829]: 37 30 35
Jan 23 17:27:19 raspberrypi homebridge[5829]: events.js:160
Jan 23 17:27:19 raspberrypi homebridge[5829]: throw er; // Unhandled 'error' event
Jan 23 17:27:19 raspberrypi homebridge[5829]: ^
Jan 23 17:27:19 raspberrypi homebridge[5829]: AssertionError: 48 == 1
Jan 23 17:27:19 raspberrypi homebridge[5829]: at parse (/usr/local/lib/node_modules/homebridge-bandwidth-meter/node_modules/snmp-native/lib/snmp.js:223:12)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at Session.msgReceived (/usr/local/lib/node_modules/homebridge-bandwidth-meter/node_modules/snmp-native/lib/snmp.js:405:15)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at emitTwo (events.js:106:13)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at Socket.emit (events.js:191:7)
Jan 23 17:27:19 raspberrypi homebridge[5829]: at UDP.onMessage [as onmessage] (dgram.js:547:8)

@sergeturgeon what device creates this snmp pdu?