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]

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


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