[Python-Dev] bsddb3 test hang

Martin v. Löwis martin@v.loewis.de
22 Jul 2003 00:15:48 +0200


Barry Warsaw <barry@python.org> writes:

> % strace -p 26615
> futex(0x82fb8c0, FUTEX_WAIT, 0, NULL

NPTL. 'Nuff said.

Regards,
Martin

P.S. Perhaps not: NPTL is the New Posix Threads Library, and it is an
attempt to make pthreads both standards-conforming and efficient on
Linux, by providing more kernel support, and building the library on
tof of this kernel support; the futex syscall is one of the
extensions. The NGPTL version of pthreads is supposed to be
binary-compatible with the old LinuxThreads library.

Unfortunately, there appears to be a number of inconsistencies, which
might be bugs in the application, bugs in NPTL, or mere failure to
provide binary compatibility.

For some reason, Redhat decided to include NPTL with Redhat 9, even
though it hasn't been released yet.

Unless you want to determine the cause of this problem, I recommend to
turn off NPTL. There is some magic environment variable that allows to
do that (LD_ASSUME_KERNEL), see

http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/release-notes/x86/