FS#59760 - [canorus] core dumps when starting up
Attached to Project:
Community Packages
Opened by Clemmitt Sigler (cmsigler) - Wednesday, 22 August 2018, 21:25 GMT
Last edited by Evgeniy Alexeev (arcan1s) - Tuesday, 04 September 2018, 11:56 GMT
Opened by Clemmitt Sigler (cmsigler) - Wednesday, 22 August 2018, 21:25 GMT
Last edited by Evgeniy Alexeev (arcan1s) - Tuesday, 04 September 2018, 11:56 GMT
|
Details
Description:
I installed community/canorus 0.7.3rc3-1. It doesn't run. It core dumps on startup. The splash screen says "Initializing Scripting engine". That is all. Error: "Fatal Python error: PyEval_AcquireThread: NULL new thread state Current thread 0x00007fc2295e0fc0 (most recent call first): Aborted (core dumped)" I wonder if the latest python 3.7.0-3 update came *after* canorus was last rebuilt? Just speculating -- I could be clueless. Searching for similar errors doesn't turn up consistent information for me. (I did read this: "Your error usually implies that there's two or more versions of Python installed on the system and the application is not using the correct Python for both the executable and the libraries." Source: https://github.com/ninia/jep/issues/75 ) Additional info: community/canorus 0.7.3rc3-1 local/python 3.7.0-3 local/qt5-svg 5.11.1-1 (qt qt5) local/qt5-webengine 5.11.1-3 (qt qt5) local/alsa-lib 1.1.6-1 local/zlib 1:1.2.11-3 local/linux 4.18.3.arch1-1 (base) uname -rv: 4.18.3-arch1-1-ARCH #1 SMP PREEMPT Sat Aug 18 09:22:54 UTC 2018 Steps to reproduce: 1.) Install community/canorus 0.7.3rc3-1 2.) Run canorus in command prompt in terminal 3.) Quickly results in crash/core dump TIA. Clemmitt Sigler |
This task depends upon
Closed by Evgeniy Alexeev (arcan1s)
Tuesday, 04 September 2018, 11:56 GMT
Reason for closing: Fixed
Additional comments about closing: 0.7.3rc3-2
Tuesday, 04 September 2018, 11:56 GMT
Reason for closing: Fixed
Additional comments about closing: 0.7.3rc3-2
Clemmitt
I rebuilt canorus via makepkg -- core dumps exactly the same way :(
Clemmitt
A canorus developer bought me a clue to start debugging. Please see this post and thread:
https://sourceforge.net/p/canorus/discussion/1966463/thread/8ea57b08/#ba1e/f86a/b9da
The crash is triggered here:
#5 0x000055555560fcad in CASwigPython::init() ()
at /home/siglercm/AUR/multimedia_audio/canorus/canorus-svn/src/trunk/src/scripting/swigpython.cpp:85
which is the result of "PyEval_AcquireThread(state);" in the python-3.7.patch.
HTH.
Clemmitt
I've made a little progress on canorus not working with Python 3.7. Here is a work-in-progress patch:
https://pastebin.com/FEyz6cJU
It still crashes but not where the original patch does. That crash is caused by passing a NULL thread state pointer to PyEval_AcquireThread(PyThreadState *tstate). The docs explicitly say not to pass NULL.
I don't understand how and why the python interpreter threading is being used as it is in canorus because there are no in-line comments. Maybe someone who's more experienced with the Python/C API and using its threads can easily see the errors in logic.
HTH a little.
Clemmitt