-
Notifications
You must be signed in to change notification settings - Fork 452
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
Race condition on 'select' UNIX call #3559
Comments
Ok, the problem is a race condition triggered by a signal (I guess it is SIGCHLD) generated by sub-shell started by
Apparently, when Python interpreter starts a sub-process, and the process does not ends correctly, it could send a SIGCHLD to it's parent process. |
It is interesting to note that Tribler code contains almost no |
Oh wow. Do you have any clue how to fix this? |
As there is a workaround for @ichorid and this is probably not a major issue for normal users, I moved this to the backlog. |
As we had moved to use Twisted endpoint, we don't use |
Tribler version: 7.1 Next
OS: Ubuntu 18.04
Got this error while running a test of tunnel-community-based download.
The problem appears only when exit code from
is non-zero. It doesn't matter what the command is, if it returns with an error, it triggers the problem. If the exit code of the command is insulated by e.g.
nohup
, like:the problem goes away.
If
subprocess.Popen()
is used instead ofos.system()
, the problem goes away too:If
sleep(5)
is added afteros.system()
call, the problem goes away.So, it is a definite race condition.
As a result, the tunnel community does not start properly, and anonymous downloading does not work.
The text was updated successfully, but these errors were encountered: