Mutex init failure trying to run Scribus

René Berber
Fri Dec 16 02:01:00 GMT 2005

Brian Dessent wrote:
>   if ((static_ptr1 && *object == static_ptr1) ||
>       (static_ptr2 && *object == static_ptr2) ||
>       (static_ptr3 && *object == static_ptr3))
>   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:
Problem reports:

More information about the Cygwin-xfree mailing list