ssh child process hangs (Call proc.terminate before proc.wait when possible?)
Bug #686224 reported by
dobey
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Expired
|
Medium
|
Unassigned |
Bug Description
Sometimes, it is possible for the child ssh process to seemingly be stuck waiting for something, causing the parent to hang in wait. The fix applied for bug #659590 however, does not fix this. But calling proc.terminate before proc.wait, does cause the problem to go away. It seems safe to terminate the process at this point, since the stdout/stdin have already been closed.
To post a comment you must log in.
Thanks for the report.
Just killing the subprocess seems like kind of a big hammer, and one I'd rather not apply until we either know the problem, or we have consciously given up on understanding it.
If you can reproduce this can you please tell us
1- what strace shows that bzr and the child are doing
2- ditto 'ps o pid,wchan $SSH_PID'
3- 'lsof -p $SSH_PID'
4- the C-level backtrace of the child (attach using gdb, etc.)
You may need to run some of them as root to get around current security restrictions.