node-steam-user icon indicating copy to clipboard operation
node-steam-user copied to clipboard

`TypeError: Illegal buffer` crash

Open welwood08 opened this issue 7 years ago • 0 comments

I've been testing stability of this module before I get too deep into using it. This error was encountered almost exactly 15 seconds after the first appOwnershipCached event after successful logon:

./node_modules/bytebuffer/dist/bytebuffer-node.js:346
            throw TypeError("Illegal buffer");
            ^

TypeError: Illegal buffer
    at Function.module.exports.ByteBuffer.wrap (./node_modules/bytebuffer/dist/bytebuffer-node.js:346:19)
    at Function.Message.decode (./node_modules/protobufjs/dist/protobuf.js:2949:45)
    at cb (./node_modules/steam-user/components/messages.js:228:19)
    at Object.cb (./node_modules/steam-user/components/messages.js:157:4)
    at CMClient._netMsgReceived (./node_modules/steam-client/lib/cm_client.js:321:26)
    at CMClient.handlers.(anonymous function) (./node_modules/steam-client/lib/cm_client.js:603:8)
    at CMClient._netMsgReceived (./node_modules/steam-client/lib/cm_client.js:305:24)
    at emitOne (events.js:115:13)
    at TCPConnection.emit (events.js:210:7)
    at TCPConnection._readPacket (./node_modules/steam-client/lib/tcp_connection.js:179:7)

It only happened once so far (it has been working fine both before and after this), so I'm having trouble reproducing. I've added temporary logging of the method name and response body in a try/catch around the throwing line of SteamUser.prototype._sendUnified at steam-user/components/messages.js:228 hoping to get more information if it happens again.

Should this error be caught and instead emitted as an event so the user's application doesn't crash? protobufjs/dist/protobuf.js:2949 specifically says // May throw.

In case it makes a difference, this is in a FreeNAS 9.10.2-U5 jail using VIMAGE networking:

$ uname -mrs
FreeBSD 10.3-STABLE amd64
$ node --version
v8.1.4
$ npm --version
5.3.0
$ npm ls | sed '/^├─┬ steam-user@/,/^├─/!d' | sed '$d'
├─┬ [email protected]                        
│ ├── @doctormckay/[email protected]
│ ├── @doctormckay/[email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected]
│ │ │ └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected]
│ │ │ ├── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   ├── [email protected]
│ │ │ │   └── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected] deduped
│ │ │ └── [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   ├─┬ [email protected]
│ │   │ ├─┬ [email protected]
│ │   │ │ ├── [email protected] deduped
│ │   │ │ ├─┬ [email protected]
│ │   │ │ │ └── [email protected] deduped
│ │   │ │ └── [email protected] deduped
│ │   │ ├─┬ [email protected]
│ │   │ │ └── [email protected]
│ │   │ └─┬ [email protected]
│ │   │   ├─┬ [email protected]
│ │   │   │ ├── [email protected] deduped
│ │   │   │ ├─┬ [email protected]
│ │   │   │ │ └── [email protected] deduped
│ │   │   │ └── [email protected] deduped
│ │   │   └─┬ [email protected]
│ │   │     └── [email protected]
│ │   ├── [email protected]
│ │   ├─┬ [email protected]
│ │   │ └─┬ [email protected]
│ │   │   └── [email protected]
│ │   ├─┬ [email protected]
│ │   │ ├── [email protected]
│ │   │ ├─┬ [email protected]
│ │   │ │ └── [email protected]
│ │   │ └─┬ [email protected]
│ │   │   └── [email protected]
│ │   ├── [email protected]
│ │   └── [email protected]
│ ├─┬ [email protected]
│ │ ├── @doctormckay/[email protected] deduped
│ │ ├── @doctormckay/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └─┬ [email protected]
│ │   ├── @doctormckay/[email protected] deduped
│ │   ├── [email protected] deduped
│ │   ├── [email protected]
│ │   └── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ └─┬ [email protected]
│   └─┬ [email protected]
│     └── [email protected]

welwood08 avatar Jul 26 '17 08:07 welwood08