This is the mail archive of the cygwin 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: zsh: command not found => hangs



On Sun, 28 Aug 2005, Pavel Tsekov wrote:

> Hello,
>
> I did trace this problem an it looks like a race in Cygwin but I may be
> wrong. Here I am providing two backtraces from a debug session - the first
> one shows what happens normally and the second one shows the hang:

[...]

Just as a confirmation that what you see in the debug output is true here
is the return address to which the signal handler must return when zsh
hangs:

(gdb) x $eip
0x10049293 <zhandler+3>:        0x5794458d
(gdb) disass zhandler 0x10049293 + 3
Dump of assembler code from 0x10049290 to 0x10049296:
0x10049290 <zhandler+0>:        push   %ebp
0x10049291 <zhandler+1>:        mov    %esp,%ebp
0x10049293 <zhandler+3>:        lea    0xffffff94(%ebp),%eax
End of assembler dump.
(gdb) x $esp+4
0x22eb68:       0x6101e498
(gdb) x 0x6101e498
0x6101e498 <_ZN7_cygtls19call_signal_handlerEv+140>:    0xfffc458b

This address points after the `call' instructions which invokes the
signall handler i.e. as if it is a normal call. When everything is ok the
return address is set to the address of sigreturn.

Another thing I noticed is that when the hang occurs the stack pointer
for zhandler lives at a different address which seems strange - again
this may be irrelevant .

--
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/


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