Comment 2 for bug 1757517

Revision history for this message
Moosfet (moosfet) wrote :

To see the problem in Jack, this example from the Jack project can do it:

https://github.com/jackaudio/example-clients/blob/master/simple_client.c

Just add the "static __thread anything[8 * 1048576]" to it and previously-working code begins doing this instead:

Cannot create thread res = 22
JackMessageBuffer::Create cannot start thread
Cannot create message buffer
Cannot create thread res = 22
Cannot start Jack client listener
Cannot start channel
JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
jack_client_open() failed, status = 0x21

At least on my system, to get that output, the size of the allocation must be at least 514025 bytes. Using one byte less, it successfully connects, but then segfaults later in a call to jack_activate();