Win8 issue with pthread_once in ctor? (Re: Is there someone who have a same problem ?)

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Thu Jan 23 05:20:00 GMT 2014


On 2014-01-22 15:56, Yaakov (Cygwin/X) wrote:
>> I believe that there is a problem when p11-kit command runs on the
>> cygwin64 under Windows 8.
>
> Confirmed with a fresh Windows 8 x64 installation, but not with 8.1.
> I'll have to look into this further.

Here's what I've found so far:

So far only with Cygwin64 on Windows 8.0 x64 (but not with Cygwin32 even 
on 8.0 x64, nor with Cygwin64 on Windows 7 or 8.1), running any of the 
p11-kit commands in ca-certificates' postinstall under strace shows an 
exception c0000005 at 0x180134b75 immediately after loading 
/usr/lib/pkcs11/p11-kit-trust.so, which translates to:

$ addr2line -fp -e /usr/bin/cygwin1.dll 0x180134b75
verifyable_object_isvalid at 
/usr/src/debug/cygwin-1.7.27-2/winsup/cygwin/thread.cc:144

And eventually on a call to that function:

verifyable_object_isvalid (objectptr=objectptr@entry=0x239c68, 
magic=magic@entry=3742232649, static_ptr1=static_ptr1@entry=0x0, 
static_ptr2=static_ptr2@entry=0x0, static_ptr3=static_ptr3@entry=0x0)
at /usr/src/debug/cygwin-1.7.27-2/winsup/cygwin/thread.cc:140
140   if((static_ptr1 && *object == static_ptr1) ||
144   if((*object)->magic != magic)
[Inferior 1 exited with code 030000000005]

Now the strange thing about this module is that it has a constructor 
which calls pthread_once() on a function which creates a recursive 
mutex, so just dlopen()ing is enough.  Unfortunately, my attempts to 
reproduce this with an STC have not been successful.

Corinna, cgf, any insights?


Yaakov


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



More information about the Cygwin mailing list