[issue12310] Segfault in test_multiprocessing

2011-06-17 Thread STINNER Victor
STINNER Victor added the comment: test_multiprocessing pass with success on PPC Tiger 3.x (and x86 Tiger 3.x, but the segfaults only occurred on PPC), but this issue is a sporadic issue. I close the issue because I hope that it is closed, but reopen it if you still see segfaults on PPC Tiger

[issue12310] Segfault in test_multiprocessing

2011-06-17 Thread STINNER Victor
STINNER Victor added the comment: Let's try on "real" buildbots. If the commit fixes the issue on 3.x, I will port the fix to Python 2.7. -- ___ Python tracker ___

[issue12310] Segfault in test_multiprocessing

2011-06-17 Thread Roundup Robot
Roundup Robot added the comment: New changeset e6e7e42efdc2 by Victor Stinner in branch '3.2': Issue #12310: finalize the old process after _run_after_forkers() http://hg.python.org/cpython/rev/e6e7e42efdc2 New changeset a73e5c1f57d7 by Victor Stinner in branch 'default': (Merge 3.2) Issue #123

[issue12310] Segfault in test_multiprocessing

2011-06-11 Thread STINNER Victor
STINNER Victor added the comment: > Would it be possible to try this on the buildbot to see if it fixes > the segfaults? You can fork cpython, modify the code, and run a custom buildbot on your clone. -- ___ Python tracker

[issue12310] Segfault in test_multiprocessing

2011-06-11 Thread Charles-François Natali
Charles-François Natali added the comment: Yes, I also tried this. This fixed the test_multiprocessing failure, but I think it triggered a failure in test_concurrent_futures (didin't look in more detail). Would it be possible to try this on the buildbot to see if it fixes the segfaults? -

[issue12310] Segfault in test_multiprocessing

2011-06-11 Thread Antoine Pitrou
Antoine Pitrou added the comment: Less disruptive approach: old_process = _current_process _current_process = self try: util._finalizer_registry.clear() util._run_after_forkers() finally: del old_process This will delay finali

[issue12310] Segfault in test_multiprocessing

2011-06-11 Thread Charles-François Natali
Charles-François Natali added the comment: I think it might be related to Issue #6721. Using a mutex/condition variable after fork (from the child process) is unsafe: it can lead to deadlocks, and on OS-X, it seems like it can lead to segfaults. Normally, Queue's synchronization primitives ar

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread STINNER Victor
STINNER Victor added the comment: It looks like the sentinel doesn't handle fatal death of the child process: test test_multiprocessing crashed -- Traceback (most recent call last): File "./Lib/test/regrtest.py", line 1043, in runtest_inner File "/Users/db3l/buildarea/3.x.bolen-tiger/build

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread STINNER Victor
STINNER Victor added the comment: Le vendredi 10 juin 2011 à 09:40 +, Antoine Pitrou a écrit : > There are several crashes in test_signal Commit a17710e27ea2 should fix some (all?) test_signal crashes. -- ___ Python tracker

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread STINNER Victor
STINNER Victor added the comment: > Victor, how can there be hundreds of crashes? > Isn't the process supposed to terminate when a crash occurs? Yes, a process does terminate on SIGSEGV, but multiprocessing creates subprocesses: I suppose that crashes occur in child processes. For test_signal

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread Antoine Pitrou
Antoine Pitrou added the comment: Victor, how can there be hundreds of crashes? Isn't the process supposed to terminate when a crash occurs? There are several crashes in test_signal, so it's not only test_multiprocessing: Thread 0xa000d000: File "/Users/db3l/buildarea/3.x.bolen-tiger/build

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread STINNER Victor
STINNER Victor added the comment: > a5c8b6ebe895: new sigwait() test using thread (issue #8407) > 6d6099f7fe89: add sentinels to multiprocessing (issue #9205) The first segfaults occured in build #2719 (cedceeb45030): http://www.python.org/dev/buildbot/all/builders/x86%20Tiger%203.x/builds/271

[issue12310] Segfault in test_multiprocessing

2011-06-10 Thread STINNER Victor
New submission from STINNER Victor : test_multiprocessing segfaults in a loop. The crash occurs in _Condition.release() on waiter.release(), called from Queue._finalize_close(). Possible related changes: - a5c8b6ebe895: new sigwait() test using thread (issue #8407) - 6d6099f7fe89: add sentin