This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Win8 issue with pthread_once in ctor? (Re: Is there someone who have a same problem ?)
- From: "Yaakov (Cygwin/X)" <yselkowitz at users dot sourceforge dot net>
- To: cygwin at cygwin dot com
- Date: Wed, 22 Jan 2014 23:20:20 -0600
- Subject: Win8 issue with pthread_once in ctor? (Re: Is there someone who have a same problem ?)
- Authentication-results: sourceware.org; auth=none
- References: <CA+WgaY86qXwc9ywzjmU1x8B9WrpFnsQzFtvs6q5JLTRDFsEvHQ at mail dot gmail dot com> <52DF5A6F dot 2030509 at users dot sourceforge dot net> <CA+WgaY-7sVhxcKyaY=FZpSbiG3JW8N+KHRAh=oXyh_A3bWeH5A at mail dot gmail dot com> <52E03E99 dot 9050205 at users dot sourceforge dot net>
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