-
Notifications
You must be signed in to change notification settings - Fork 270
Closed
Description
Version: 6.0.7
Environment:
- Operating system: Linux
- Node.js: 6.9.4
Running Linux; NodeJS via Primus, no SSL.
Stack:
/srv/node/node_modules/bluebird/js/release/async.js:61
fn = function () { throw arg; };
^
TypeError: Cannot read property 'fd' of null
at child.on (/srv/node/node_modules/primus/transformers/uws/server.js:90:21)
at child.emit (/srv/node/node_modules/primus/node_modules/eventemitter3/index.js:131:35)
at emitter (/srv/node/node_modules/emits/index.js:26:22)
at iterate (/srv/node/node_modules/primus/transformer.js:125:24)
at done (/srv/node/node_modules/primus/transformer.js:139:7)
at authorized (/srv/node/node_modules/primus/middleware/authorization.js:22:24)
at tryCatcher (/srv/node/node_modules/bluebird/js/release/util.js:16:23)
at Promise.successAdapter (/srv/node/node_modules/bluebird/js/release/nodeify.js:22:30)
at Promise.<anonymous> (/srv/node/node_modules/continuation-local-storage/context.js:84:17)
at bound (domain.js:280:14)
at Promise.runBound [as _fulfillmentHandler0] (domain.js:293:12)
at Promise._settlePromise (/srv/node/node_modules/bluebird/js/release/promise.js:564:21)
at Promise._settlePromise0 (/srv/node/node_modules/bluebird/js/release/promise.js:612:10)
at Promise._settlePromises (/srv/node/node_modules/bluebird/js/release/promise.js:691:18)
at Async._drainQueue (/srv/node/node_modules/bluebird/js/release/async.js:138:16)
at Async._drainQueues (/srv/node/node_modules/bluebird/js/release/async.js:148:10)
at Immediate.Async.drainQueues (/srv/node/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)
This seems to happen at random on a production server; seems to be something like a connection being disconnected before there's a chance to register it - not sure.
The offending code (appears socketHandle = soc._handle is null, not using SSL):
const ticket = native.transfer(
socketHandle.fd === -1 ? socketHandle : socketHandle.fd,
sslState
);Unfortunately I don't have reproduction steps; we have as of yet been unable to trace down the cause. Any ideas?
Metadata
Metadata
Assignees
Labels
No labels