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