TaylorSMarks / playsound

Pure Python, cross platform, single function module with no dependencies for playing sounds.
Other
517 stars 114 forks source link

Segmentation fault on macOS Python 3.12 #155

Open pavpanchekha opened 4 months ago

pavpanchekha commented 4 months ago

I'm using Python 3.12.3 (installed through Homebrew) on macOS 14.5 and seem to be getting a segmentation fault when trying to import playsound:

$ python3.12 --version
Python 3.12.3
$ python3.12 -m playsound
segmentation fault: 11

The same doesn't happen on Python 3.11:

$ python3.11 --version
Python 3.11.9
$ python3.11 -m playsound
Traceback (most recent call last):
  ...
IndexError: list index out of range

I am using playsound version 1.3.0, installed via pip, for both Python versions. The stack trace is kinda long but in case it's useful here it is:

Click this text to see the full stack trace ``` Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 Python 0x1013b6be8 PyObject_CallOneArg + 68 1 Python 0x1014ca5dc _PyErr_CreateException + 68 2 Python 0x1014ca84c _PyErr_SetObject + 128 3 Python 0x1014cc3fc PyErr_Format + 104 4 _objc.cpython-312-darwin.so 0x100e4d6d8 class_getattro + 1084 5 Python 0x10140c668 PyObject_GetAttr + 68 6 Python 0x10140c5a0 PyObject_GetAttrString + 88 7 _objc.cpython-312-darwin.so 0x100e4ddd0 class_setattro + 72 8 Python 0x10140ca84 PyObject_SetAttr + 124 9 Python 0x10140c970 PyObject_SetAttrString + 144 10 _objc.cpython-312-darwin.so 0x100e4cdf4 PyObjCClass_New + 960 11 _objc.cpython-312-darwin.so 0x100e4cb50 PyObjCClass_New + 284 12 _objc.cpython-312-darwin.so 0x100e4cb50 PyObjCClass_New + 284 13 _objc.cpython-312-darwin.so 0x100e4cb50 PyObjCClass_New + 284 14 _objc.cpython-312-darwin.so 0x100e67d18 PyObjC_RegisterMethodMapping + 72 15 _objc.cpython-312-darwin.so 0x100e0b538 PyObjC_setup_nsdecimal + 236 16 _objc.cpython-312-darwin.so 0x100e491d8 PyInit__objc + 368 17 Python 0x1014e2540 _PyImport_LoadDynamicModuleWithSpec + 524 18 Python 0x1014e1944 _imp_create_dynamic + 168 19 Python 0x1014070a8 cfunction_vectorcall_FASTCALL + 96 20 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 21 Python 0x1013b7e30 object_vacall + 212 22 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 23 Python 0x1014df160 PyImport_ImportModuleLevelObject + 1084 24 Python 0x10149add8 builtin___import__ + 172 25 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 26 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 27 Python 0x1013b7e30 object_vacall + 212 28 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 29 Python 0x1014df080 PyImport_ImportModuleLevelObject + 860 30 Python 0x1014a7fa4 _PyEval_EvalFrameDefault + 33112 31 Python 0x10149fbdc PyEval_EvalCode + 184 32 Python 0x10149c47c builtin_exec + 416 33 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 34 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 35 Python 0x1013b7e30 object_vacall + 212 36 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 37 Python 0x1014df160 PyImport_ImportModuleLevelObject + 1084 38 Python 0x1014a7fa4 _PyEval_EvalFrameDefault + 33112 39 Python 0x10149fbdc PyEval_EvalCode + 184 40 Python 0x10149c47c builtin_exec + 416 41 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 42 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 43 Python 0x1013b7e30 object_vacall + 212 44 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 45 Python 0x1014df160 PyImport_ImportModuleLevelObject + 1084 46 Python 0x1014a7fa4 _PyEval_EvalFrameDefault + 33112 47 Python 0x10149fbdc PyEval_EvalCode + 184 48 Python 0x10149c47c builtin_exec + 416 49 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 50 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 51 Python 0x1013b7e30 object_vacall + 212 52 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 53 Python 0x1014df160 PyImport_ImportModuleLevelObject + 1084 54 Python 0x1014a7fa4 _PyEval_EvalFrameDefault + 33112 55 Python 0x10149fbdc PyEval_EvalCode + 184 56 Python 0x10149c47c builtin_exec + 416 57 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 58 Python 0x1014ac3c0 _PyEval_EvalFrameDefault + 50548 59 Python 0x1013b7e30 object_vacall + 212 60 Python 0x1013b7d10 PyObject_CallMethodObjArgs + 104 61 Python 0x1014df160 PyImport_ImportModuleLevelObject + 1084 62 Python 0x1014a7fa4 _PyEval_EvalFrameDefault + 33112 63 Python 0x10149fbdc PyEval_EvalCode + 184 64 Python 0x10149c47c builtin_exec + 416 65 Python 0x1014071b0 cfunction_vectorcall_FASTCALL_KEYWORDS + 92 66 Python 0x1014aa80c _PyEval_EvalFrameDefault + 43456 67 Python 0x1015218b0 pymain_run_module + 200 68 Python 0x1015212c8 Py_RunMain + 720 69 Python 0x1015214b0 Py_BytesMain + 40 70 dyld 0x1847aa0e0 start + 2360 ```

I can try to debug more using the Python GDB scripts if it's helpful or not a known bug.