linaro-ami deadlocks on long slave init script output
Bug #1022529 reported by
Paul Sokolovsky
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro AWS Tools |
Fix Released
|
High
|
Paul Sokolovsky |
Bug Description
While working on lp:1019257, it turned out that if slave init script produces enough output, then at some point the script will block, apparently on overflow of stdout buffer somewhere (fd or paramiko's), and at the same time, our implementation also blocks on waiting for script to finish, and only then reads its output. So, deadlock ensues.
Related branches
lp:~pfalcon/linaro-aws-tools/linaro-ami-ver-1.5
- Stevan Radaković: Approve (code)
- Данило Шеган: Pending requested
-
Diff: 480 lines (+217/-67)11 files modifiedlinaro-ami/README (+36/-12)
linaro-ami/linaro-ami (+15/-2)
linaro-ami/linaro-ami.conf (+7/-1)
linaro-ami/linaro_ami.py (+14/-5)
linaro-ami/remote_executor.py (+18/-4)
linaro-ami/setup.cfg (+3/-0)
linaro-ami/tests/integration/__init__.py (+5/-0)
linaro-ami/tests/integration/integration_test_support.py (+42/-0)
linaro-ami/tests/integration/test_linaro_ami.py (+9/-3)
linaro-ami/tests/integration/test_remote_executor_int.py (+58/-0)
linaro-ami/tests/unit/test_remote_executor.py (+10/-40)
Changed in linaro-aws-tools: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The fix for this is relatively easy, but regression test for this bug should be added to the testsuite, which is blocked by lp:1022531.
Also, there may be similar conditions (long output on stderr, blocking on stdin), which should be handled just the same.