NetBSD-Bugs archive

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

kern/37704: sigexit deadlock



>Number:         37704
>Category:       kern
>Synopsis:       sigexit deadlock
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 05 23:15:00 +0000 2008
>Originator:     YAMAMOTO Takashi <yamt%mwd.biglobe.ne.jp@localhost>
>Release:        NetBSD 4.99.48
>Organization:
        
>Environment:
System: NetBSD 4.99.48 amd64
>Description:

see below.  two threads seem to wait for each other.
lwp_wait1+0x28e is in the "if (exiting)" block.
p_nlwps==2.

db{0}> ps/l  
 PID         LID S     FLAGS       STRUCT LWP *               NAME WAIT
        :
        :
 26861      1935 3   1000004   ffff80005698bca0              a.out lwpwait
            1934 3   1100004   ffff80005698b9e0              a.out lwpwait
        :
        :
db{0}> t/a ffff80005698bca0
trace: pid 26861 lid 1935 at 0xffff80004f938bc0
sleepq_block() at netbsd:sleepq_block+0x11a
cv_wait() at netbsd:cv_wait+0x116
lwp_wait1() at netbsd:lwp_wait1+0x28e
exit_lwps() at netbsd:exit_lwps+0x11f
exit1() at netbsd:exit1+0x4d
sigexit() at netbsd:sigexit+0x1ad
postsig() at netbsd:postsig+0xcd
lwp_userret() at netbsd:lwp_userret+0x127
startlwp() at netbsd:startlwp+0x59
db{0}> t/a ffff80005698b9e0
trace: pid 26861 lid 1934 at 0xffff80004f933ae0
sleepq_block() at netbsd:sleepq_block+0x11a
cv_wait() at netbsd:cv_wait+0x116
lwp_wait1() at netbsd:lwp_wait1+0x28e
exit_lwps() at netbsd:exit_lwps+0x11f
exit1() at netbsd:exit1+0x4d
sigexit() at netbsd:sigexit+0x1ad
postsig() at netbsd:postsig+0xcd
lwp_userret() at netbsd:lwp_userret+0x127
trap() at netbsd:trap+0x429
uvm_fault(0xffffffff80686280, 0x501000, 1) -> e
kernel: page fault trap, code=0
Faulted in DDB; continuing...
db{0}> 

>How-To-Repeat:
        
>Fix:
        




Home | Main Index | Thread Index | Old Index