delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/28/14:10:52

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Authenticated: #14308112
Date: Sun, 28 Aug 2005 21:11:06 +0300
From: Pavel Tsekov <ptsekov AT gmx DOT net>
X-X-Sender: ptsekov AT mordor
To: cygwin AT cygwin DOT com
Subject: Re: zsh: command not found => hangs
In-Reply-To: <Pine.CYG.4.58.0508281417030.624@mordor>
Message-ID: <Pine.CYG.4.58.0508282059330.1612@mordor>
References: <20050823205318 DOT GF6716 AT bouh DOT ens-lyon DOT fr> <Pine DOT LNX DOT 4 DOT 60 DOT 0508241620460 DOT 19032 AT gremlin DOT fruitbat DOT org> <20050825001137 DOT GI7338 AT bouh DOT ens-lyon DOT fr> <Pine DOT LNX DOT 4 DOT 60 DOT 0508251406580 DOT 19032 AT gremlin DOT fruitbat DOT org> <20050825220454 DOT GR7662 AT bouh DOT ens-lyon DOT fr> <Pine DOT LNX DOT 4 DOT 60 DOT 0508251537490 DOT 19032 AT gremlin DOT fruitbat DOT org> <20050826005349 DOT GA4087 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT LNX DOT 4 DOT 60 DOT 0508261033310 DOT 19032 AT gremlin DOT fruitbat DOT org> <20050826191429 DOT GA2034 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT LNX DOT 4 DOT 60 DOT 0508261329430 DOT 19032 AT gremlin DOT fruitbat DOT org> <Pine DOT CYG DOT 4 DOT 58 DOT 0508281417030 DOT 624 AT mordor>
MIME-Version: 1.0
X-Y-GMX-Trusted: 0
X-IsSubscribed: yes


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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019