delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/10/12/08:16:44

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: Wed, 12 Oct 2005 15:18:00 +0300
From: Pavel Tsekov <ptsekov AT gmx DOT net>
To: cygwin AT cygwin DOT com
Subject: Re: handle_threadlist_exception: handle_threadlist_exception called with threadlist_ix -1
In-Reply-To: <20051011150127.GB14140@trixie.casa.cgf.cx>
Message-ID: <Pine.CYG.4.58.0510121448440.1312@mordor>
References: <SERRANOzGZuNY1SWoBD0000004f AT SERRANO DOT CAM DOT ARTIMI DOT COM> <20050901144331 DOT GH18595 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT CYG DOT 4 DOT 58 DOT 0510061616570 DOT 1556 AT mordor> <20051006141933 DOT GB17445 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT CYG DOT 4 DOT 58 DOT 0510061735120 DOT 1140 AT mordor> <20051006150019 DOT GA6197 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT CYG DOT 4 DOT 58 DOT 0510061840550 DOT 1524 AT mordor> <Pine DOT CYG DOT 4 DOT 58 DOT 0510111733550 DOT 1460 AT mordor> <20051011150127 DOT GB14140 AT trixie DOT casa DOT cgf DOT cx>
MIME-Version: 1.0
X-Y-GMX-Trusted: 0
X-IsSubscribed: yes

On Tue, 11 Oct 2005, Christopher Faylor wrote:

> I don't see how ignoring blocked signals would cause a SEGV however.

Well... indirectly they do :) I hope you are not too annoyed already
because this time I really found the cause of the problem.

Assume a signal is sent to a thread with pthread_kill() but the thread is
blocking the signal and in doesn't get processed through it's lifetime.
The thread dies but the signal still remains in the singal queue.
Something triggeres the processing of the signal - sig_dispatch_pending()
in my case (which is called as part of pthread_sigmask()). As part of the
processing the 'tls' member of sigpacket is dereferenced but at that time
it is already invalid.

I'll try to post a testcase ASAP which demonstrates the problem.



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