Malcolm Rowe schrieb:
> On Wed, Sep 13, 2006 at 09:24:49AM -0700, Daniel Rall wrote:
>> On Wed, 13 Sep 2006, Malcolm Rowe wrote:
>> ...
>>> * subversion/libsvn_subr/io.c
>>> (svn_io_wait_for_cmd): Return an error if apr_proc_wait() returns any
>>> status other than APR_CHILD_DONE (for example, ECHILD), rather than
>>> returning an error only if it returns APR_CHILD_NOT_DONE.
>> +1
>
> Thanks. Committed in r21483 and proposed for backport to 1.4.1.
>
> I haven't forgotten that we should also try to work out why APR is
> reaping the zombies for us; that's the reason that we can't get the
> status in the first place.
>
> Franz, could you let us know what version of APR you're using, and
> what your hook script does? Also, how easy is it for you to replicate
> the problem? Is there any chance you can do some investigation to work
> out whether it's something that the hook script is doing that's causing
> the behaviour you're seeing?
Hmm, it usually took a while to show up, but it should be reproducible
within one day. The bigger problem is the other developers getting upset
if they can't commit properly :-). At least I have now a working version
I always can go back to.
APR version is 1.2.7, the script is just a simple shell script that
checks that the log entry isn't empty (only slighly modified with an
explanation message from the example script). Running the script with
bash and ksh made no difference.
For the investigation work, what is the proper simple way to put in some
debugging printf's that are logged into apache's error_log? What
currently mystifies me is the first waitpid() call in the strace by APR
where pid is -1. Looking at the APR code I don't understand how this can
happen since fork() properly returned pid 15158 and so I want to log
cmd_proc.pid in hooks.c.
Franz.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 13 21:56:13 2006