-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Caution: Old peerswap CLN plugin processes don't always die #186
Comments
It seems that a |
Not sure how helpful this is but I took the opportunity to run
|
@nepet found out a way to reproduce the zombie processes by starting For some reason,
Running this script before starting
|
I don't know how this is happening. |
The above example is a server that hadn't rebooted in 1 year. CLN was upgraded a few times since then.
lightningd
the parent process launchespeerswap
(or older namepeerswap-plugin
). The child process is supposed to die when the parent dies but in many cases it didn't.Maybe this isn't a big deal except the older peerswap processes might still have open file handles to the database and unexpected behavior could ensue? Or maybe not since their stdio with their long-dead parent process is gone maybe they're deadlocked. Since those older peerswap binaries are gone I'm unable to gdb backtrace to see where they are stuck. In any case zombie plugins are unable to log via stdio.
Is there a golang signal handler that can act in the event the parent process dies? Would it be safer to use such a thing to ensure it actually does die?
The text was updated successfully, but these errors were encountered: