in reply to Re^20: Net::OpenSSH loosing lines ins reply
in thread Net::OpenSSH loosing lines ins reply

As I had supposed, after the capture call, the O_NONBLOCK flag is set.

The ssh command that is being run under the hood by capture is leaving STDOUT in non-blocking mode. The issue seems fixed in newer versions of OpenSSH, or at least I am unable to reproduce it with the latest one (6.6.1p1).

In any case it is easy to workaround. Just using capture2 instead of capture or setting stderr_discard => 1 should make it go.

BTW, there isn't any difference on the fdinfo dumps between the successfully and failed invocations because the problem is hidden behind a race condition. The perl process needs to be faster writing than tee reading for the intermediate pipe buffer to fill.

Replies are listed 'Best First'.
Re^22: Net::OpenSSH loosing lines ins reply
by Andy16 (Acolyte) on Jun 05, 2014 at 10:45 UTC
    Hi Salva,

    GREAT


    changed to capture2 and problem did not reoccur up to now...

    Follwing your explanations - it shall be solved now!

    hero of my day!

    no chance for me digging that out....