X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0	tests=AWL,BAYES_00,KHOP_THREADED,SPF_NEUTRAL,TW_GJ,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <4FBD08B0.50209@cornell.edu>
Date: Wed, 23 May 2012 11:56:32 -0400
From: Ken Brown <kbrown@cornell.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: "emacs -nw" hangs in a terminal
References: <7rmx513ol1.fsf@ws796-of-spb.ru.yotateam.com> <4FBA12C7.4070305@cornell.edu> <4FBA5FDA.7080801@cornell.edu> <20120521162908.GP7763@calimero.vinschen.de> <4FBA8EA0.4040905@cornell.edu> <20120522112828.GA9200@calimero.vinschen.de> <4FBB7BA6.9000409@cornell.edu> <20120522134119.GB9200@calimero.vinschen.de> <20120522134932.GC9200@calimero.vinschen.de> <4FBCD166.8080101@cornell.edu> <20120523141538.GI9200@calimero.vinschen.de>
In-Reply-To: <20120523141538.GI9200@calimero.vinschen.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-PMX-CORNELL-SPAM-CHECKED: Pawpaw
X-Original-Sender: kbrown@cornell.edu - Wed May 23 11:56:48 2012
X-PMX-CORNELL-REASON: CU_White_List_Override
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On 5/23/2012 10:15 AM, Corinna Vinschen wrote:
> On May 23 08:00, Ken Brown wrote:
> I don't know what this has to do with the longjmp, but the thread
> which gets crated right after pressing Ctrl-G is due to a select or
> poll call.  The descriptor is a pipe, fifo, or pty.

After the longjmp, emacs has finished processing the C-g and goes back 
into its idle loop, in which it repeatedly calls select.

gdb doesn't normally show the threads created by select.  If it did, it 
would always create voluminous output.  Can you infer anything from the 
fact that it shows this one?

> The problem with stackdumps is that the addresses only make sense
> for a single version of the Cygwin DLL.  If that's a self-built
> version, what does `addr2line -e /bin/cygwin1.dll 610CFA77' print?
> If it's 1.7.15, please install the cygwin-debug package and call
> the same addr2line.
>
> I assume the address corresponds to select.cc, line 625, but I'm
> quite busy with the pthread_cancel stuff, so I didn't look deeper
> into this problem.

Yes, that's correct.  (I'm using the 20120516 snapshot.)

>> eax=80106D50 ebx=34322D73 ecx=766231E7 edx=00000000 esi=00000001
>> edi=00000050
>> ebp=048FACC8 esp=048FACA0
>> program=C:\cygwin\home\kbrown\src\emacs\test-nox\src\emacs.exe, pid
>> 6492, thread pipesel
>                 ^^^^^^^
> Yes, that's exactly the created thread.  Do you happen to know what
> kind of descriptor has been given to select at this point?  Is that
> a pty master side perhaps?

Based on the emacs code, I think that's right.  But maybe I need to 
download the source for the snapshot I'm using (or build cygwin1.dll 
myself) so that I can step through the first call to select after the 
longjmp and see exactly where the crash is happening.

Ken


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

