plainbox extcmd can deadlock in certain cases
Bug #1382433 reported by
Zygmunt Krynicki
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PlainBox (Toolkit) |
Won't Fix
|
High
|
Unassigned |
Bug Description
We've found that the extcmd module that we use to run external commands can deadlock in certain cases.
An "easy" reproduction case is to run a process that backgrounds (ssh -M -f -N). Extcmd logging seems to indicate that IO threads don't quit as they still linger, sucking pipes that aren't closed.
Manually forcing the pipes closed seems to block (?). I'll write a reproduction case and update this bug
Changed in plainbox-provider-checkbox: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
affects: | plainbox-provider-checkbox → plainbox |
Changed in plainbox: | |
milestone: | none → 0.15 |
assignee: | nobody → Zygmunt Krynicki (zkrynicki) |
description: | updated |
Changed in plainbox: | |
milestone: | 0.15 → 0.16 |
Changed in plainbox: | |
milestone: | 0.16 → 0.17 |
Changed in plainbox: | |
milestone: | 0.17 → none |
Changed in plainbox: | |
milestone: | none → 0.18 |
status: | In Progress → Fix Committed |
Changed in plainbox: | |
assignee: | Zygmunt Krynicki (zyga) → nobody |
Changed in plainbox: | |
status: | In Progress → Confirmed |
milestone: | none → future |
Changed in plainbox: | |
status: | Confirmed → Won't Fix |
To post a comment you must log in.
I'm still working on this. The EOD prototype that watches another process reliably: https:/ /github. com/zyga/ python- glibc/blob/ master/ demos/signalfd% 2Bepoll% 2Bpipe2% 2Bfork% 2Bexec- demo.py