Mutex init failure trying to run Scribus

Brian Dessent
Sun Dec 11 12:09:00 GMT 2005

René Berber wrote:

> versions of gdb and also Microsoft's WinDbg, all show the same problem "Program
> received signal SIGSEGV ... in pthread_key_create".  I'll look into this
> tomorrow, I've used gdb under XWindows in HP-UX and Solaris but this is the
> first time under Cygwin/X, perhaps something is different.

You can ignore that.  Just type "continue" and things will work fine. 
There is probably a way you instruct gdb to automatically ignore this
but I don't know what it is off the top of my head.

The reason you get that is because of the verifyable_object business
where a data structure is checked for a magic number before continuing,
but in this case the thing being checked is an uninitialized pointer. 
However this is handled by design with the "efault" mechanism which
installs a temporary SEH handler that allows the code to specify "if
something segfaults in the current lexical block, don't bail out but
instead do the following", as can be seen in

  myfault efault;
  if (efault.faulted ())
    return INVALID_OBJECT;

  if ((static_ptr1 && *object == static_ptr1) ||
      (static_ptr2 && *object == static_ptr2) ||
      (static_ptr3 && *object == static_ptr3))
  if ((*object)->magic != magic)
    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.


Unsubscribe info:
Problem reports:

More information about the Cygwin-xfree mailing list