This is the mail archive of the
cygwin-developers@cygwin.com
mailing list for the Cygwin project.
Re: cygthread::cygthread() hang
Christopher,
Here's a trace of the hang occuring, if you have any ideas.
Emacs has a periodic timer going at all times. It looks like maybe
the timer causes a SIGALRM during a blocking read, and that is killing
a cygthread that is in the middle of creation?
I checked for detach() being called by non-creator -- it does not happen.
At the moment I am adding more debugging output to try and see what is clobbering
cygthread->h.
119 422018333 [main] emacs 757 readv: readv (6, 0x22A2D8, 1) blocking, sigcatchers 18
112206 422130539 [win] emacs 757 wndproc 275 WM_TIMER 1 0
278 422130817 [win] emacs 757 kill: kill (757, 14)
224 422131041 [win] emacs 757 sig_dispatch_pending: pending_signals 0
148 422131189 [win] emacs 757 sig_dispatch_pending: no need to wake anything up
148 422131337 [win] emacs 757 sig_send: pid 757, signal 14, its_me 1
180 422131517 [win] emacs 757 sig_send: Waiting for thiscomplete 0x74
13 422131530 [sig] emacs 757 wait_sig: awake
275 422131805 [sig] emacs 757 wait_sig: processing signal 14
160 422131965 [sig] emacs 757 wait_sig: Got signal 14
145 422132110 [sig] emacs 757 sig_handle: signal 14
156 422132266 [sig] emacs 757 sig_handle: signal 14, about to call 0x20125D64
204 422132470 [sig] emacs 757 interruptible: pc 0x6108DE8E, h 0x61000000, interruptible 0, testvalid 0
229 422132699 [sig] emacs 757 interruptible: pc 0x200A606E, h 0x20000000, interruptible 1, testvalid 0
138 422132837 [sig] emacs 757 proc_subproc: args: 3, 1
130 422132967 [sig] emacs 757 proc_subproc: clear waiting threads
129 422133096 [sig] emacs 757 proc_subproc: finished clearing
131 422133227 [sig] emacs 757 proc_subproc: returning 1
135 422133362 [sig] emacs 757 interrupt_setup: armed signal_arrived 0x1B0, res 1
179 422133541 [sig] emacs 757 setup_handler: signal successfully delivered
140 422133681 [sig] emacs 757 setup_handler: returning 1
127 422133808 [sig] emacs 757 sig_handle: returning 1
140 422133948 [sig] emacs 757 wait_sig: looping
6 422133954 [win] emacs 757 sig_send: returning 0 from sending signal 14
280 422134234 [win] emacs 757 kill_worker: 0 = kill_worker (757, 14)
4350 422138584 [main] emacs 757 __set_errno: void set_sig_errno(int):791 val 4
322 422138906 [main] emacs 757 call_signal_handler_now: sa_flags 0x10000000
162 422139068 [main] emacs 757 reset_signal_arrived: reset signal_arrived
146 422139214 [main] emacs 757 set_process_mask: old mask = 0, new mask = 2000
150 422139364 [main] emacs 757 sig_dispatch_pending: pending_signals 0
132 422139496 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
171 422139667 [main] emacs 757 set_process_mask: old mask = 2000, new mask = 0
144 422139811 [main] emacs 757 sig_dispatch_pending: pending_signals 0
148 422139959 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
163 422140122 [main] emacs 757 __set_errno: ssize_t readv(int, const iovec*, int):490 val 0
160 422140282 [main] emacs 757 sig_dispatch_pending: pending_signals 0
140 422140422 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
144 422140566 [main] emacs 757 readv: readv (6, 0x22A2D8, 1) blocking, sigcatchers 18
97394 422237960 [win] emacs 757 wndproc 275 WM_TIMER 1 0
277 422238237 [win] emacs 757 kill: kill (757, 14)
208 422238445 [win] emacs 757 sig_dispatch_pending: pending_signals 0
155 422238600 [win] emacs 757 sig_dispatch_pending: no need to wake anything up
147 422238747 [win] emacs 757 sig_send: pid 757, signal 14, its_me 1
193 422238940 [win] emacs 757 sig_send: Waiting for thiscomplete 0x74
5 422238945 [sig] emacs 757 wait_sig: awake
281 422239226 [sig] emacs 757 wait_sig: processing signal 14
130 422239356 [sig] emacs 757 wait_sig: Got signal 14
129 422239485 [sig] emacs 757 sig_handle: signal 14
126 422239611 [sig] emacs 757 sig_handle: signal 14, about to call 0x20125D64
200 422239811 [sig] emacs 757 interruptible: pc 0x6108DE8E, h 0x61000000, interruptible 0, testvalid 0
238 422240049 [sig] emacs 757 interruptible: pc 0x200A606E, h 0x20000000, interruptible 1, testvalid 0
140 422240189 [sig] emacs 757 proc_subproc: args: 3, 1
128 422240317 [sig] emacs 757 proc_subproc: clear waiting threads
128 422240445 [sig] emacs 757 proc_subproc: finished clearing
127 422240572 [sig] emacs 757 proc_subproc: returning 1
128 422240700 [sig] emacs 757 interrupt_setup: armed signal_arrived 0x1B0, res 1
129 422240829 [sig] emacs 757 setup_handler: signal successfully delivered
202 422241031 [sig] emacs 757 setup_handler: returning 1
137 422241168 [sig] emacs 757 sig_handle: returning 1
138 422241306 [sig] emacs 757 wait_sig: looping
7 422241313 [win] emacs 757 sig_send: returning 0 from sending signal 14
275 422241588 [win] emacs 757 kill_worker: 0 = kill_worker (757, 14)
4467 422246055 [main] emacs 757 __set_errno: void set_sig_errno(int):791 val 4
334 422246389 [main] emacs 757 call_signal_handler_now: sa_flags 0x10000000
157 422246546 [main] emacs 757 reset_signal_arrived: reset signal_arrived
149 422246695 [main] emacs 757 set_process_mask: old mask = 0, new mask = 2000
151 422246846 [main] emacs 757 sig_dispatch_pending: pending_signals 0
127 422246973 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
163 422247136 [main] emacs 757 set_process_mask: old mask = 2000, new mask = 0
147 422247283 [main] emacs 757 sig_dispatch_pending: pending_signals 0
161 422247444 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
152 422247596 [main] emacs 757 __set_errno: ssize_t readv(int, const iovec*, int):490 val 0
160 422247756 [main] emacs 757 sig_dispatch_pending: pending_signals 0
146 422247902 [main] emacs 757 sig_dispatch_pending: no need to wake anything up
147 422248049 [main] emacs 757 readv: readv (6, 0x22A2D8, 1) blocking, sigcatchers 18
469 422248518 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
211 422248729 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
170 422248899 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
191 422249090 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
168 422249258 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
165 422249423 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
166 422249589 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
175 422249764 [main] emacs 757 cygthread::cygthread: waiting for (null)<0x0> to become active
--
Joe Buehler