[Bug 254995] pthread_cond_timedwait() returns EDEADLK
[email protected] Thu, 07 Oct 2021 13:34:49 +0000
| Newsgroups | gmane.os.freebsd.devel.threading |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254995 --- Comment #9 from [email protected] --- 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.