Page MenuHomePhabricator

Parsoid: Server doesn't handle 'error' event for connect
Closed, ResolvedPublic

Description

When starting api/server.js and there is an error, it throws an internal node module exception instead of handling the error.

This can be reproduced when, for example, an EADDRINUSE error is triggered in case of some other random service using port 8000.

ve@dl:~/src/parsoid/js master$ node api/server.js

  • worker(19466) loading...
  • worker(19472) loading...
  • worker(19468) loading...
  • worker(19469) loading...
  • worker(19470) loading...
  • worker(19466) ready

events.js:72

throw er; // Unhandled 'error' event
      ^

Error: bind EADDRINUSE

at errnoException (net.js:901:11)
at net.js:1073:26
at Object.1:1 (cluster.js:587:5)
at handleResponse (cluster.js:171:41)
at respond (cluster.js:192:5)
at handleMessage (cluster.js:202:5)
at process.EventEmitter.emit (events.js:117:20)
at handleMessage (child_process.js:318:10)
at child_process.js:392:7
at process.handleConversion.net.Native.got (child_process.js:91:7)

worker 19466 died (8), restarting.

  • worker(19468) ready
  • worker(19472) ready

events.js:72
events.js:72

throw er; // Unhandled 'error' event
      ^
throw er; // Unhandled 'error' event
      ^

Error: bind EADDRINUSE

at errnoException (net.js:901:11)
at net.js:1073:26
at Object.5:1 (cluster.js:587:5)
at handleResponse (cluster.js:171:41)
at respond (cluster.js:192:5)
at handleMessage (cluster.js:202:5)
at process.EventEmitter.emit (events.js:117:20)
at handleMessage (child_process.js:318:10)
at child_process.js:392:7
at process.handleConversion.net.Native.got (child_process.js:91:7)

Error: bind EADDRINUSE

at errnoException (net.js:901:11)
at net.js:1073:26
at Object.2:1 (cluster.js:587:5)
at handleResponse (cluster.js:171:41)
at respond (cluster.js:192:5)
at handleMessage (cluster.js:202:5)
at process.EventEmitter.emit (events.js:117:20)
at handleMessage (child_process.js:318:10)
at child_process.js:392:7
at process.handleConversion.net.Native.got (child_process.js:91:7)

worker 19472 died (8), restarting.
worker 19468 died (8), restarting.

  • worker(19469) ready

events.js:72

throw er; // Unhandled 'error' event

Version: unspecified
Severity: normal

Details

Reference
bz57593

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 2:19 AM
bzimport added a project: Parsoid-Web-API.
bzimport set Reference to bz57593.

Change 114928 had a related patch set uploaded by Konarak:
Handle 'error' event for connection

https://gerrit.wikimedia.org/r/114928

Change 114928 merged by jenkins-bot:
Handle 'error' event for connection

https://gerrit.wikimedia.org/r/114928