>Submitter-Id: net
>Originator: Andrew R. Reiter
Andrew R. Reiter
>Organization:
net
>Confidential: no
>Synopsis: remote cvs pserver core -- possible signal race?
>Severity: critical
>Priority: high
>Category: cvs
>Class: sw-bug
>Release: cvs-1.11
>Environment:
System: FreeBSD fledge.watson.org 4.4-PRERELEASE FreeBSD 4.4-PRERELEASE #0: Thu Aug 16
15:16:58 EDT 2001 [EMAIL PROTECTED]:/usr/obj/data/fbsd-stable/src/sys/FLEDGE
i386
>Description:
The function src/server.c:server_cleanup(int), which is the signal
handler for a number of signals related to the pserver code, if I
understand the code correctly, contains some problems which I'm
assuming led to a core I managed to cause remotely. Essentially,
the handler function calls a few unsafe/non-reentrant functions,
such as select(). This could possibly cause a race condition to
occur. When I found the core, I gdb'd it and found it bailing in
multiple calls to sigprocmask()...
>How-To-Repeat:
I managed to cause the core to occur remotely by doing:
cvs login
cvs co src <- large source tree (FreeBSD)
ctl-C
ctl-C
ctl-Z
killall -9 cvs <- kill the process for real
>Fix:
If this is not the code in which the bug is from, atleast make the
handler reentrant.
_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs