You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Skip libpthread related test failures on OpenBSD #52958
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2013-01-17.12:31:10.376>created_at=<Date2010-05-14.14:13:56.813>labels= ['type-bug', 'tests']
title='Skip libpthread related test failures on OpenBSD'updated_at=<Date2013-01-17.12:31:10.374>user='https://github.com/skrah'
[Added OpenBSD Python port maintainers to the nosy list.]
I've identified a number of tests that all pass when Python is compiled
without threads, but fail otherwise. The failures are probably caused
by libpthread issues in OpenBSD, as described in this patch:
This looks reasonable. Perhaps you should add a reference to the relevant OpenBSD bug number(s) or URL(s), if any.
exarkun commented on May 14, 2010
exarkunmannequin
Mannequin
More actions
In addition to skipping the tests, would it also make sense to document these known limitations of Python threading on OpenBSD somewhere that end users might see it?
skrah commented on May 15, 2010
skrahmannequin
MannequinAuthor
More actions
I can't pinpoint the exact causes for each individual test failure. I assumed that they are caused by threading/signal issues, because the tests pass when Python is compiled --without-threads.
But here's a list of possible culprits for future reference:
Traceback (most recent call last):
File "/usr/home/db3l/buildarea/3.x.bolen-freebsd/build/Lib/test/test_subprocess.py", line 770, in test_send_signalself.assertIn(b'KeyboardInterrupt', stderr)
AssertionError: b'KeyboardInterrupt' not found in b''
Re documentation:
Another approach would be to configure builds on systems with known
threading issues --without-threads by default. Advantages:
a) Users will be immediately aware of the issues.
b) Less work with the FreeBSD-6.4 buildbot.
c) The --without-threads path is actually tested regularly.
skrah commented on May 15, 2010
skrahmannequin
MannequinAuthor
More actions
The gentoo-3.x buildbot also shows the threading problems again:
test test_subprocess failed -- Traceback (most recent call last):
File "/home/buildslave/python-trunk/3.x.norwitz-x86/build/Lib/test/test_subprocess.py", line 770, in test_send_signalself.assertIn(b'KeyboardInterrupt', stderr)
AssertionError: b'KeyboardInterrupt' not found in b''
Activity
skrah commentedon May 14, 2010
[Added OpenBSD Python port maintainers to the nosy list.]
I've identified a number of tests that all pass when Python is compiled
without threads, but fail otherwise. The failures are probably caused
by libpthread issues in OpenBSD, as described in this patch:
http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/python/2.6/patches/patch-Lib_test_test_signal_py
Would you agree that it is reasonable to skip all these tests until
libpthread is fixed?
pitrou commentedon May 14, 2010
This looks reasonable. Perhaps you should add a reference to the relevant OpenBSD bug number(s) or URL(s), if any.
exarkun commentedon May 14, 2010
In addition to skipping the tests, would it also make sense to document these known limitations of Python threading on OpenBSD somewhere that end users might see it?
skrah commentedon May 15, 2010
I can't pinpoint the exact causes for each individual test failure. I assumed that they are caused by threading/signal issues, because the tests pass when Python is compiled --without-threads.
But here's a list of possible culprits for future reference:
[pthread's execve(2) breaks close(2)]
http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=6183
[SIGCHLD handler is called at bad timing when linked to libpthread]
http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=6273
[pthread: 100% CPU usage after execv]
http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=6376
[pthread: file descriptors are "pseudo-blocking"]
http://www.mail-archive.com/misc@openbsd.org/msg80643.html
[test_siginterrupt_off broken by libpthread's internal hooking of signals]
[test_itimer_prof broken by libpthread's internal use of SIGPROF]
http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/python/2.6/patches/patch-Lib_test_test_signal_py
skrah commentedon May 15, 2010
The FreeBSD-6.4-RELEASE-i386 buildbot has similar libpthread issues.
This is just in:
======================================================================
FAIL: test_send_signal (test.test_subprocess.POSIXProcessTestCase)
----------------------------------------------------------------------
Re documentation:
Another approach would be to configure builds on systems with known
threading issues --without-threads by default. Advantages:
a) Users will be immediately aware of the issues.
b) Less work with the FreeBSD-6.4 buildbot.
c) The --without-threads path is actually tested regularly.
skrah commentedon May 15, 2010
The gentoo-3.x buildbot also shows the threading problems again:
References:
[gentoo-3.x]
http://bugs.python.org/issue4970
[freebsd-6.4]
http://bugs.python.org/issue3864
skrah commentedon Jan 17, 2013
All threading issues are fixed in OpenBSD 5.2.