mixxx segfaults when sending a midi message to a piece of hardware that has been removed

Bug #1057715 reported by Kane Leja
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Critical
RJ Skerry-Ryan

Bug Description

this is for mixxx 1.11.0 beta

If I have my quneo plugged in and successfully controlling mixxx, then accidentally unplug the quneo, Mixxx will freeze and seg fault when it tries to send midi output to the quneo.

this is on linux debian, 64bit AMD processor, Xonar DX audio card

this segfault occurs very regularly with the quneo, although i have no other hardware with which to test it.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hi Daniel -- could you get a backtrace for the segfault?

Mixxx indeed does not like it when you unplug USB devices.

http://mixxx.org/wiki/doku.php/creating_backtraces

Thanks!
RJ

Changed in mixxx:
importance: Undecided → Critical
milestone: none → 1.11.0
Revision history for this message
Kane Leja (wolfbiter) wrote :
Download full text (42.7 KiB)

kane@maui-wowie:~/quneo-mixxx/mixxx$ gdb ./mixxx
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/kane/quneo-mixxx/mixxx/mixxx...done.
(gdb) set height 0
(gdb) run --resourcePath /home/kane/quneo-mixxx/mixxx/res/
Starting program: /home/kane/quneo-mixxx/mixxx/mixxx --resourcePath /home/kane/quneo-mixxx/mixxx/res/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Debug [Main]: Mixxx 1.11.0-beta2-pre "(bzr trunk r3298; built on: Sep 24 2012 @ 04:30:36; flags: bulk hid hifieq mad optimize=6 qdebug shoutcast vamp verbose vinylcontrol)" is starting...
Debug [Main]: Qt version is: 4.8.2
Debug [Main]: Upgrading from v1.9.x/1.10.x...
Debug [Main]: Copying midi/ to controllers/
Debug [Main]: Copying "/home/kane/.mixxx/midi/Midi_Through_Port-0.midi.xml" to "/home/kane/.mixxx/controllers/Midi_Through_Port-0.midi.xml"
Debug [Main]: Failed to copy file during upgrade.
Debug [Main]: Upgrade Failed
Warning [Main]: Configuration file is at version "1.10.1" instead of the current 1.11.0-beta2-pre
Debug [Main]: Setting qResourcePath from location in resourcePath commandline arg: "/home/kane/quneo-mixxx/mixxx/res/"
Debug [Main]: Loading translations for locale "en_US" from translations folder "/home/kane/quneo-mixxx/mixxx/res/translations/" : fail
Debug [Main]: ConfigObject: Could not read ""
[New Thread 0x7fffe00bd700 (LWP 28251)]
[New Thread 0x7fffdf741700 (LWP 28252)]
Warning [Main]: ControlObject::getControl returning NULL for ( "[Channel1]" , "vinylcontrol_mode" )
Warning [Main]: ControlObject::getControl returning NULL for ( "[Channel2]" , "vinylcontrol_mode" )
Debug [Main]: JACK client name set
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.AV200.pcm.hdmi.0:CARD=2,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM hdmi
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.AV200.pcm.hdmi.0:CARD=2,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM hdmi
ALSA lib c...

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

OK -- some good news. This is not a segfault but an unceremonious exit(-1) on the part of PortMidi. Basically whenever PortMIDI encounters an error while writing a short message or doing other things it exit(-1)'s if it was compiled with the PM_CHECK_ERRORS pre-processor flag.

The bad news is that if you got the PortMIDI binary from a popular software repository (e.g. Ubuntu or Debian packages) then we have to get in contact with the maintainer and get them to build it without that symbol defined.

Daniel -- how / where do you get your PortMIDI binaries from? Did you compile yourself or install from a package?

We should double check we do not compile PortMIDI with this flag turned on for the Windows / Mac builders. Sean -- can you double-check on Windows and I will check the OS X builder?

Changed in mixxx:
status: New → Confirmed
assignee: nobody → RJ Ryan (rryan)
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hey Daniel -- any updates RE: my questions in post #3?

Revision history for this message
Kane Leja (wolfbiter) wrote :

I used the command:

sudo aptitude install portaudio19-dev

Sorry for the long wait in response!

Revision history for this message
Kane Leja (wolfbiter) wrote :

I'm about to install mixxx on a new debian environment - I'll let you know which package I use, and recreate the problem to see if it's still there.

Revision history for this message
Kane Leja (wolfbiter) wrote :

After going through the above procedure on the fresh environment, the same -1 exit code occurred. I for sure installed the portaudio19-dev package.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Good news -- the PortMIDI Debian maintainer is looking at fixing this.

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6646

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.