bug-cvs
[Top][All Lists]
Advanced

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

(no subject)


From: Andrew R. Reiter
Subject: (no subject)
Date: Tue, 30 Oct 2001 18:37:15 -0500 (EST)

>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 
robert@fledge.watson.org:/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. 



reply via email to

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