Seg Fault at Start - Fedora 22

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
Post Reply
jsallustio
Posts: 5
Joined: Tue Jul 14, 2015 11:11 pm
Real Name: John Sallustio

System: Fedora 22
Python Version: 2.7.9/3.4.2
QLC+ built from source

At startup QlC+ fails with a Segmentation fault. The journal shows "detected unhandled Python exception"

traceback shows: segmentation fault. #0 __GI___pthread_mutex_lock (mutex=mutex@entry=0x20) at ../nptl/pthread_mutex_lock.c:67 67%09 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);

I am going to go out on a limb and say it has something to do with a change in python versions. I have a Fedora20 that works just fine. Python Versions 2.7.5/3.3.2

What other information would you like me to provide?
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Hi,

Can you provide the whole backtrace ?
janosvitok
Posts: 1331
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

Hi,

standard QLC+ doesn't use python at all. How did python get in the game?
Can you post full traceback? QLC+ version (if built from git, please post git commit hash or "git describe")
jsallustio
Posts: 5
Joined: Tue Jul 14, 2015 11:11 pm
Real Name: John Sallustio

here is the gdb trace

program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___pthread_mutex_lock (mutex=mutex@entry=0x20) at ../nptl/pthread_mutex_lock.c:67
67 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);

strace is attached due to size.
Attachments
strace.txt
(461.76 KiB) Downloaded 48 times
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

This is not a full backtrace.
This is only the first line.
Can you type "bt" in gdb and post the result here ?


Also as Jano asked, please provide the git commit this crash happens on.


And do you have any USB device connected to the computer ?
jsallustio
Posts: 5
Joined: Tue Jul 14, 2015 11:11 pm
Real Name: John Sallustio

After a couple of cups of coffee this AM, I had a thought after reading through the strace again. It has a couple of issues not finding USB right before it crashes. This is running in a VM with no USB attached, it shouldn't find a USB, nor would I think QLC+ would necessarily require it. For grins I passed a USB controller through, and Volia! It loads up just fine.

Lesson learned....QLC+ requires USB to properly run. Not sure if anyone knew about this quirk before.

Plugz, you were replying as I was as well. You hit the nail on the head with the USB. Didn't see any mention of USB in the forums, i dug for awhile.
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Yes, it looks like so.

Could you please provide the backtrace so the crash can be fixed in QLC+ code ?

Thanks.
jsallustio
Posts: 5
Joined: Tue Jul 14, 2015 11:11 pm
Real Name: John Sallustio

Yup, i was just getting it together for you.

#0 __GI___pthread_mutex_lock (mutex=mutex@entry=0x20)
at ../nptl/pthread_mutex_lock.c:67
67 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);
(gdb) bt
#0 __GI___pthread_mutex_lock (mutex=mutex@entry=0x20)
at ../nptl/pthread_mutex_lock.c:67
#1 0x00007fd423d57ffc in libusb_get_device_list (ctx=0x0,
list=list@entry=0x7ffc7d3c3c88) at core.c:671
#2 0x00007fd4241ae2bd in QLCFTDI::widgets () at qlcftdi-libftdi.cpp:122
#3 0x00007fd4241934bf in DMXUSB::rescanWidgets (this=0x2536620)
at dmxusb.cpp:66
#4 0x00007fd4c6723929 in IOPluginCache::load (this=0x1970c60, dir=...)
at ioplugincache.cpp:74
#5 0x00007fd4c612b703 in App::initDoc (this=this@entry=0x7ffc7d3c4800)
at app.cpp:441
#6 0x00007fd4c6130a26 in App::init (this=this@entry=0x7ffc7d3c4800)
at app.cpp:236
#7 0x00007fd4c613210e in App::startup (this=this@entry=0x7ffc7d3c4800)
at app.cpp:168
#8 0x00000000004025ca in main (argc=1, argv=<optimized out>) at main.cpp:328
janosvitok
Posts: 1331
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

this is the faulting line in libusb1:
https://github.com/libusb/libusb/blob/e ... ore.c#L671

Isn't usb_init() missing somewhere? (it seems that ftdi_init doesn't call it).
Post Reply