Mail Archives: cygwin/2001/03/02/14:14:01
I got it to hang again, but this time the hang appears to be
different, and I don't know if it's related to the one about which I
sent details yesterday.
I don't recall if I've mentioned before now that we're seeing these
hangs on a dual-processor machine. This may very well be relevant.
Here's the end of my strace log, with some irrelevant info removed to
save room, starting with cygwin decides to send signal 20 to Make
process 404 to tell it that one of its children has died:
243 52939748 [proc] make 404 sig_send: pid 404, signal 20, its_me 1
265 52940013 [proc] make 404 sig_send: Not waiting for sigcomplete. its_me 1 sig 20
372 52940385 [proc] make 404 sig_send: returning 0 from sending signal 20
410 52940795 [proc] make 404 wait_subproc: looping
328 52941123 [sig] make 404 wait_sig: awake
284 52941407 [sig] make 404 wait_sig: processing signal 20
198 52941605 [sig] make 404 wait_sig: Got signal 20
421 52942026 [sig] make 404 sig_handle: signal 20
284 52942310 [sig] make 404 sig_handle: signal 20, about to call 0x40BAA8
287 52942597 [sig] make 404 setup_handler: suspending mainthread
Make process 404 is hung there. Unlike yesterday's hang, however,
when I run "ps" this process does not show "I" in its status column.
Two other differences from yesterday: (1) gdb won't let me attach to
the hung process (it claims that it can't); (2) I can't kill the
process. No signal, including TERM, KILL and CHLD, has any effect on
it -- it just remains in the state shown above, i.e., with no
additional output shown in the log file.
Contrast this with the time before this one that the same process was
sent signal 20:
733 52822611 [proc] make 404 sig_send: pid 404, signal 20, its_me 1
1988 52824599 [proc] make 404 sig_send: Not waiting for sigcomplete. its_me 1 sig 20
984 52825583 [proc] make 404 sig_send: returning 0 from sending signal 20
314 52825897 [proc] make 404 wait_subproc: looping
5073 52830970 [sig] make 404 wait_sig: awake
205 52831175 [sig] make 404 wait_sig: processing signal 20
290 52831465 [sig] make 404 wait_sig: Got signal 20
455 52831920 [sig] make 404 sig_handle: signal 20
365 52832285 [sig] make 404 sig_handle: signal 20, about to call 0x40BAA8
4211 52836496 [sig] make 404 setup_handler: armed signal_arrived 0x1F8, res 1
353 52836849 [sig] make 404 proc_subproc: args: 4, 1
291 52837140 [sig] make 404 proc_subproc: clear waiting threads
565 52837705 [sig] make 404 proc_subproc: finished clearing
441 52838146 [sig] make 404 proc_subproc: returning 1
497 52838643 [sig] make 404 setup_handler: didn't suspend main thread, th 0x61088514
239 52838882 [sig] make 404 setup_handler: returning 1
264 52839146 [sig] make 404 sig_handle: returning 1
285 52839431 [sig] make 404 wait_sig: looping
250 52839681 [main] make 404 call_signal_handler: sa_flags 0x0
516 52840197 [main] make 404 reset_signal_arrived: reset signal_arrived
794 52840991 [main] make 404 set_process_mask: old mask = 0, new mask = 80000
345 52841336 [main] make 404 sig_dispatch_pending: pending_signals 0
466 52841802 [main] make 404 sig_dispatch_pending: no need to wake anything up
275 52842077 [main] make 404 _close: close (5)
4097 52846174 [main] make 404 fhandler_base::close: handle 0xB8
5238 52851412 [main] make 404 _close: 0 = close (5)
5259 52856671 [main] make 404 _write: write (1, 0xA010120, 36)
2039 52858710 [main] make 404 fhandler_base::write: binary write
309 52859019 [main] make 404 fhandler_base::write: 36 = write (0xA010120, 36)
295 52859314 [main] make 404 _write: 36 = write (1, 0xA010120, 36)
320 52859634 [main] make 404 set_process_mask: old mask = 80000, new mask = 0
301 52859935 [main] make 404 sig_dispatch_pending: pending_signals 0
285 52860220 [main] make 404 sig_dispatch_pending: no need to wake anything up
303 52860523 [main] make 404 _read: -1 = read (5<(null)>, 0x24AF233, 1), bin 4096, errno 4
It sure looks to me like something inside the cygwin DLL isn't
handling the SIGCHLD signal properly for this process.
Any suggestions for how to proceed?
jik
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -