GUI lockup after loading song

Bug #197697 reported by Wesley Stessens
4
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Undecided
ironstorm

Bug Description

Sometimes the GUI locks up after loading a song onto on of the decks/players.
It doesn't matter if you drag it or load it using right-click -> load in player 1 or 2

Compiled with: optimize=2 shoutcast=1
Sound API: ALSA with 44100Hz sample rate
Type of media was MP3
Skin: Collusion WS 1280
SVN rev. 1870

Backtrace:

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread -1250703648 (LWP 12250)]
0xffffe410 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 12 (Thread -1404060784 (LWP 12264)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb69cd5e7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6f3dda1 in ?? () from /usr/lib/libportaudio.so.2
#3 0xae582f30 in ?? ()
#4 0x00000001 in ?? ()
#5 0xb6f3e62f in ?? () from /usr/lib/libportaudio.so.2
#6 0xb2ba158c in ?? ()
#7 0xac4fb380 in ?? ()
#8 0x00000339 in ?? ()
#9 0xac4fb380 in ?? ()
#10 0xac4fb388 in ?? ()
#11 0x00000000 in ?? ()

Thread 11 (Thread -1395668080 (LWP 12263)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x081ec266 in VinylControlXwax::run (this=0xae7ce7c0) at src/vinylcontrolxwax.cpp:128
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0xae7ce7c0 in ?? ()
#6 0x00000000 in ?? ()

Thread 10 (Thread -1378882672 (LWP 12262)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x081ec266 in VinylControlXwax::run (this=0x870bcf0) at src/vinylcontrolxwax.cpp:128
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x0870bcf0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#6 0x00000000 in ?? ()

Thread 8 (Thread -1370489968 (LWP 12260)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb69cd5e7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x081b9bce in MidiObjectALSASeq::run (this=0x848b528) at src/midiobjectalsaseq.cpp:250
#3 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#4 0x0848b528 in ?? ()
#5 0x00000000 in ?? ()

Thread 7 (Thread -1358107760 (LWP 12259)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x08173ad9 in BpmDetector::run (this=0x848fe10) at src/bpmdetector.cpp:129
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x0848fe10 in ?? ()
#6 0x00000000 in ?? ()

Thread 6 (Thread -1349715056 (LWP 12258)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x08172a41 in WaveSummary::run (this=0x84cfa48) at src/wavesummary.cpp:81
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x084cfa48 in ?? ()
#6 0x00000000 in ?? ()

Thread 5 (Thread -1341322352 (LWP 12256)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb69d02a1 in select () from /lib/tls/i686/cmov/libc.so.6
---Type <return> to continue, or q <return> to quit---
#2 0xb7208f82 in ?? () from /usr/lib/libQtCore.so.4
#3 0x0000000c in ?? ()
#4 0x00000000 in ?? ()

Thread 4 (Thread -1317123184 (LWP 12255)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x081b1dbe in EngineSideChain::run (this=0x8410680) at src/enginesidechain.cpp:145
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x08410680 in ?? ()
#6 0x00000000 in ?? ()

Thread 3 (Thread -1301013616 (LWP 12254)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x0812fd87 in Reader::run (this=0x8408f48) at src/reader.cpp:256
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x08408f48 in ?? ()
#6 0x00000000 in ?? ()

Thread 2 (Thread -1286796400 (LWP 12253)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f24676 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb716e29d in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3 0x0812fd87 in Reader::run (this=0x83f55d0) at src/reader.cpp:256
#4 0xb716deb5 in ?? () from /usr/lib/libQtCore.so.4
#5 0x083f55d0 in ?? ()
#6 0x00000000 in ?? ()

---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread -1250703648 (LWP 12250)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb69cd5e7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb72e8839 in ?? () from /usr/lib/libX11.so.6
#3 0x083abd90 in ?? ()
#4 0x00000001 in ?? ()
#5 0xb7398b2c in ?? () from /usr/lib/libX11.so.6
#6 0x083ad428 in ?? ()
#7 0xb7398b2c in ?? () from /usr/lib/libX11.so.6
#8 0x083ad428 in ?? ()
#9 0x00000000 in ?? ()
(gdb)

Revision history for this message
Tom Jennings (tomj-wps) wrote :

I get this almost frequently; it seems much more likely when 'waveform' is on (eg. not SIMPLE). It also occurs right after player load from internal list (eg playlist or play queue) did not try drag'n'drop.

Compiled with optimize=3 djconsole_legacy=1

Still able to control with Hercules Control MP3, only the Qt interface stops updating. Herea re screen shots including partial stderr log.
# It's stuck, and I put an xterm on it
http://www.wps.com/temp/stuck-mixxx2.png

# Then alt-tab'ed it below mixxx. Damage visible.
http://www.wps.com/temp/stuck-mixxx.png

Will figure out how to generate backtrace and post on next occurrence.

Revision history for this message
ironstorm (ironstorm-gmail) wrote :

I experince this from time to time, where the UI thread bombs out after a waveform load. However, you can still play / stop music using the Herc console.

This looks likes a dup of #192165 to me though.

Revision history for this message
Tom Jennings (tomj-wps) wrote :

Still occurring for me. The Qt window stopped updating after I loaded the track shown below. Both players operable using Hercules Control MP3.

I suspect, but cannot document, that the Xlib error shown below is part of this.

...
Xlib: unexpected async reply (sequence 0x350486f)!
Debug: WaveSummary generation successful for "02 - Mind_Distortion_System - Herbal_Analysis.mp3"
Debug: BPM detection successful for "02 - Mind_Distortion_System - Herbal_Analysis.mp3"

lockup here

Restart mixx, reload above track, no problem.

Ubuntu 7.10, kernel 2.6.22-14-rt
i915 video
alsa audio
svn 1877 djconsole_legacy=1 optimize=1

Revision history for this message
Tom Jennings (tomj-wps) wrote :

Mixxx coredumped after X errors. Not repeatable with same track loads (tried to duplicate actions, but who knows).

Note Xlib involve again /Warning: X Error: BadLength (poly request too large or internal Xlib length error) 16/ I see Xlib errors in debug often.
...
Debug: WaveSummary generation successful for "07 - Tristan_Vs_Prometheus - Grow_More_Pot.mp3"
Debug: BPM detection successful for "07 - Tristan_Vs_Prometheus - Grow_More_Pot.mp3"
Debug: file length 40131072
Debug: WaveSummary generation successful for "04 - Shamonk - Talking_to_Fred.mp3"
Warning: X Error: BadMatch (invalid parameter attributes) 8
  Major opcode: 56 (X_ChangeGC)
  Resource id: 0x0
Warning: X Error: BadRequest (invalid request code or no such operation) 1
  Extension: 209 (Uknown extension)
  Minor opcode: 0 (Unknown request)
  Resource id: 0x0
Warning: X Error: BadRequest (invalid request code or no such operation) 1
  Extension: 198 (Uknown extension)
  Minor opcode: 0 (Unknown request)
  Resource id: 0x0
Warning: X Error: BadLength (poly request too large or internal Xlib length error) 16
  Major opcode: 101 (X_GetKeyboardMapping)
  Resource id: 0x0
Warning: X Error: BadLength (poly request too large or internal Xlib length error) 16
  Major opcode: 27 (X_UngrabPointer)
  Resource id: 0x0
Warning: X Error: BadLength (poly request too large or internal Xlib length error) 16
  Major opcode: 27 (X_UngrabPointer)
  Resource id: 0x0
Warning: mixxx: Fatal IO error: client killed
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
root@oOo:~#

Ubuntu 7.10, kernel 2.6.22-14-rt
i915 video
alsa audio
svn 1877 djconsole_legacy=1 optimize=1

Revision history for this message
ironstorm (ironstorm-gmail) wrote :

This bug is the same as #192165... I've committed a fix (r1959) which will make takes the responsibility of updating waveformSummary widget away from the waveformSummary generation thread and gives it back to the UI thread, where it needs to be in order to avoid XLib errors.

Changed in mixxx:
assignee: nobody → ironstorm-gmail
status: New → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
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/issue/4930

lock status: Metadata changes locked and limited to project staff
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/4930

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.