1.5.7: make hangs on XP (with HT)

Rolf Campbell Endlisnis@mailc.net
Thu Feb 5 16:40:00 GMT 2004


I've been trying to narrow the problem I've been having with make (-j) 
and processes locking up.  And I've made some progress.

First, this happens with 1.5.6 -> 1.5.7 (and every snapshot in-between).

I've tried this test on 3 configurations:
WinXP (HyperThreaded): fails quickly (between 20 seconds and 3 minutes)
Win2000 (Not HT): fails slowly (between 6 minutes and 20 minutes)
WinXP (HT turned off): does not fail (ran it for about an hour and it 
was fine).

I started stracing the output, and I cannot attach the entire list (it's 
40MB), but I'll give you a portion that shows the problem:

After the end of this strace, the process still exists (consuming as 
much of the CPU as it can).

I'm guessing the problem is:
    61 6410845 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.

Does anyone know what would cause that problem?


--------------strace tail--------------------------

    97 6402963 [main] make 608! __to_clock_t: dwHighDateTime 0, 
dwLowDateTime 312500
    69 6403032 [main] make 608! __to_clock_t: total 00000000 0000001F
    64 6403096 [main] make 608! __to_clock_t: dwHighDateTime 0, 
dwLowDateTime 156250
    67 6403163 [main] make 608! __to_clock_t: total 00000000 0000000F
  2062 6405225 [main] make 608! _pinfo::exit: Calling ExitProcess 131072
  2981    5968 [main] sh 608 sigaction: signal 2, newact 0x0, oldact 
0x22EDC0
    73    6041 [main] sh 608 void: 0x0 = signal (2, 0x40F5A0)
    66    6107 [main] sh 608 sigaction: signal 3, newact 0x0, oldact 
0x22EDC0
    58    6165 [main] sh 608 void: 0x0 = signal (3, 0x40F5A0)
    47    6212 [main] sh 608 sigaction: signal 15, newact 0x0, oldact 
0x22EDC0
    49    6261 [main] sh 608 void: 0x0 = signal (15, 0x0)
    74    6335 [main] sh 608 cwdstuff::get: posix /tmp
    57    6392 [main] sh 608 cwdstuff::get: (/tmp) = cwdstuff::get 
(0x22DE10, 4096, 1, 1), errno 0
32455 6406299 [proc] make 2328 proc_subproc: args: 2, 0
   120 6406419 [proc] make 2328 proc_subproc: pid 608[0], reparented old 
hProcess 0x658, new 0x6A4
   101 6406520 [proc] make 2328 proc_subproc: returning 0
   566    6958 [main] sh 608 do_exit: do_exit (0), exit_state 0
   104 6406624 [proc] make 2328 wait_subproc: looping
   100    7058 [main] sh 608 void: 0x0 = signal (20, 0x1)
    56    7114 [main] sh 608 void: 0x0 = signal (1, 0x1)
    50    7164 [main] sh 608 void: 0x40F5A0 = signal (2, 0x1)
    70    7234 [main] sh 608 void: 0x40F5A0 = signal (3, 0x1)
    91    7325 [main] sh 608 sigproc_terminate: entering
    76    7401 [main] sh 608 proc_terminate: nchildren 0, nzombies 0
     1    7402 [sig] sh 608 wait_sig: done
    58    7460 [main] sh 608 proc_terminate: leaving
    51    7511 [sig] sh 608 _threadinfo::remove: wait 0x0
   188    7699 [main] sh 608 __to_clock_t: dwHighDateTime 0, 
dwLowDateTime 156250
    54    7753 [main] sh 608 __to_clock_t: total 00000000 0000000F
    52    7805 [main] sh 608 __to_clock_t: dwHighDateTime 0, 
dwLowDateTime 156250
    47    7852 [main] sh 608 __to_clock_t: total 00000000 0000000F
  1549    9401 [main] sh 608 _pinfo::exit: Calling ExitProcess 0
  3488 6410112 [proc] make 2328 proc_subproc: args: 2, 0
    89 6410201 [proc] make 2328 proc_subproc: pid 608[0] terminated, 
handle 0x6A4, nchildren 1, nzombies 1
    59 6410260 [proc] make 2328 proc_subproc: zombifying [0], pid 608, 
handle 0x6A4, nchildren 1
    62 6410322 [proc] make 2328 proc_subproc: returning 1
    59 6410381 [proc] make 2328 sig_send: sendsig 0x710, pid 2328, 
signal 20, its_me 1
    74 6410455 [proc] make 2328 sig_send: Not waiting for sigcomplete. 
its_me 1 signal 20
     7 6410462 [sig] make 2328 sig_handle: signal 20 processing
    48 6410510 [proc] make 2328 sig_send: returning 0x0 from sending 
signal 20
    62 6410572 [sig] make 2328 sig_handle: signal 20, about to call 0x40C540
    48 6410620 [proc] make 2328 wait_subproc: looping
    46 6410666 [sig] make 2328 setup_handler: suspending mainthread
   118 6410784 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    61 6410845 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
    76 6410921 [sig] make 2328 setup_handler: suspending mainthread
    69 6410990 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    56 6411046 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
    73 6411119 [sig] make 2328 setup_handler: suspending mainthread
    68 6411187 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    52 6411239 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
    75 6411314 [sig] make 2328 setup_handler: suspending mainthread
    73 6411387 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    63 6411450 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
    76 6411526 [sig] make 2328 setup_handler: suspending mainthread
    65 6411591 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    52 6411643 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
   171 6411814 [sig] make 2328 setup_handler: suspending mainthread
    81 6411895 [sig] make 2328 interruptible: pc 0x7FFE0304, h 
0x7FFE0000, interruptible 0
    54 6411949 [sig] make 2328 setup_handler: couldn't interrupt. 
trying again.
    70 6412019 [sig] make 2328 setup_handler: suspending mainthread
    81 6412100 [sig] make 2328 interruptible: pc 0x610E6100, h 
0x61000000, interruptible 1
    56 6412156 [sig] make 2328 proc_subproc: args: 3, 1
    48 6412204 [sig] make 2328 proc_subproc: clear waiting threads
    49 6412253 [sig] make 2328 proc_subproc: finished clearing
    48 6412301 [sig] make 2328 proc_subproc: returning 1
    49 6412350 [sig] make 2328 _threadinfo::interrupt_setup: armed 
signal_arrived 0x71C, sig 20, res 1
    92 6412442 [sig] make 2328 setup_handler: signal 20 delivered
     6 6412448 [main] make 2328 reset_signal_arrived: reset signal_arrived
    44 6412492 [sig] make 2328 sig_handle: returning 1
    96 6412588 [sig] make 2328 proc_subproc: args: 3, 0
   -43 6412545 [main] make 2328 set_signal_mask: oldmask 0x1804007, 
newmask 0x1884007, mask_bits 0x0
   146 6412691 [main] make 2328 set_signal_mask: not calling 
sig_dispatch_pending
   -54 6412637 [sig] make 2328 proc_subproc: looking for processes to reap
   113 6412750 [main] make 2328 set_signal_mask: oldmask 0x1884007, 
newmask 0x1804007, mask_bits 0x80000
    48 6412798 [sig] make 2328 proc_subproc: finished processing 
terminated/stopped child
    98 6412896 [sig] make 2328 proc_subproc: returning 1

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygcheck.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20040205/a4526507/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile
URL: <http://cygwin.com/pipermail/cygwin/attachments/20040205/a4526507/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: t.sh
URL: <http://cygwin.com/pipermail/cygwin/attachments/20040205/a4526507/attachment-0001.ksh>
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


More information about the Cygwin mailing list