bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS problem with ssh


From: Derek Price
Subject: Re: CVS problem with ssh
Date: Thu, 29 Sep 2005 12:27:03 -0400
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Paul Eggert wrote:

>Yes, I generated this patch:
>
>http://lists.gnu.org/archive/html/bug-cvs/2005-07/msg00034.html
>
>Unfortunately, as I wrote in that email, I can't reproduce the bug
>with CVS 1.12.12, so I can't really test that the patch fixes the bug
>in general.  Also, Alexander Taler wrote that the patch does not
>correct the bug for him.  Please see:
>
>http://lists.gnu.org/archive/html/bug-cvs/2005-07/msg00037.html
>
>I haven't yet had the time to investigate it further.
>  
>

I wasn't finding time to implement and test my alternative idea, so I
debugged your patch, Paul.  The blocking problem Alexander Taler
reported was due to the work_around_ssh_glitch() finding ways to invoke
POSIX's "undefined behavior" after a Linux vfork() (actually, the
child's read read was blocking while the parent (client) was also
blocking waiting for its child to call execvp or exit and the
grandchild, therefore, didn't have a client to talk to and so blocked
waiting for data from the blocking client...), which piped_child had
already called.  Once I tweaked the piped_child to used fork() instead
of vfork, your patch worked like a charm.

(That code shouldn't have been calling vfork() originally, strictly,
since it did things before it called execvp - I guess it just happened
to work).

The new code now passes the sshstdio-6 test consistently on my Linux
FC4, whereas the same system was consistently failing this test once I
removed the select() workarounds in client.c's handle_m and handle_e
functions.

I should commit this change shortly (assuming Savannah comes back up
soon - it appears to be down).  Assuming this fix has the same effect on
other platforms during nightly testing, it should go out with the
1.12.13 release in a few days.

I also plan to backport this change to the 1.11 branch, but am also
delayed by Savannah's troubles.  Since 1.11.21 just went out, it may be
a little longer before I release this fix with 1.11.22.

Regards,

Derek

-- 
Derek R. Price
CVS Solutions Architect
Ximbiot <http://ximbiot.com>
v: +1 717.579.6168
f: +1 717.234.3125
<mailto:derek@ximbiot.com>






reply via email to

[Prev in Thread] Current Thread [Next in Thread]