grpc server causes deadlock in libc

Christian Helmuth christian.helmuth at
Fri Oct 25 11:49:43 CEST 2019

Hello Stefan,

On Thu, Oct 24, 2019 at 15:41:46 CEST, Stefan Thöni wrote:
> The main thread 2 is waiting at pthread_cond_timedwait which blocks at a
> genode semaphore.
> How should we patch this?

The deadlock potential described in my previous mail was identified
some time ago but did not occur in our use cases. We are actually
working on this topic during our libc overhaul but are not finished
yet. What you could do in the mean time is to identify the cause of
this situation and try to solve it outside the libc.

- Why is the mutex hold during a blocking call to poll()? Could this
  be changed?
- How big is the timeout in pthread_cond_timedwait and should the main
  thread wake up to resolve the lock situation? Could the timeout be
  reduced and accompanied by a loop?
- Could the pthread support (resp. the use of multiple threads) be
  disabled in the RPC library?

Christian Helmuth
Genode Labs · · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list