This doesn't seem related to mir code - it looks more like a flaw with Qt DBus/QMutex .
From the gdb dump, Thread 11 is waiting on a Qt signal to be dispatched (BlockedQueuedConnection), so an event is posted to the main thread (Thread #1) which should signal the semaphore given.
Thread 1 seems to be responding to a DBus event waiting on a mutex lock through syscall(__NR_futex, FUTEX_WAIT,....)
It's not apparent from the gdb dump why Thread #1 is stuck there.
This doesn't seem related to mir code - it looks more like a flaw with Qt DBus/QMutex .
From the gdb dump, Thread 11 is waiting on a Qt signal to be dispatched (BlockedQueuedC onnection) , so an event is posted to the main thread (Thread #1) which should signal the semaphore given.
Thread 1 seems to be responding to a DBus event waiting on a mutex lock through syscall(__NR_futex, FUTEX_WAIT,....)
It's not apparent from the gdb dump why Thread #1 is stuck there.