[Bug 254995] pthread_cond_timedwait() returns EDEADLK
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Oct 2021 13:34:49 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254995 --- Comment #9 from nkoch@demig.de --- After inspecting the source of libthread, I see that the temporary workaround (ignoring EDEADLK) cannot work. The hexdump of the mutex after calling pthread_cond_timedwait() shows that it is owned by the thread according to m_lock.m_owner. But it is not in the threads mutex queue as it should be. That would trigger mutex_assert_isowned() in dequeue_mutex() when calling pthread_mutex_unlock(). So I think the mutex is in an inconsistent state. I will try to reproduce the problem with some added debug logging in libpthread. -- You are receiving this mail because: You are the assignee for the bug.