Mutex init failure trying to run Scribus

René Berber r.berber@computer.org
Fri Dec 16 02:01:00 GMT 2005


Brian Dessent wrote:
[snip]
>   if ((static_ptr1 && *object == static_ptr1) ||
>       (static_ptr2 && *object == static_ptr2) ||
>       (static_ptr3 && *object == static_ptr3))
>     return VALID_STATIC_OBJECT;
>   if ((*object)->magic != magic)

Changing the line above to:

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

reduces the number of SIGSEGV to just 2 (in the same place); that means this
inline function was de-referencing zero, like you said below.

>     return INVALID_OBJECT;
>   return VALID_OBJECT;
> 
> On the other hand, it would be nice to know what is calling
> pthread_key_create on a null pointer, since that sounds like a buglet,
> but due to the above it's a benign situation.

Looks like Qt3 does a pretty dumb initialization of what it calls pool of
mutexes, I'm still looking into this.  So far I've been unable to build the full
Qt3 toolset.

But thanks to your help I think I've advanced a bit.
-- 
René Berber


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list