Assertions when glibc uses lock elision

guile: ../nptl/pthread_mutex_lock.c:80: __pthread_mutex_cond_lock: Assertion mutex->__data.__owner == 0' failed.

gc's testsuite also randomly asserts. Strangely, it seems to happen at the start of the program or not at all.

The fix_tsx_bug branch in its current state (commit 757af8aa) works on x86_64 but not i686, which continues to assert.

Meanwhile, the glibc developers assert that this is not their bug.

I tried obtaining backtraces, but gdb could not read any thread's stack frames post-assertion.