I can reproduce crash in trunk QLC+ (Lubuntu 13.04 64bit, Qt4, no custom patches
I will post simplified workspace, but this is where it happened: https://github.com/janosvitok/qlcplus-w ... /lamac.qxw
start it, and press Z and X repeatedly, until it crashes.
This is the stack:
~~~~
#0 0x00007fd062010949 in QHashData::nextNode (node=0x7fd04800ff50) at tools/qhash.cpp:297
bucket = 0x7fd050bbccc8
start =
n = 0
#1 0x00007fd06390353d in QHash::const_iterator::operator++ (this=0x7fd050bbccc8) at /usr/include/qt4/QtCore/qhash.h:427
No locals.
#2 0x00007fd063903002 in QSet::const_iterator::operator++ (this=0x7fd050bbccc8) at /usr/include/qt4/QtCore/qset.h:156
r = {i = {i = 0x7fd04800ff50}}
#3 0x00007fd063902ae2 in QSetIterator::next (this=0x7fd050bbccc0) at /usr/include/qt4/QtCore/qset.h:330
No locals.
#4 0x00007fd06391fb5b in Collection::postRun (this=0x31fc250, timer=0x249b820, universes=0x24752d0) at collection.cpp:287
function = 0x7fd04800d1f8
doc = 0x2450240
it = {c = {q_hash = {{d = 0x7fd048020b80, e = 0x7fd048020b80}}}, i = {i = {i = 0x7fd04800ff50}}}
#5 0x00007fd063958006 in MasterTimer::timerTickFunctions (this=0x249b820, universes=0x24752d0) at mastertimer.cpp:228
function = 0x31fc250
i = 8
removeList = {{p = {static shared_null = {ref = {_q_value = 53800}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fd04800f0a0}, d = 0x7fd04800f0a0}}
it = {c = {{p = {static shared_null = {ref = {_q_value = 53800}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x248c800}, d = 0x248c800}}, i = {i = 0x248c800}}
#6 0x00007fd063957bc2 in MasterTimer::timerTick (this=0x249b820) at mastertimer.cpp:116
doc = 0x2450240
universes = 0x24752d0
#7 0x00007fd06397e20e in MasterTimerPrivate::run (this=0x249b9a0) at mastertimer-unix.cpp:141
tickTime = 20000
tod = 0
current = 0x7fd0480013e0
remainingTime = 0x7fd048002940
__PRETTY_FUNCTION__ = "virtual void MasterTimerPrivate::run()"
mt = 0x249b820
finish = 0x7fd0480013c0
sleepTime = 0x7fd048002920
~~~~
I suspect that m_runningChildren should be locked, and I tried to add it, but didn't come anywhere yet. I will try to fix it when time allows.