>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

Reply via email to