socket.io
socket.io copied to clipboard
Missing error handler on `socket`. when using node.js v0.12
:˜/test/socket.io$ npm test
[email protected] test /home/test/socket.io mocha --reporter dot --slow 200ms --bail
child_process: customFds option is deprecated, use stdio instead.
․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․
․․․․․․․․․․․․․․․․․․․․․․․․․Note: warning expected and normal in test.
Missing error handler on socket
.
Error: Illegal attachments
at decodeString (/home/test/socket.io/node_modules/socket.io-parser/index.js:290:13)
at Decoder.add (/home/test/socket.io/node_modules/socket.io-parser/index.js:238:14)
at Client.ondata (/home/test/socket.io/lib/client.js:176:18)
at Socket.emit (events.js:107:17)
at Socket.onPacket (/home/test/socket.io/node_modules/engine.io/lib/socket.js:99:14)
at WebSocket.emit (events.js:129:20)
at WebSocket.Transport.onPacket (/home/test/socket.io/node_modules/engine.io/lib/transport.js:91:8)
at WebSocket.Transport.onData (/home/socket.io/node_modules/engine.io/lib/transport.js:102:8)
at WebSocket.onData (/home/socket.io/node_modules/engine.io/lib/transports/websocket.js:75:30)
at WebSocket.emit (events.js:110:17)
at Receiver.ontext (/home/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocket.js:798:10)
at /home/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.js:473:18
at /home/test/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.js:357:7
at /home/test/socket.io/node_modules/engine.io/node_modules/ws/lib/PerMessageDeflate.js:217:5
at afterWrite (_stream_writable.js:361:3)
at onwrite (_stream_writable.js:352:7)
at WritableState.onwrite (_stream_writable.js:105:5)
still the same issue --for [email protected] node version is 0.12.7
[email protected] test /home/nodebot/test/socket.io mocha --reporter dot --slow 200ms --bail
child_process: customFds option is deprecated, use stdio instead.
․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․
․․․․․․․․․․․․․․․․․․․․․․․․․․․․․Note: warning expected and normal in test.
Missing error handler on socket
.
Error: Illegal attachments
at decodeString (/home/nodebot/test/socket.io/node_modules/socket.io-parser/index.js:290:13)
at Decoder.add (/home/nodebot/test/socket.io/node_modules/socket.io-parser/index.js:238:14)
at Client.ondata (/home/nodebot/test/socket.io/lib/client.js:175:18)
at Socket.emit (events.js:107:17)
at Socket.onPacket (/home/nodebot/test/socket.io/node_modules/engine.io/lib/socket.js:101:14)
at WebSocket.emit (events.js:107:17)
at WebSocket.Transport.onPacket (/home/nodebot/test/socket.io/node_modules/engine.io/lib/transport.js:93:8)
at WebSocket.Transport.onData (/home/nodebot/test/socket.io/node_modules/engine.io/lib/transport.js:104:8)
at WebSocket.onData (/home/nodebot/test/socket.io/node_modules/engine.io/lib/transports/websocket.js:75:30)
at WebSocket.emit (events.js:110:17)
at Receiver.ontext (/home/nodebot/test/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocket.js:797:10)
at /home/nodebot/test/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.js:473:18
at /home/nodebot/test/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.js:357:7
at /home/nodebot/test/socket.io/node_modules/engine.io/node_modules/ws/lib/PerMessageDeflate.js:217:5
at afterWrite (_stream_writable.js:361:3)
at onwrite (_stream_writable.js:352:7)
at WritableState.onwrite (_stream_writable.js:105:5)
at afterTransform (_stream_transform.js:99:5)
at TransformState.afterTransform (_stream_transform.js:74:12)
at Zlib.callback (zlib.js:611:5)
․․․․․․․․․․․․․․․․․․․
107 passing (14s)
That issue was closed automatically. Please check if your issue is fixed with the latest release, and reopen if needed (with a fiddle reproducing the issue if possible).
This is still happening on node v12.18.2
, what could cause this? bad payload from client?
@Novivy yes, this could indeed be caused by a bad payload from the client: https://github.com/socketio/socket.io/blob/9b43c9167cff817c60fa29dbda2ef7cd938aff51/lib/client.ts#L296-L301
@Novivy yes, this could indeed be caused by a bad payload from the client:
https://github.com/socketio/socket.io/blob/9b43c9167cff817c60fa29dbda2ef7cd938aff51/lib/client.ts#L296-L301
any suggestions to PR this?
For now, I think you can add an empty error handler:
socket.on("error", () => {});
We will remove this in the next major version, as this does not provide much value (the socket is disconnect in any case).
For future readers:
The warning was silenced in https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115, included in version 4.6.2.