This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SIGCLD (?) problem


Recently I've been having intermittent hangs while running large
makes or configures, that is, some process hangs and the whole job
grinds to a halt.  This is pretty intermittent: it just bit me
after re-configuring and re-building four copies of the
newlib+winsup tree.

I've attached gdb to what I assume is the offender: a particular
instance of sh.exe is the offender since it is the only process
with no extant children (according to ps).  The interesting stack
traces are as follows (I assume that the _size_of_stack_reserve__
lines are because /bin/sh.exe has been stripped):

thread 1:

#0  0x77f88e53 in _system_dlls__ ()
#1  0x77e8b32b in _system_dlls__ ()
#2  0x61087c69 in wait4 (intpid=-1, status=0x22f810, options=0,
r=0x0)
    at ../../../../HEAD/winsup/cygwin/wait.cc:86
#3  0x61087935 in wait3 (status=0x22f810, options=0, r=0x0)
    at ../../../../HEAD/winsup/cygwin/wait.cc:38
#4  0x00407517 in _size_of_stack_reserve__ ()
#5  0x004072ae in _size_of_stack_reserve__ ()
#6  0x004071bb in _size_of_stack_reserve__ ()
#7  0x004023ea in _size_of_stack_reserve__ ()
#8  0x00401d85 in _size_of_stack_reserve__ ()
#9  0x00402552 in _size_of_stack_reserve__ ()
#10 0x00404965 in _size_of_stack_reserve__ ()
#11 0x004046b0 in _size_of_stack_reserve__ ()
#12 0x00404447 in _size_of_stack_reserve__ ()
#13 0x00402684 in _size_of_stack_reserve__ ()
#14 0x00401d98 in _size_of_stack_reserve__ ()
#15 0x00402064 in _size_of_stack_reserve__ ()
#16 0x00401d2a in _size_of_stack_reserve__ ()
#17 0x00401ced in _size_of_stack_reserve__ ()
#18 0x00401bce in _size_of_stack_reserve__ ()
#19 0x00401f78 in _size_of_stack_reserve__ ()
#20 0x00401d15 in _size_of_stack_reserve__ ()
#21 0x00407de8 in _size_of_stack_reserve__ ()
#22 0x00407d96 in _size_of_stack_reserve__ ()
#23 0x610060a9 in dll_crt0_1 () at
../../../../HEAD/winsup/cygwin/dcrt0.cc:784
#24 0x61006526 in _dll_crt0 () at
../../../../HEAD/winsup/cygwin/dcrt0.cc:907
#25 0x61006565 in dll_crt0 (uptr=0x0)
    at ../../../../HEAD/winsup/cygwin/dcrt0.cc:920
#26 0x00410c52 in _size_of_stack_reserve__ ()
#27 0x0040103c in _size_of_stack_reserve__ ()
#28 0x77ea847c in _system_dlls__ ()

thread 3:

#0  0x77f88e53 in _system_dlls__ ()
#1  0x77e8b32b in _system_dlls__ ()
#2  0x6106cd51 in sig_send (p=0x0, sig=20, ebp=10682228,
exception=false)
    at ../../../../HEAD/winsup/cygwin/sigproc.cc:179 [i.e.
actually :660]
#3  0x6106e4b8 in wait_subproc ()
    at ../../../../HEAD/winsup/cygwin/sigproc.cc:1265
#4  0x61004197 in cygthread::stub (arg=0x610bc27c)
    at ../../../../HEAD/winsup/cygwin/cygthread.cc:45
#5  0x77e8b2d8 in _system_dlls__ ()

So it looks (to the untrained eye) like a race, but I've not got
anywhere much myself so I thought I'd punt on this one and hope
some more wizardly being out there might see something in all
this.

Cheers,

// Conrad

p.s. I'll keep this process hung in gdb for the moment in case I
get enthusiastic tomorrow or someone else wants some more
information.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]