Repository navigation
Project crashed after Worker.terminate() #41107
Description
Activity
- addedworkerIssues and PRs related to the worker_threads module and Worker API.Issues and PRs related to the worker_threads module and Worker API.
on Dec 7, 2021 I also see this (node 17, win11), looks related to native addons (C++), only occurs on Windows no issue on Linux, specifically when the last remaining Worker Thread that has loaded the native addon exits it will crash the process with error code 3221225477. I don't know if it's because the addon did not clean up resources correctly or if is some issue with Node https://nodejs.org/api/addons.html#worker-support. The crash happens after process.on('exit') event fires on the worker, but before worker.on('exit') event fires on main thread, and only occurs after the last remaining worker (can be 1 or more workers) that has loaded the addon exits.
- addedwindowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
on Dec 16, 2021 The example code below works as is,
worker thread (from main) exitedandmain thread exitedget logged, but if you uncomment addonrequire('uWebSockets.js')it will crash the process with code 3221225477 after loggingworker thread (inside) exitedand the other logs don't get called. Works fine on Linuxconst {Worker,isMainThread}=require('worker_threads') if(isMainThread){ new Worker(__filename).on('exit',code=>console.log('worker thread (from main) exited',code)) process.on('exit',()=>console.log('main thread exited')) }else{ //require('uWebSockets.js') process.on('exit',()=>console.log('worker thread (inside) exited')) setTimeout(()=>process.exit(0),1000) }
huseyinacacak-janea commented
on Feb 4, 2025 ContributorMore actionsHi @KunalBurangi, I wanted to look into this issue but wasn't able to reproduce it (I tried Node 18.20.2, 20.18.2, 22.13.1 and 23.3.0). Do you think this can be closed now?
Since this is no longer reproducible I'll close it. Feel free to reopen if needed.
Version
14.6
Platform
Windows 10
Subsystem
No response
What steps will reproduce the bug?
Not sure
How often does it reproduce? Is there a required condition?
I am working with the worker threads and it is working fine . i am able to execute stuff in worker thread but the problem is the worker thread is not getting exit on its own . so i am using process.exit(0) or worker.terminate()
and it get exits also.
but after that if i hit the api again then my project crashes with
Process exited with code 3221225477
what is the issue
What is the expected behavior?
No response
What do you see instead?
No response
Additional information
No response