You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the OS (or anyone else) closes the child process, instead of checking its signalCode, the child is released in the pool. This causes an error that leads, when trying to send that child another message, to fail, causing an uncaughtException that closes the main process.
Minimal, Working Test code to reproduce the issue.
Create a project using these two files, that depends on Bull@3.10.0
index.js
'use strict';const{ resolve }=require('path');constBull=require('bull');asyncfunctionmain(){constqueue=newBull('myqueue',{redis: 'redis://localhost:6379',settings: {lockDuration: 100000,// Key expiration time for job locks.stalledInterval: 100000,// How often check for stalled jobs (use 0 for never checking).maxStalledCount: 10,// Max amount of times a stalled job will be re-processed.guardInterval: 1000,// Poll interval for delayed jobs and added jobs.retryProcessDelay: 5000,// delay before processing next job in case of internal error.drainDelay: 20}});try{queue.process(resolve(__dirname,'./process/index.js'));awaitqueue.add({hello: 'world'});awaitqueue.add({hello: 'world'});}catch(error){throwerror;}}main();
Description
If the OS (or anyone else) closes the child process, instead of checking its
signalCode
, the child is released in the pool. This causes an error that leads, when trying to send that child another message, to fail, causing anuncaughtException
that closes the main process.Related error and detais: here
Minimal, Working Test code to reproduce the issue.
Create a project using these two files, that depends on Bull@3.10.0
index.js
process/index.js
Open the main process. Run:
Kill the child process. Run:
Bull version
3.10.0
Additional information
N/A
The text was updated successfully, but these errors were encountered: