[issue43802] Seg fault on macOS using multiprocessing.JoinableQueue

Jacob Walls report at bugs.python.org
Sat Apr 10 23:38:25 EDT 2021


Jacob Walls <jacobtylerwalls at gmail.com> added the comment:

Thanks for this detailed reply. I reproduced on Python 3.9.4 on the same iMac from my original report running macOS 10.13.6, but with much lesser frequency (I wouldn't use the word "consistently" anymore).

I tried on a MacBook Pro with worn-out hardware running a newer OS (10.15.4) and could not reproduce the issue there. I also built cPython (Python 3.10.0a7+ (heads/master:ac05f82ad4, Apr 10 2021, 20:16:36) [Clang 10.0.0 (clang-1000.10.44.4)] on darwin) using --with-pydebug and ran the test case a few times on the good-hardware iMac, and observed the file parsing (predictably) slow to a crawl, but no reproduction of the segfault. This leads me to believe that, yes, this is a race condition I'm encountering on fast hardware.

Possibly related to issue-25769, since music21 makes heavy use of weakrefs and since music21.metadata.caching.MetadataCachingJob.run() calls gc.collect(). Perhaps I can look into engineering a minimal test case based on that discussion, involving a deliberately expensive __eq__() call.

To answer your original question: my first report on 3.9.2 was on this specific version:
3.9.2 (v3.9.2:1a79785e3e, Feb 19 2021, 09:06:10) \n[Clang 6.0 (clang-600.0.57)]

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43802>
_______________________________________


More information about the Python-bugs-list mailing list