SIGSEGV when using Beats::translate

Bug #1918671 reported by Jan Holthuis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Daniel Schürmann

Bug Description

If load a track and click the "Set current play position as beat" button next to the waveforms, Mixxx segfaults on the latest 2.3 branch.

$ git show --oneline
e24906fce0 (HEAD -> 2.3, upstream/2.3) Merge pull request #3683 from daschuer/editBpm2

GDB output:
Thread 1 "mixxx" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffed198c80 (LWP 11566)]
0x00007ffff3895437 in QMutex::lock() () from /usr/lib/libQt5Core.so.5
─── Assembly ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00007ffff3895430 ? xor %eax,%eax
0x00007ffff3895432 ? mov $0x1,%edx
0x00007ffff3895437 ? lock cmpxchg %rdx,(%rdi)
0x00007ffff389543c ? jne 0x7ffff389543f <_ZN6QMutex4lockEv+15>
0x00007ffff389543e ? ret
0x00007ffff389543f ? cmp $0x3,%rax
─── Expressions ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── History ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Memory ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0000000000000000 rdx 0x0000000000000001 rsi 0x0000000000000000
   rdi 0x0000000000000010 rbp 0x0000000000000010 rsp 0x00007fffffffcc88 r8 0x0000000000000000 r9 0x0000555557d8e580
   r10 0x000000007fffffff r11 0x0000000000000020 r12 0x00007fffffffccc0 r13 0x0000000000000003 r14 0x0000555557d8e580
   r15 0x0000555557d8e100 rip 0x00007ffff3895437 eflags [ PF ZF IF RF ] cs 0x00000033 ss 0x0000002b
    ds 0x00000000 es 0x00000000 fs 0x00000000 gs 0x00000000
─── Source ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─── Stack ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00007ffff3895437 in QMutex::lock()
(no arguments)
[1] from 0x000055555580fa10 in QMutexLocker::QMutexLocker at /usr/include/qt/QtCore/qmutex.h:233
arg m = 0x10
arg this = <synthetic pointer>
[+]
─── Threads ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[122] id 12075 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[121] id 12074 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[120] id 12073 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[119] id 12072 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[118] id 12071 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[117] id 12070 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[116] id 12069 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[115] id 12068 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[114] id 12067 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[113] id 12066 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[112] id 12065 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[111] id 12064 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[110] id 12063 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[109] id 12062 name Thread (pooled) from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[100] id 11687 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[99] id 11686 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[98] id 11685 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[97] id 11684 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[96] id 11683 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[95] id 11682 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[94] id 11681 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[93] id 11680 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[92] id 11679 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[91] id 11678 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[90] id 11677 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[89] id 11676 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[88] id 11675 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[87] id 11674 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[86] id 11673 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[85] id 11672 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[84] id 11671 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[83] id 11670 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[82] id 11669 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[81] id 11668 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[80] id 11667 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[79] id 11666 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[78] id 11665 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[77] id 11664 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[70] id 11657 name libusb_event from 0x00007ffff333937f in poll+79
[69] id 11655 name VSync from 0x00007ffff330c125 in clock_nanosleep@GLIBC_2.2.5
[68] id 11654 name mixxx:gdrv0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[67] id 11653 name Controller from 0x00007ffff333937f in poll+79
[66] id 11641 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[65] id 11640 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[64] id 11639 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[63] id 11638 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[62] id 11637 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[61] id 11636 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[60] id 11635 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[59] id 11634 name AnalyzerThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[58] id 11633 name BrowseThread from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[57] id 11632 name LibraryScanner from 0x00007ffff333937f in poll+79
[56] id 11631 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[55] id 11630 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[54] id 11629 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[53] id 11628 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[52] id 11627 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[51] id 11626 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[50] id 11625 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[49] id 11624 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[48] id 11623 name CachingReaderWo from 0x00007ffff333ea9d in syscall+29
[47] id 11622 name VinylControlPro from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[46] id 11621 name Mixxx from 0x00007ffff334439e in epoll_wait+94
[45] id 11620 name mixxx from 0x00007ffff334439e in epoll_wait+94
[32] id 11600 name EngineSideChain from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[31] id 11599 name EngineWorkerSch from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[30] id 11598 name mixxx:shlo4 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[29] id 11597 name mixxx:shlo3 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[28] id 11596 name mixxx:shlo2 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[27] id 11595 name mixxx:shlo1 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[26] id 11594 name mixxx:shlo0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[25] id 11593 name mixxx:sh11 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[24] id 11592 name mixxx:sh10 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[23] id 11591 name mixxx:sh9 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[22] id 11590 name mixxx:sh8 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[21] id 11589 name mixxx:sh7 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[20] id 11588 name mixxx:sh6 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[19] id 11587 name mixxx:sh5 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[18] id 11586 name mixxx:sh4 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[17] id 11585 name mixxx:sh3 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[16] id 11584 name mixxx:sh2 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[15] id 11583 name mixxx:sh1 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[14] id 11582 name mixxx:sh0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[13] id 11581 name mixxx:disk$3 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[12] id 11580 name mixxx:disk$2 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[11] id 11579 name mixxx:disk$1 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[10] id 11578 name mixxx:disk$0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[9] id 11577 name mixxx:cs0 from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[8] id 11576 name mixxx from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[7] id 11575 name StatsManager from 0x00007ffff34279ba in __futex_abstimed_wait_common64+202
[6] id 11574 name QDBusConnection from 0x00007ffff333937f in poll+79
[5] id 11573 name gdbus from 0x00007ffff333937f in poll+79
[4] id 11572 name dconf worker from 0x00007ffff333937f in poll+79
[3] id 11571 name gmain from 0x00007ffff333937f in poll+79
[2] id 11570 name QXcbEventQueue from 0x00007ffff333937f in poll+79
[1] id 11566 name mixxx from 0x00007ffff3895437 in QMutex::lock()
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
>>> bt
#0 0x00007ffff3895437 in QMutex::lock() () at /usr/lib/libQt5Core.so.5
#1 0x000055555580fa10 in QMutexLocker::QMutexLocker(QBasicMutex*) (m=0x10, this=<synthetic pointer>) at /usr/include/qt/QtCore/qmutex.h:233
#2 Track::getBeats() const (this=0x0) at /home/jan/Projects/mixxx/src/track/track.cpp:346
#3 0x0000555555d63377 in BpmControl::slotBeatsTranslate(double) (this=0x5555564ae840, v=<optimized out>) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1324
#4 0x00007ffff3ab3d86 in () at /usr/lib/libQt5Core.so.5
#5 0x000055555598b7e0 in ControlObject::valueChanged(double) (this=<optimized out>, _t1=<optimized out>) at /home/jan/Projects/mixxx/build/mixxx-lib_autogen/include/moc_controlobject.cpp:148
#6 0x00007ffff3ab3d86 in () at /usr/lib/libQt5Core.so.5
#7 0x0000555555985645 in ControlDoublePrivate::valueChanged(double, QObject*) (this=this@entry=0x555557d8e160, _t1=<optimized out>, _t1@entry=1, _t2=<optimized out>) at /home/jan/Projects/mixxx/build/mixxx-lib_autogen/include/moc_control.cpp:145
#8 0x0000555555985dc9 in ControlDoublePrivate::setInner(double, QObject*) (this=0x555557d8e160, value=1, pSender=<optimized out>) at /home/jan/Projects/mixxx/src/control/control.cpp:223
#9 0x0000555555985ed0 in ControlDoublePrivate::set(double, QObject*) (this=0x555557d8e160, value=<optimized out>, pSender=0x55555dc0b230) at /home/jan/Projects/mixxx/src/control/control.cpp:210
#10 0x000055555598609f in ControlDoublePrivate::setParameter(double, QObject*) (this=0x555557d8e160, dParam=<optimized out>, pSender=0x55555dc0b230) at /home/jan/Projects/mixxx/src/control/control.cpp:240
#11 0x000055555585b185 in ControlProxy::setParameter(double) (v=<optimized out>, this=<optimized out>) at /home/jan/Projects/mixxx/src/control/controlproxy.h:159
#12 0x000055555585bac5 in ControlParameterWidgetConnection::setControlParameterDown(double) (this=<optimized out>, v=<optimized out>) at /home/jan/Projects/mixxx/src/widget/controlwidgetconnection.cpp:89
#13 0x000055555585d714 in WBaseWidget::setControlParameterLeftDown(double) (this=<optimized out>, v=1) at /home/jan/Projects/mixxx/src/widget/wbasewidget.cpp:115
#14 0x00005555558bc323 in WPushButton::mousePressEvent(QMouseEvent*) (this=0x55555dbddc50, e=<optimized out>) at /home/jan/Projects/mixxx/src/widget/wpushbutton.cpp:410
#15 0x00007ffff7021b0e in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff6fe0752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff6fe787b in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff3a7ca2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#19 0x00007ffff6fe687e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff703a249 in () at /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff703d63f in () at /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff6fe0752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff3a7ca2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007ffff6729594 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#25 0x00007ffff66febb5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#26 0x00007fffecd3116c in () at /usr/lib/libQt5XcbQpa.so.5
#27 0x00007ffff632bb84 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#28 0x00007ffff637fc21 in () at /usr/lib/libglib-2.0.so.0
#29 0x00007ffff632a3b1 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#30 0x00007ffff3ad56ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#31 0x00007ffff3a7b3ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#32 0x00007ffff3a83844 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#33 0x00005555556f927c in (anonymous namespace)::runMixxx (args=..., app=0x7fffffffdbe0) at /home/jan/Projects/mixxx/src/main.cpp:40
#34 main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/jan/Projects/mixxx/src/main.cpp:110

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

I can confirm. Fix in progress.

Changed in mixxx:
status: New → Confirmed
assignee: nobody → Daniel Schürmann (daschuer)
Revision history for this message
Daniel Schürmann (daschuer) wrote :
Changed in mixxx:
status: Confirmed → In Progress
Be (be.ing)
Changed in mixxx:
status: In Progress → 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/issues/10342

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.