deadlock using RMX 2 controller

Bug #1520619 reported by Daniel Schürmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
High
Daniel Schürmann

Bug Description

Today I experience a strange deadlock using the Hecules RMX 2 controller.

I keep investigating, but here a backtrace as start:

Debug [Main]: 2 output sound devices opened
Debug [Main]: 0 input sound devices opened
Debug []: SSE: Enabling denormals to zero mode
Debug []: SSE: Enabling flush to zero mode
Debug []: SSE: Denormals to zero mode is working
Debug [Main]: DlgPrefVinyl::Apply
Warning [Main]: Unexpected number of vinyl speed preference items
Debug [Main]: in VinylGainSlotApply() with gain: 0 dB
[Thread 0x7fffd272c700 (LWP 9853) exited]
[Thread 0x7fff75b95700 (LWP 9852) exited]
Debug [Main]: Destroying MixxxMainWindow
Debug [Main]: save config 2
Debug [Main]: delete soundmanager 3
[Thread 0x7fff76396700 (LWP 9863) exited]
Debug [Main]: delete view 50
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: ~DlgAutoDJ()
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: ~WTrackTableView()
Debug [Main]: ~DlgTrackInfo()
Debug [Main]: ~WLibraryTableView
Debug [Main]: delete ControllerManager 151
^C
Program received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185 ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Datei oder Verzeichnis nicht gefunden.
(gdb) thread apply all bt

Thread 31 (Thread 0x7fff76b97700 (LWP 9850)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffefe9ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff552f7be in QEventDispatcherGlib::processEvents (this=
    0x7ffee40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4 0x00007ffff55010af in QEventLoop::processEvents (this=this@entry=
    0x7fff76b96da0, flags=...) at kernel/qeventloop.cpp:149
#5 0x00007ffff55013a5 in QEventLoop::exec (this=this@entry=0x7fff76b96da0,
    flags=...) at kernel/qeventloop.cpp:204
#6 0x00007ffff53fdc5f in QThread::exec (this=this@entry=0x7fff780a1cc0)
    at thread/qthread.cpp:537
#7 0x00007ffff54e2823 in QInotifyFileSystemWatcherEngine::run (this=
    0x7fff780a1cc0) at io/qfilesystemwatcher_inotify.cpp:265
#8 0x00007ffff540032f in QThreadPrivate::start (arg=0x7fff780a1cc0)
    at thread/qthread_unix.cpp:349
#9 0x00007ffff31e6182 in start_thread (arg=0x7fff76b97700)
    at pthread_create.c:312
#10 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

---Type <return> to continue, or q <return> to quit---
Thread 30 (Thread 0x7fff777a8700 (LWP 9849)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffefe9ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff552f7be in QEventDispatcherGlib::processEvents (
    this=0x7ffeec0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4 0x00007ffff55010af in QEventLoop::processEvents (
    this=this@entry=0x7fff777a7ca0, flags=...) at kernel/qeventloop.cpp:149
#5 0x00007ffff55013a5 in QEventLoop::exec (this=this@entry=0x7fff777a7ca0,
    flags=...) at kernel/qeventloop.cpp:204
#6 0x00007ffff53fdc5f in QThread::exec (this=this@entry=0x40a32930)
    at thread/qthread.cpp:537
#7 0x00000000009df62d in LibraryScanner::run (this=0x40a32930)
    at src/library/scanner/libraryscanner.cpp:159
#8 0x00007ffff540032f in QThreadPrivate::start (arg=0x40a32930)
    at thread/qthread_unix.cpp:349
#9 0x00007ffff31e6182 in start_thread (arg=0x7fff777a8700)
    at pthread_create.c:312
#10 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 29 (Thread 0x7fff81628700 (LWP 9848)):
---Type <return> to continue, or q <return> to quit---
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff59efffb in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2 0x00007ffff59f0039 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3 0x00007ffff31e6182 in start_thread (arg=0x7fff81628700)
    at pthread_create.c:312
#4 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 28 (Thread 0x7fff81e29700 (LWP 9847)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x3a21470)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x3987bd0,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158

#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x39d8720,
    n=n@entry=1) at thread/qsemaphore.cpp:144

#4 0x0000000000b82104 in VSyncThread::run (this=0x39d86e0)
    at src/waveform/vsyncthread.cpp:101
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x39d86e0)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fff81e29700)
---Type <return> to continue, or q <return> to quit---
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 27 (Thread 0x7fff837fe700 (LWP 9846)):
#0 __memmove_ssse3_back ()
    at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1546
#1 0x00007ffff541d653 in memmove (__len=5930616, __src=<optimized out>,
    __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string3.h:57
#2 QListData::insert (this=this@entry=0x11ebd10, i=i@entry=741327)
    at tools/qlist.cpp:328
#3 0x00007ffff55062dc in insert (t=..., before=..., this=0x11ebd10)
    at ../../include/QtCore/../../src/corelib/tools/qlist.h:454
#4 addEvent (ev=..., this=0x11ebd10)
    at ../../include/QtCore/private/../../../src/corelib/thread/qthread_p.h:126
#5 QCoreApplication::postEvent (receiver=0x388b2a8,
    event=event@entry=0x7ffeb1fab030, priority=priority@entry=0)
    at kernel/qcoreapplication.cpp:1391
#6 0x00007ffff5506427 in QCoreApplication::postEvent (
    receiver=<optimized out>, event=event@entry=0x7ffeb1fab030)
    at kernel/qcoreapplication.cpp:1311
#7 0x00007ffff5516bdc in queued_activate (argv=0x7fff837fc6e0, c=0x388b980,
    signal=4, sender=0x2431990) at kernel/qobject.cpp:3419
---Type <return> to continue, or q <return> to quit---

#8 QMetaObject::activate (sender=sender@entry=0x2431990,
    m=m@entry=0xd78c80 <ControlDoublePrivate::staticMetaObject>,
    local_signal_index=local_signal_index@entry=0,
    argv=argv@entry=0x7fff837fc6e0) at kernel/qobject.cpp:3495
#9 0x00000000004f66c7 in ControlDoublePrivate::valueChanged (
    this=this@entry=0x2431990, _t1=_t1@entry=0, _t2=0x24313e0)
    at lin64_build/control/moc_control.cc:101
#10 0x00000000004eb1f7 in setInner (pSender=<optimized out>, value=0,
    this=0x2431990) at src/control/control.cpp:197
#11 ControlDoublePrivate::setAndConfirm (this=0x2431990, value=0,
    pSender=<optimized out>) at src/control/control.cpp:189
#12 0x0000000000829c9c in setAndConfirm (value=<optimized out>,
    this=<optimized out>) at src/controlobject.h:100
#13 EngineBuffer::slotControlPlayRequest (this=this@entry=0x241d010,
    v=<optimized out>) at src/engine/enginebuffer.cpp:673
#14 0x0000000000866523 in EngineBuffer::qt_static_metacall (_o=0x241d010,
    _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at lin64_build/engine/moc_enginebuffer.cc:92
#15 0x00007ffff551687a in QMetaObject::activate (
    sender=sender@entry=0x2431990,
    m=m@entry=0xd78c80 <ControlDoublePrivate::staticMetaObject>,
    local_signal_index=local_signal_index@entry=1,
    argv=argv@entry=0x7fff837fc8b0) at kernel/qobject.cpp:3539
---Type <return> to continue, or q <return> to quit---
#16 0x00000000004f6701 in ControlDoublePrivate::valueChangeRequest (
    this=this@entry=0x2431990, _t1=1) at lin64_build/control/moc_control.cc:108
#17 0x00000000004eb65c in ControlDoublePrivate::set (this=0x2431990,
    value=value@entry=1, pSender=pSender@entry=0x7fff78086110)
    at src/control/control.cpp:182
#18 0x0000000000507e9e in set (v=1, this=0x7fff78086110)
    at src/controlobjectthread.h:87
#19 slotSet (v=1, this=0x7fff78086110) at src/controlobjectthread.h:81
#20 ControllerEngine::setValue (this=this@entry=0x7fff78075380,
    group="[Channel2]", name="play", newValue=newValue@entry=1)
    at src/controllers/controllerengine.cpp:652
#21 0x00000000005bda51 in ControllerEngine::qt_static_metacall (
    _o=_o@entry=0x7fff78075380, _c=_c@entry=QMetaObject::InvokeMetaMethod,
    _id=_id@entry=16, _a=_a@entry=0x7fff837fd090)
    at lin64_build/controllers/moc_controllerengine.cc:268
#22 0x00000000005bed73 in ControllerEngine::qt_metacall (this=0x7fff78075380,
    _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0x7fff837fd090)
    at lin64_build/controllers/moc_controllerengine.cc:342
#23 0x00007ffff5a5bb32 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#24 0x00007ffff5a5cc59 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#25 0x00007ffff5a5cee9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#26 0x00007ffff5962118 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#27 0x00007ffff593ffc0 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4

---Type <return> to continue, or q <return> to quit---
#28 0x00007ffef0007606 in ?? ()
#29 0xc5d0e3a0f920a5a5 in ?? ()
#30 0x00007fff90044240 in ?? ()
#31 0x00007fff0000000d in ?? ()
#32 0x00007fff00000004 in ?? ()
#33 0x00007fff90040000 in ?? ()
#34 0x00007fff90042f00 in ?? ()
#35 0x00007fff90042880 in ?? ()
#36 0x00007fff90042a40 in ?? ()
#37 0x00007fff90042b40 in ?? ()
#38 0x00007ffef00073b0 in ?? ()
#39 0x00007fff80d78c20 in ?? ()
#40 0x00007fff76ba80c8 in ?? ()
#41 0x00007fff80d95a88 in ?? ()
#42 0x00007ffff5ceddc8 in __bss_start ()
   from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#43 0x00007fff80d94800 in ?? ()
#44 0x00007fff76ba8000 in ?? ()
#45 0x00007fff80d94800 in ?? ()
#46 0x00007fff80dd5f50 in ?? ()
#47 0x00007fff78025b38 in ?? ()
#48 0x00007fff76ba8060 in ?? ()
#49 0x00007fff80d78c08 in ?? ()
---Type <return> to continue, or q <return> to quit---
#50 0x00007ffff58f91f6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#51 0x00007ffff598e286 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#52 0x00007ffff596213f in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#53 0x00007ffff5a4963e in QScriptValue::call(QScriptValue const&, QList<QScriptValue> const&) () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#54 0x000000000050ea5a in ControllerEngine::slotValueChanged (
    this=this@entry=0x7fff78075380, value=0)
    at src/controllers/controllerengine.cpp:949
#55 0x00000000005bcc20 in ControllerEngine::qt_static_metacall (
    _o=0x7fff78075380, _c=<optimized out>, _id=2, _a=0x7ffecd57b2f0)
    at lin64_build/controllers/moc_controllerengine.cc:246
#56 0x00007ffff551ac1e in QObject::event (this=0x7fff78075380,
    e=<optimized out>) at kernel/qobject.cpp:1194
#57 0x00007ffff5edae2c in QApplicationPrivate::notify_helper (
    this=this@entry=0x1210230, receiver=receiver@entry=0x7fff78075380,
    e=e@entry=0x7ffecd57a8f0) at kernel/qapplication.cpp:4567
#58 0x00007ffff5ee14a0 in QApplication::notify (
    this=this@entry=0x7fffffffdf30, receiver=receiver@entry=0x7fff78075380,
    e=e@entry=0x7ffecd57a8f0) at kernel/qapplication.cpp:4353
#59 0x0000000000a37d2e in MixxxApplication::notify (this=0x7fffffffdf30,
    target=0x7fff78075380, event=0x7ffecd57a8f0)
    at src/mixxxapplication.cpp:138
#60 0x00007ffff55024dd in QCoreApplication::notifyInternal (this=
---Type <return> to continue, or q <return> to quit---
    0x7fffffffdf30, receiver=receiver@entry=0x7fff78075380,
    event=event@entry=0x7ffecd57a8f0) at kernel/qcoreapplication.cpp:953
#61 0x00007ffff5505b3d in sendEvent (event=0x7ffecd57a8f0,
    receiver=0x7fff78075380)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#62 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0,
    event_type=event_type@entry=0, data=0x3a75da0)
    at kernel/qcoreapplication.cpp:1577
#63 0x00007ffff5505fe3 in QCoreApplication::sendPostedEvents (
    receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1470
#64 0x00007ffff552ff83 in sendPostedEvents ()
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#65 postEventSourceDispatch (s=0x7fff78001350)
    at kernel/qeventdispatcher_glib.cpp:287
#66 0x00007fffefe9fe04 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#67 0x00007fffefea0048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007ffff552f7a1 in QEventDispatcherGlib::processEvents (
    this=0x7fff780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#70 0x00007ffff55010af in QEventLoop::processEvents (
---Type <return> to continue, or q <return> to quit---
    this=this@entry=0x7fff837fdde0, flags=...) at kernel/qeventloop.cpp:149
#71 0x00007ffff55013a5 in QEventLoop::exec (this=this@entry=0x7fff837fdde0,
    flags=...) at kernel/qeventloop.cpp:204
#72 0x00007ffff53fdc5f in QThread::exec (this=<optimized out>)
    at thread/qthread.cpp:537
#73 0x00007ffff540032f in QThreadPrivate::start (arg=0x39e2230)
    at thread/qthread_unix.cpp:349
#74 0x00007ffff31e6182 in start_thread (arg=0x7fff837fe700)
    at pthread_create.c:312
#75 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 26 (Thread 0x7fff83fff700 (LWP 9845)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007ffff2dcd248 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2 0x00007ffff31e6182 in start_thread (arg=0x7fff83fff700)
    at pthread_create.c:312
#3 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 25 (Thread 0x7fff90992700 (LWP 9844)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
---Type <return> to continue, or q <return> to quit---
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x3988850)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=this@entry=0x3986cf0,
    mutex=mutex@entry=0x3986ce8, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:158
#3 0x00000000004c1799 in AnalyserQueue::dequeueNextBlocking (this=this@entry=
    0x3986cb0) at src/analyserqueue.cpp:134
#4 0x00000000004c2ec3 in AnalyserQueue::run (this=0x3986cb0)
    at src/analyserqueue.cpp:292
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x3986cb0)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fff90992700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 24 (Thread 0x7fff91193700 (LWP 9843)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x3893be0)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=this@entry=0x3894528,
    mutex=mutex@entry=0x3894520, time=time@entry=18446744073709551615)
---Type <return> to continue, or q <return> to quit---
    at thread/qwaitcondition_unix.cpp:158
#3 0x00000000009027aa in BrowseThread::run (this=0x3894510)
    at src/library/browse/browsethread.cpp:79
#4 0x00007ffff540032f in QThreadPrivate::start (arg=0x3894510)
    at thread/qthread_unix.cpp:349
#5 0x00007ffff31e6182 in start_thread (arg=0x7fff91193700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 23 (Thread 0x7fff9218b700 (LWP 9842)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x35d9200)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x35d91b0,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158

#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x35d8f00,
    n=n@entry=1) at thread/qsemaphore.cpp:144

#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x35d8ef0)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x35d8ef0)
    at thread/qthread_unix.cpp:349
---Type <return> to continue, or q <return> to quit---
#6 0x00007ffff31e6182 in start_thread (arg=0x7fff9218b700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 22 (Thread 0x7fff935b1700 (LWP 9841)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x33a9600)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x33a95b0,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x33a9300,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x33a92f0)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x33a92f0)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fff935b1700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

---Type <return> to continue, or q <return> to quit---
Thread 21 (Thread 0x7fffa0a54700 (LWP 9840)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x317a170)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x317a120,

    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x3179e70,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x3179e60)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x3179e60)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffa0a54700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 20 (Thread 0x7fffa1e7a700 (LWP 9839)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x2f4a990)
    at thread/qwaitcondition_unix.cpp:86
---Type <return> to continue, or q <return> to quit---
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2f4a940,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x2f4a690,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x2f4a680)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x2f4a680)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffa1e7a700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 19 (Thread 0x7fffa32a0700 (LWP 9838)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x2df3680)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2df3630,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x2df3380,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x2df3370)
---Type <return> to continue, or q <return> to quit---
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x2df3370)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffa32a0700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 18 (Thread 0x7fffb8861700 (LWP 9837)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x2ab5210)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2ab51c0,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x2ab4f10,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x2ab4f00)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x2ab4f00)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffb8861700)
    at pthread_create.c:312
---Type <return> to continue, or q <return> to quit---
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 17 (Thread 0x7fffb9dc1700 (LWP 9836)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x27773c0)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x2777370,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x27770c0,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x27770b0)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x27770b0)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffb9dc1700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 16 (Thread 0x7fffbb2a0700 (LWP 9835)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x2429130)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x24290e0,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x2428e30,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x2428e20)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x2428e20)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffbb2a0700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 15 (Thread 0x7fffc0892700 (LWP 9834)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x20a4160)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=<optimized out>, mutex=mutex@entry=0x20a4110,
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
---Type <return> to continue, or q <return> to quit---
#3 0x00007ffff53fc95b in QSemaphore::acquire (this=this@entry=0x20a3e60,
    n=n@entry=1) at thread/qsemaphore.cpp:144
#4 0x00000000004e0e21 in CachingReaderWorker::run (this=0x20a3e50)
    at src/cachingreaderworker.cpp:118
#5 0x00007ffff540032f in QThreadPrivate::start (arg=0x20a3e50)
    at thread/qthread_unix.cpp:349
#6 0x00007ffff31e6182 in start_thread (arg=0x7fffc0892700)
    at pthread_create.c:312
#7 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 14 (Thread 0x7fffc2021700 (LWP 9833)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x2068600)
    at thread/qwaitcondition_unix.cpp:86

#2 QWaitCondition::wait (this=this@entry=0x2069100,
    mutex=mutex@entry=0x2069108, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:158
#3 0x0000000000b5dfd9 in VinylControlProcessor::run (this=0x20690b0)
    at src/vinylcontrol/vinylcontrolprocessor.cpp:133
#4 0x00007ffff540032f in QThreadPrivate::start (arg=0x20690b0)
    at thread/qthread_unix.cpp:349
---Type <return> to continue, or q <return> to quit---
#5 0x00007ffff31e6182 in start_thread (arg=0x7fffc2021700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fffc3a6c700 (LWP 9825)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x1647890)
    at thread/qwaitcondition_unix.cpp:86

#2 QWaitCondition::wait (this=this@entry=0x16475f8,
    mutex=mutex@entry=0x16475f0, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:158
#3 0x00000000008809c5 in EngineSideChain::run (this=0x1647580)
    at src/engine/sidechain/enginesidechain.cpp:104
#4 0x00007ffff540032f in QThreadPrivate::start (arg=0x1647580)
    at thread/qthread_unix.cpp:349

#5 0x00007ffff31e6182 in start_thread (arg=0x7fffc3a6c700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fffd2f2d700 (LWP 9824)):
---Type <return> to continue, or q <return> to quit---
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x14c8e90)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=this@entry=0x14a1170,
    mutex=mutex@entry=0x14a1178, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:158
#3 0x00000000008591d2 in EngineWorkerScheduler::run (this=0x14a1110)
    at src/engine/engineworkerscheduler.cpp:57
#4 0x00007ffff540032f in QThreadPrivate::start (arg=0x14a1110)
    at thread/qthread_unix.cpp:349
#5 0x00007ffff31e6182 in start_thread (arg=0x7fffd2f2d700)
    at pthread_create.c:312

#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fffd372e700 (LWP 9820)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffefe9ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffefea0129 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffefec4f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#5 0x00007ffff31e6182 in start_thread (arg=0x7fffd372e700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fffdb04c700 (LWP 9819)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffefe9ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

#2 0x00007fffefea030a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe4811336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007fffefec4f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff31e6182 in start_thread (arg=0x7fffdb04c700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fffe10b5700 (LWP 9818)):
#0 0x00007ffff167912d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fffefe9ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe10bd1ad in ?? ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so

#4 0x00007fffefec4f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff31e6182 in start_thread (arg=0x7fffe10b5700)
    at pthread_create.c:312
#6 0x00007ffff168647d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ffff7fa9800 (LWP 9814)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007ffff5400816 in wait (time=18446744073709551615, this=0x39cca10)
    at thread/qwaitcondition_unix.cpp:86
#2 QWaitCondition::wait (this=this@entry=0x39e5980,
    mutex=mutex@entry=0x39e5958, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:158
#3 0x00007ffff53ffefe in QThread::wait (this=<optimized out>,
    time=time@entry=18446744073709551615) at thread/qthread_unix.cpp:720
#4 0x0000000000528c65 in ControllerManager::~ControllerManager (
    this=0x398ebe0, __in_chrg=<optimized out>)
    at src/controllers/controllermanager.cpp:113
#5 0x0000000000528d49 in ControllerManager::~ControllerManager (
    this=0x398ebe0, __in_chrg=<optimized out>)
    at src/controllers/controllermanager.cpp:117
---Type <return> to continue, or q <return> to quit---
#6 0x0000000000a2791c in MixxxMainWindow::finalize (this=this@entry=0x1453cc0)
    at src/mixxx.cpp:558
#7 0x0000000000a2908c in MixxxMainWindow::confirmExit (this=0x1453cc0)
    at src/mixxx.cpp:2372
#8 0x0000000000a29289 in MixxxMainWindow::closeEvent (this=<optimized out>,
    event=0x7fffffffd7b0) at src/mixxx.cpp:2255
#9 0x00007ffff5f2a116 in QWidget::event (this=0x1453cc0, event=0x7fffffffd7b0)
    at kernel/qwidget.cpp:8545
#10 0x00007ffff5edae2c in QApplicationPrivate::notify_helper (
    this=this@entry=0x1210230, receiver=receiver@entry=0x1453cc0,
    e=e@entry=0x7fffffffd7b0) at kernel/qapplication.cpp:4567
#11 0x00007ffff5ee14a0 in QApplication::notify (
    this=this@entry=0x7fffffffdf30, receiver=receiver@entry=0x1453cc0,
    e=e@entry=0x7fffffffd7b0) at kernel/qapplication.cpp:4353
#12 0x0000000000a37d2e in MixxxApplication::notify (this=0x7fffffffdf30,
    target=0x1453cc0, event=0x7fffffffd7b0) at src/mixxxapplication.cpp:138
#13 0x00007ffff55024dd in QCoreApplication::notifyInternal (

    this=0x7fffffffdf30, receiver=receiver@entry=0x1453cc0,
    event=event@entry=0x7fffffffd7b0) at kernel/qcoreapplication.cpp:953
#14 0x00007ffff5f26989 in sendEvent (event=<optimized out>,
    receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231

#15 QWidgetPrivate::close_helper (this=0x1453fb0,
---Type <return> to continue, or q <return> to quit---
    mode=mode@entry=QWidgetPrivate::CloseWithSpontaneousEvent)
    at kernel/qwidget.cpp:7942
#16 0x00007ffff5f450b2 in translateCloseEvent (this=0x1453cc0)
    at kernel/qapplication_x11.cpp:5828
#17 QApplication::x11ClientMessage (this=<optimized out>, w=0x1453cc0,
    event=<optimized out>, passive_only=<optimized out>)
    at kernel/qapplication_x11.cpp:3204

#18 0x00007ffff5f54892 in QApplication::x11ProcessEvent (this=0x7fffffffdf30,
    event=event@entry=0x7fffffffda50) at kernel/qapplication_x11.cpp:3888
#19 0x00007ffff5f7cb32 in x11EventSourceDispatch (s=0x1212000, callback=0x0,
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#20 0x00007fffefe9fe04 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fffefea0048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fffefea00ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0

#23 0x00007ffff552f7a1 in QEventDispatcherGlib::processEvents (this=0x1211390,
    flags=...) at kernel/qeventdispatcher_glib.cpp:434
#24 0x00007ffff5f7cbe6 in QGuiEventDispatcherGlib::processEvents (
    this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007ffff55010af in QEventLoop::processEvents (
    this=this@entry=0x7fffffffde20, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007ffff55013a5 in QEventLoop::exec (this=this@entry=0x7fffffffde20,
---Type <return> to continue, or q <return> to quit---
    flags=...) at kernel/qeventloop.cpp:204
#27 0x00007ffff5506b79 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:1225
#28 0x00007ffff5ed937c in QApplication::exec () at kernel/qapplication.cpp:3828
#29 0x0000000000481b0e in main (argc=1, argv=<optimized out>)
    at src/main.cpp:315

Revision history for this message
Daniel Schürmann (daschuer) wrote :
Download full text (8.6 KiB)

This is a log where is continues after the dead lock:

Debug [Main]: delete ControllerManager 487
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 33 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 33 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 33 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
Debug [Controller]: Controller polling stopped.
Debug [Controller]: Deleting PortMIDI devices...
Debug [Controller]: PortMIDI device "Midi Through Port-0" already closed
Debug [Controller]: Shutting down engine
Debug [Controller]: ControllerEngine shutting down...
Warning [Controller]: ControllerEngine: No "" object in script
Debug [Controller]: ControllerEngine: Executing "DJCRMX2" . "shutdown"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel2],VuMeter"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel2],VuMeter"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel2],VuMeter"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel2],VuMeter"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel2],VuMeter"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],hotcue_1_enabled"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],hotcue_1_enabled"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],pfl"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],filterHighKill"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],hotcue_4_enabled"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],hotcue_4_enabled"
Debug [Controller]: "Destroying static MIDI output handler on DJConsole Rmx2 MIDI 1 for [Channel1],beatloop_4_...

Read more...

Revision history for this message
Owen Williams (ywwg) wrote :

So it's getting hung up in ~ControllerManager, at m_pThread->wait(). The thread gets told to quit in slotShutdown, which gets called as a response to a requestShutdown signal, which is fired by the destructor itself. Maybe add some qdebugs to see if the signal is getting processed? Is this a case where the connection is the wrong type?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Debug [Controller]: sending MIDI bytes: 144 , 34 , 0
 ... is the cue_default mapping.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

The ControllerEngine hangs sending "play"

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

(Daniel, next time please attach the log & backtrace in a text file instead of pasting it in the comment/description.)

I've seen this issue too with the VMS4 on occasion, where Mixxx appears to hang on shutdown, but simply doing something on the controller allows it to complete. We had this issue initially when the ControllerEngine was introduced in 1.10 I think and it was fixed shortly after, so this appears to be a regression. (We used timed polling to get around the problem since the longest it would hang would be the timer interval.)

Revision history for this message
Daniel Schürmann (daschuer) wrote :

If a controller keeps sending contentiously garbage, Mixxx sticks in a while loop independent from the polling interval.
I cannot reproduce the issue today so probably the bad state was fixed in my controller due to a power up reset.
Since Mixxx buffers up to 64 Midi messages = 64 ms between the pool, there reason for polling twice or more in one poll slod.
I will prepare a pull request, that removes the loop for this.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

https://github.com/mixxxdj/mixxx/pull/790 this should fix the deadlock.
Now it works like Sean expect it.

Changed in mixxx:
status: New → Fix Released
assignee: nobody → Daniel Schürmann (daschuer)
importance: Undecided → Medium
RJ Skerry-Ryan (rryan)
Changed in mixxx:
milestone: none → 2.0.0
importance: Medium → High
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/8342

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.