handle_threadlist_exception: handle_threadlist_exception called with threadlist_ix -1

Pavel Tsekov ptsekov@gmx.net
Wed Oct 12 12:16:00 GMT 2005

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/

More information about the Cygwin mailing list