[issue25122] test_eintr randomly fails on FreeBSD

STINNER Victor report at bugs.python.org
Thu Sep 17 00:06:48 CEST 2015


STINNER Victor added the comment:

Ok, I'm now quite sure that it's a bug in the FreeBSD kernel or in the BSD C library.

The C library ignores EINTR: if the close() syscalls fails with EINTR, the C close() function returns a success.

When the close() syscall fails with EINTR, the test hangs. It's unclear to me if the close() syscall fails with EINTR in the parent or in the child process. I'm quite sure that the FreeBSD truss tool (tool to trace syscalls) has bugs too, so it's hard to be sure what happens exactly.

Attached tarball eintr_bug.tar.gz reproduces the bug in a program written in pure C language. So it's not a bug in Python.

For test_eintr, we should skip the test on FreeBSD (until the bug is fixed in FreeBSD).

----------
Added file: http://bugs.python.org/file40485/eintr_bug.tar.gz

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue25122>
_______________________________________


More information about the Python-bugs-list mailing list