Comment 3 for bug 1003938

Revision history for this message
Przemek Wesolek (pwes) wrote :

After digging more, it looks like a regression from #997766. When I comment the lines changed in revision 1942, byobu and tmux works correctly, the status line refreshes and no processes hang in the background.

Finally, I suspect some race condition. Here is why. After first "hanging" status-update, I exit byobu. Then, 'ps' shows the following hanging:

user 22803 0.0 0.0 106212 1424 ? S 08:08 0:00 /bin/sh /home6/user/opt/byobu/bin/byobu-status tmux_left
user 22804 0.0 0.0 106212 1428 ? S 08:08 0:00 /bin/sh /home6/user/opt/byobu/bin/byobu-status tmux_right
user 22806 0.0 0.0 23760 1168 ? S 08:08 0:00 tmux set -g status-left-length 52
user 22809 0.0 0.0 23760 1168 ? S 08:08 0:00 tmux set -g status-left-length 52

So, two 'tmux set' hang. Let's kill one of them (22809) and the list looks like this

user 22803 0.0 0.0 106212 1424 ? S 08:08 0:00 /bin/sh /home6/user/opt/byobu/bin/byobu-status tmux_left
user 22804 0.0 0.0 106212 1428 ? S 08:08 0:00 /bin/sh /home6/user/opt/byobu/bin/byobu-status tmux_right
user 22806 0.0 0.0 23760 1168 ? S 08:08 0:00 tmux set -g status-left-length 52
user 23731 0.0 0.0 23760 1168 ? S 08:09 0:00 tmux set -g status-right-length 156

Now, it hangs on setting the right length. Let's kill that too (23731):

user 22803 0.0 0.0 106212 1424 ? S 08:08 0:00 /bin/sh /home6/user/opt/byobu/bin/byobu-status tmux_left
user 22806 0.0 0.0 23760 1168 ? S 08:08 0:00 tmux set -g status-left-length 52

Unfortunatelly, the first left status update process still hangs. I kill 22806, and then status-right-length, on which there was a hang previously doesn't show, all update processes finish correctly.