delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/02/23/12:28:26

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00
X-Spam-Check-By: sourceware.org
Message-ID: <4B841026.1000905@gmail.com>
Date: Tue, 23 Feb 2010 17:28:06 +0000
From: Andrew West <andrewwest AT gmail DOT com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Statically initialising pthread attributes in dynamic dlls.
References: <4B825D76 DOT 6000105 AT gmail DOT com> <4B82C093 DOT 7010001 AT gmail DOT com> <4B83A727 DOT 3030101 AT gmail DOT com>
In-Reply-To: <4B83A727.3030101@gmail.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
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

On 23/02/2010 10:00, Andrew West wrote:
> With the code I'm testing against, the exception handler isn't called 
> in the library and it bombs out there. :(
> The dll initialisation stuff calls '_cygtls::init_exception_handler' 
> but it doesn't insert it because it finds it's already
> there ( from test.exe I guess ), or at least it doesn't hit my break 
> point in '_cygtls::reset_fault' during the call
> to pthread_mutexattr_init.
>

Further to this ( possibly instead of this ). When the code reaches this 
point inside the call to pthread_mutexattr_init;

if ((*object)->magic != magic)

Shouldn't the SEH contain the cytls exception handler as the first item 
in the list? I seem to have 4 things before it;

(gdb) info w32 selector
Selector $cs
<snip>
0x03b: base=0x7ffdf000 limit=0x00000fff 32-bit Data (Read/Write, Exp-up)
<snip>
(gdb) x/wx 0x7ffdf000
0x7ffdf000:     0x0022c628
(gdb) x/2wx 0x0022c628
0x22c628:       0x0022c8d4      0x7c90e920
(gdb) x/x 0x7c90e920
0x7c90e920 <strchr+275>:        0x83ec8b55
(gdb) x/2wx 0x0022c8d4
0x22c8d4:       0x0022cb7c      0x7c90e920
(gdb) x/x 0x7c90e920
0x7c90e920 <strchr+275>:        0x83ec8b55
(gdb) x/2wx 0x0022cb7c
0x22cb7c:       0x0022cbe4      0x7c90e920
(gdb) x/x 0x7c90e920
0x7c90e920 <strchr+275>:        0x83ec8b55
(gdb) x/2wx 0x0022cbe4
0x22cbe4:       0x0022ce68      0x7c839ad8
(gdb) x/x 0x7c839ad8
0x7c839ad8 <ValidateLocale+688>:        0x83ec8b55
(gdb) x/2wx 0x0022ce68
0x22ce68:       0x0022ffe0      0x61028d70
(gdb) x/x 0x61028d70
0x61028d70 
<_ZN7_cygtls17handle_exceptionsEP17_EXCEPTION_RECORDP15_exception_listP8_CONTEXTPv>: 
0x57e58955
(gdb) x/2wx 0x0022ce68
0x22ce68:       0x0022ffe0      0x61028d70
(gdb) x/x 0x61028d70
0x61028d70 
<_ZN7_cygtls17handle_exceptionsEP17_EXCEPTION_RECORDP15_exception_listP8_CONTEXTPv>: 
0x57e58955
(gdb) x/x 0x0022ffe0
0x22ffe0:       0xffffffff

No idea if I'm even in the right area with this, or am I looking at this 
list in the wrong order... and should the cygtls exception handler 
really be in the list twice?

Andy


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

- Raw text -


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