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
Task Type Bug Report
Category Packages
Status Closed
Assigned To Evgeniy Alexeev (arcan1s)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

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
Comment by Clemmitt Sigler (cmsigler) - Wednesday, 22 August 2018, 21:26 GMT
I apologize for the category Packages: Extra. It's Community, of course.

Clemmitt
Comment by Clemmitt Sigler (cmsigler) - Wednesday, 22 August 2018, 21:45 GMT
And apologies for another comment.

I rebuilt canorus via makepkg -- core dumps exactly the same way :(

Clemmitt
Comment by Clemmitt Sigler (cmsigler) - Thursday, 30 August 2018, 00:38 GMT
Hello all,

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
Comment by Clemmitt Sigler (cmsigler) - Monday, 03 September 2018, 21:46 GMT
Hi,

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
Comment by Evgeniy Alexeev (arcan1s) - Tuesday, 04 September 2018, 11:55 GMT
I played around with it, but still wasn't able to fix it. Currently I just removed this patch and allowed to build it with deprecation warnings.

Loading...