I actually don't know. I just happened again, but looking at the coredump I doesn't look like m_pEngineSync is null:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000055abf33c004b in SyncControl::slotControlPlay (this=0x55abf5c19cd0, play=0) at /home/jan/Projects/mixxx/src/engine/sync/synccontrol.cpp:385
385 m_pEngineSync->notifyPlayingAudible(this, play > 0.0 && m_audible);
[Current thread is 1 (Thread 0x7fe75f19f640 (LWP 245841))]
>>> bt
#0 0x000055abf33c004b in SyncControl::slotControlPlay(double) (this=0x55abf5c19cd0, play=0) at /home/jan/Projects/mixxx/src/engine/sync/synccontrol.cpp:385
#1 0x00007fe77335f76b in () at /usr/lib/libQt5Core.so.5
#2 0x000055abf32d7ef0 in ControlProxy::valueChanged(double) (this=<optimized out>, _t1=<optimized out>) at /home/jan/Projects/mixxx/build/mixxx-lib_autogen/include/moc_controlproxy.cpp:164
#3 0x00007fe77335f76b in () at /usr/lib/libQt5Core.so.5
#4 0x000055abf32cb755 in ControlDoublePrivate::valueChanged(double, QObject*) (this=this@entry=0x55abf5bca2d0, _t1=<optimized out>, _t1@entry=0, _t2=<optimized out>) at /home/jan/Projects/mixxx/build/mixxx-lib_autogen/include/moc_control.cpp:145
#5 0x000055abf32cb8ce in ControlDoublePrivate::setInner(double, QObject*) (this=0x55abf5bca2d0, value=0, pSender=<optimized out>) at /home/jan/Projects/mixxx/src/control/control.cpp:280
#6 0x00007fe77335f76b in () at /usr/lib/libQt5Core.so.5
#7 0x000055abf32cb6e3 in ControlDoublePrivate::valueChangeRequest(double) (this=this@entry=0x55abf5bca2d0, _t1=<optimized out>) at /home/jan/Projects/mixxx/build/mixxx-lib_autogen/include/moc_control.cpp:152
#8 0x000055abf32cc628 in ControlDoublePrivate::set(double, QObject*) (this=0x55abf5bca2d0, value=<optimized out>, pSender=0x55abf5bca230) at /home/jan/Projects/mixxx/src/control/control.cpp:265
#9 0x000055abf33988d7 in ControlObject::set(double) (value=<optimized out>, this=<optimized out>) at /home/jan/Projects/mixxx/src/control/controlobject.h:83
#10 EngineBuffer::slotTrackLoading() (this=0x55abf5bc2250) at /home/jan/Projects/mixxx/src/engine/enginebuffer.cpp:529
#11 0x00007fe77335f76b in () at /usr/lib/libQt5Core.so.5
#12 0x00007fe77335f76b in () at /usr/lib/libQt5Core.so.5
#13 0x000055abf3366e50 in CachingReaderWorker::loadTrack(std::shared_ptr<Track> const&) (this=0x55abf5bc56e8, pTrack=std::shared_ptr<Track> (use count 3, weak count 0) = {...}) at /home/jan/Projects/mixxx/src/engine/cachingreader/cachingreaderworker.cpp:136
#14 0x000055abf3368e9d in CachingReaderWorker::run() (this=0x55abf5bc56e8) at /home/jan/Projects/mixxx/src/engine/cachingreader/cachingreaderworker.cpp:104
#15 0x00007fe77313cfef in () at /usr/lib/libQt5Core.so.5
#16 0x00007fe772c57259 in start_thread () at /usr/lib/libpthread.so.0
#17 0x00007fe772b805e3 in clone () at /usr/lib/libc.so.6
>>> p m_audible
$1 = {
<QAtomicInteger<int>> = { <QBasicAtomicInteger<int>> = {
_q_value = { <std::__atomic_base<int>> = { static _S_alignment = 4,
_M_i = 0
},
members of std::atomic<int>:
static is_always_lock_free = true
}
}, <No data fields>}, <No data fields>}
>>> p play
$2 = 0
>>> p this
$3 = (SyncControl * const) 0x55abf5c19cd0
>>> p m_pEngineSync
$4 = (SyncableListener *) 0x55abf593f7c0
I actually don't know. I just happened again, but looking at the coredump I doesn't look like m_pEngineSync is null:
Program terminated with signal SIGSEGV, Segmentation fault. :slotControlPla y (this=0x55abf5c 19cd0, play=0) at /home/jan/ Projects/ mixxx/src/ engine/ sync/synccontro l.cpp:385 >notifyPlayingA udible( this, play > 0.0 && m_audible); :slotControlPla y(double) (this=0x55abf5c 19cd0, play=0) at /home/jan/ Projects/ mixxx/src/ engine/ sync/synccontro l.cpp:385 libQt5Core. so.5 :valueChanged( double) (this=<optimized out>, _t1=<optimized out>) at /home/jan/ Projects/ mixxx/build/ mixxx-lib_ autogen/ include/ moc_controlprox y.cpp:164 libQt5Core. so.5 ivate:: valueChanged( double, QObject*) (this=this@ entry=0x55abf5b ca2d0, _t1=<optimized out>, _t1@entry=0, _t2=<optimized out>) at /home/jan/ Projects/ mixxx/build/ mixxx-lib_ autogen/ include/ moc_control. cpp:145 ivate:: setInner( double, QObject*) (this=0x55abf5b ca2d0, value=0, pSender=<optimized out>) at /home/jan/ Projects/ mixxx/src/ control/ control. cpp:280 libQt5Core. so.5 ivate:: valueChangeRequ est(double) (this=this@ entry=0x55abf5b ca2d0, _t1=<optimized out>) at /home/jan/ Projects/ mixxx/build/ mixxx-lib_ autogen/ include/ moc_control. cpp:152 ivate:: set(double, QObject*) (this=0x55abf5b ca2d0, value=<optimized out>, pSender= 0x55abf5bca230) at /home/jan/ Projects/ mixxx/src/ control/ control. cpp:265 :set(double) (value=<optimized out>, this=<optimized out>) at /home/jan/ Projects/ mixxx/src/ control/ controlobject. h:83 :slotTrackLoadi ng() (this=0x55abf5b c2250) at /home/jan/ Projects/ mixxx/src/ engine/ enginebuffer. cpp:529 libQt5Core. so.5 libQt5Core. so.5 rker::loadTrack (std::shared_ ptr<Track> const&) (this=0x55abf5b c56e8, pTrack= std::shared_ ptr<Track> (use count 3, weak count 0) = {...}) at /home/jan/ Projects/ mixxx/src/ engine/ cachingreader/ cachingreaderwo rker.cpp: 136 rker::run( ) (this=0x55abf5b c56e8) at /home/jan/ Projects/ mixxx/src/ engine/ cachingreader/ cachingreaderwo rker.cpp: 104 libQt5Core. so.5 libpthread. so.0 QAtomicInteger< int>> = {
<QBasicAtomicI nteger< int>> = {
<std: :__atomic_ base<int> > = {
static _S_alignment = 4,
#0 0x000055abf33c004b in SyncControl:
385 m_pEngineSync-
[Current thread is 1 (Thread 0x7fe75f19f640 (LWP 245841))]
>>> bt
#0 0x000055abf33c004b in SyncControl:
#1 0x00007fe77335f76b in () at /usr/lib/
#2 0x000055abf32d7ef0 in ControlProxy:
#3 0x00007fe77335f76b in () at /usr/lib/
#4 0x000055abf32cb755 in ControlDoublePr
#5 0x000055abf32cb8ce in ControlDoublePr
#6 0x00007fe77335f76b in () at /usr/lib/
#7 0x000055abf32cb6e3 in ControlDoublePr
#8 0x000055abf32cc628 in ControlDoublePr
#9 0x000055abf33988d7 in ControlObject:
#10 EngineBuffer:
#11 0x00007fe77335f76b in () at /usr/lib/
#12 0x00007fe77335f76b in () at /usr/lib/
#13 0x000055abf3366e50 in CachingReaderWo
#14 0x000055abf3368e9d in CachingReaderWo
#15 0x00007fe77313cfef in () at /usr/lib/
#16 0x00007fe772c57259 in start_thread () at /usr/lib/
#17 0x00007fe772b805e3 in clone () at /usr/lib/libc.so.6
>>> p m_audible
$1 = {
<
_q_value = {
_M_i = 0
},
members of std::atomic<int>:
static is_always_lock_free = true
}
}, <No data fields>}, <No data fields>}
>>> p play
$2 = 0
>>> p this
$3 = (SyncControl * const) 0x55abf5c19cd0
>>> p m_pEngineSync
$4 = (SyncableListener *) 0x55abf593f7c0
All of these seem to exist. My hunch was that `m_audible` was not initialized, but according to the Qt docs, it's initialized with 0 in that case: https:/ /doc.qt. io/qt-5/ qatomicinteger. html#QAtomicInt eger