Bug 240391 - kmid2 crashes due to lots of MIDI files in a directory, or browsing those files.
Summary: kmid2 crashes due to lots of MIDI files in a directory, or browsing those files.
Status: RESOLVED FIXED
Alias: None
Product: kmid
Classification: Miscellaneous
Component: general (show other bugs)
Version: 2.3.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Unknown
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-01 21:43 UTC by Niels Mayer
Modified: 2010-06-11 00:19 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (10.98 KB, text/plain)
2010-06-02 18:17 UTC, Niels Mayer
Details
New crash information added by DrKonqi (12.03 KB, text/plain)
2010-06-04 21:30 UTC, Niels Mayer
Details
New crash information added by DrKonqi (8.50 KB, text/plain)
2010-06-04 22:26 UTC, Niels Mayer
Details
output from 'valgrind --tool=helgrind kmid *.mid' (140.60 KB, text/plain)
2010-06-05 02:25 UTC, Niels Mayer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Niels Mayer 2010-06-01 21:43:51 UTC
Application: kmid (2.3.0)
KDE Platform Version: 4.4.3 (KDE 4.4.3)
Qt Version: 4.6.2
Operating System: Linux 2.6.32.12-115.fc12.x86_64 x86_64
Distribution: "Fedora release 12 (Constantine)"

-- Information about the crash:
Found a crash in testing https://admin.fedoraproject.org/updates/drumstick-0.3.1-2.fc12,kmid2-2.3.0-1.fc12

I have a giant directory of 500+ midi files http://nielsmayer.com/megatrade-midi.tgz that I've been trying to play with kmid2. 

This crash can be reliably reproduced two ways:
(1) in the unpacked directory 'megatrade-midi' (see .tgz file link above), do
'kmid *.mid'.... the first file will play just fine. But if you click next one or more times, you get a crash.

(2) In directory megatrade-midi , just to 'kmid' (no args). Then go to File->Open
it'll either crash immediately, or will crash on clicking a file in the directory.

I'm not sure if this bug is due to any particular MIDI data in the directory that is problematic, or if its caused by the large number of MIDI files in a single directory.

The crash can be reproduced every time.

 -- Backtrace:
Application: KMid (kmid), signal: Aborted
__lll_lock_wait_private ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
97	2:	movl	%edx, %eax
[Current thread is 1 (Thread 0x7f84fa3c9840 (LWP 7847))]

Thread 3 (Thread 0x7f84f202f710 (LWP 7848)):
[KCrash Handler]
#5  0x0000003686e326d5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x0000003686e33eb5 in abort () at abort.c:92
#7  0x0000003686e6f0c3 in __libc_message (do_abort=2, fmt=0x3686f3e150 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:186
#8  0x0000003686e74a56 in malloc_printerr (action=3, str=0x3686f3e4d8 "double free or corruption (fasttop)", ptr=<value optimized out>) at malloc.c:6264
#9  0x0000003686e7a030 in _int_realloc (av=0x3687174e80, oldp=0x287d210, oldsize=<value optimized out>, nb=<value optimized out>) at malloc.c:5320
#10 0x0000003686e7a227 in __libc_realloc (oldmem=0x287d220, bytes=84) at malloc.c:3821
#11 0x0000003760a9f4cc in alloc_tmpbuf (seq=0x1066930, len=<value optimized out>) at seq.c:3889
#12 0x0000003760a9f59e in snd_seq_event_output_direct (seq=0x1066930, ev=0x7f84ec0067a4) at seq.c:3921
#13 0x00007f84f2056d02 in drumstick::MidiClient::outputDirect (this=0x10551c0, ev=<value optimized out>, async=<value optimized out>, timeout=-1)
    at /usr/src/debug/drumstick-0.3.1/library/src/alsaclient.cpp:998
#14 0x00007f84f249d738 in KMid::ALSAMIDIObject::handleSequencerEvent (this=0x104dee0, ev=0x7f84ec006790) at /usr/src/debug/kmid-2.3.0/alsa/alsamidiobject.cpp:259
#15 0x00007f84f205485c in drumstick::MidiClient::doEvents (this=0x10551c0) at /usr/src/debug/drumstick-0.3.1/library/src/alsaclient.cpp:648
#16 0x00007f84f2056672 in drumstick::MidiClient::SequencerInputThread::run (this=0x104adf0) at /usr/src/debug/drumstick-0.3.1/library/src/alsaclient.cpp:1736
#17 0x00000032bc0709a5 in QThreadPrivate::start (arg=0x104adf0) at thread/qthread_unix.cpp:248
#18 0x0000003687a06a3a in start_thread (arg=0x7f84f202f710) at pthread_create.c:297
#19 0x0000003686ede62d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f84f0c2d710 (LWP 7855)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x0000003686e7b6e8 in _L_lock_13351 () at hooks.c:126
#2  0x0000003686e7a216 in __libc_realloc (oldmem=0x287d220, bytes=56) at malloc.c:3813
#3  0x0000003760a9f4cc in alloc_tmpbuf (seq=0x1066930, len=<value optimized out>) at seq.c:3889
#4  0x0000003760a9f59e in snd_seq_event_output_direct (seq=0x1066930, ev=0x117bf24) at seq.c:3921
#5  0x00007f84f20652c0 in drumstick::SequencerOutputThread::sendSongEvent (this=0xfa1d40, ev=<value optimized out>) at /usr/src/debug/drumstick-0.3.1/library/src/playthread.cpp:128
#6  0x00007f84f20650e3 in drumstick::SequencerOutputThread::run (this=0xfa1d40) at /usr/src/debug/drumstick-0.3.1/library/src/playthread.cpp:189
#7  0x00000032bc0709a5 in QThreadPrivate::start (arg=0xfa1d40) at thread/qthread_unix.cpp:248
#8  0x0000003687a06a3a in start_thread (arg=0x7f84f0c2d710) at pthread_create.c:297
#9  0x0000003686ede62d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f84fa3c9840 (LWP 7847)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x0000003686e7b3f5 in _L_lock_10973 () at hooks.c:126
#2  0x0000003686e78fa2 in __libc_malloc (bytes=234194685568) at malloc.c:3657
#3  0x00000032bc0b158d in QString::QString (this=0x7fff87d75140, ch=<value optimized out>) at tools/qstring.cpp:1048
#4  0x0000003d3e7b68ae in KuitSemanticsPrivate::semanticToVisualText (this=<value optimized out>, text_=<value optimized out>, fmtExp_=<value optimized out>, fmtImp_=<value optimized out>)
    at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/kuitsemantics.cpp:1209
#5  0x0000003d3e7b7c96 in KuitSemanticsPrivate::format (this=0xd4a3e0, text=..., ctxt=<value optimized out>) at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/kuitsemantics.cpp:905
#6  0x0000003d3e7b7d5c in KuitSemantics::format (this=<value optimized out>, text=<value optimized out>, ctxt=<value optimized out>)
    at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/kuitsemantics.cpp:1584
#7  0x0000003d3e794fc6 in KLocalizedStringPrivate::postFormat (this=<value optimized out>, text=<value optimized out>, lang=..., lscr=<value optimized out>, ctxt=...)
    at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/klocalizedstring.cpp:477
#8  0x0000003d3e795881 in KLocalizedStringPrivate::toString (this=0x22d36d0, locale=<value optimized out>) at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/klocalizedstring.cpp:296
#9  0x0000003d3e7962f8 in KLocalizedString::toString (this=0x7fff87d75730) at /usr/src/debug/kdelibs-4.4.3/kdecore/localization/klocalizedstring.cpp:205
#10 0x000000000041d997 in i18nc<QString, QString> (this=0xd519a0, newState=<value optimized out>, stateName=<value optimized out>) at /usr/include/kde4/klocalizedstring.h:794
#11 KMid2::updateState (this=0xd519a0, newState=<value optimized out>, stateName=<value optimized out>) at /usr/src/debug/kmid-2.3.0/src/kmid2.cpp:530
#12 0x000000000042b11f in KMid2::slotUpdateState (this=0xd519a0, newState=<value optimized out>) at /usr/src/debug/kmid-2.3.0/src/kmid2.cpp:508
#13 0x000000000042d21f in KMid2::qt_metacall (this=0xd519a0, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87d75a00) at /usr/src/debug/kmid-2.3.0/x86_64-redhat-linux-gnu/src/kmid2.moc:167
#14 0x00000032bc16a2af in QMetaObject::activate (sender=0x104dee0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff87d75a00) at kernel/qobject.cpp:3293
#15 0x00007f84fa3ea2ac in KMid::MIDIObject::stateChanged (this=<value optimized out>, _t1=PlayingState, _t2=StoppedState)
    at /usr/src/debug/kmid-2.3.0/x86_64-redhat-linux-gnu/library/midiobject.moc:157
#16 0x00007f84f249c784 in KMid::ALSAMIDIObject::play (this=0x104dee0) at /usr/src/debug/kmid-2.3.0/alsa/alsamidiobject.cpp:413
#17 0x00000000004286e5 in KMid2::play (this=0xd519a0) at /usr/src/debug/kmid-2.3.0/src/kmid2.cpp:539
#18 0x000000000042b840 in KMid2::slotSourceChanged (this=0xd519a0, src=<value optimized out>) at /usr/src/debug/kmid-2.3.0/src/kmid2.cpp:455
#19 0x000000000042d3ee in KMid2::qt_metacall (this=0xd519a0, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87d75c10) at /usr/src/debug/kmid-2.3.0/x86_64-redhat-linux-gnu/src/kmid2.moc:184
#20 0x00000032bc16a2af in QMetaObject::activate (sender=0x104dee0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff87d75c10) at kernel/qobject.cpp:3293
#21 0x00007f84fa3ea1a5 in KMid::MIDIObject::currentSourceChanged (this=<value optimized out>, _t1=...) at /usr/src/debug/kmid-2.3.0/x86_64-redhat-linux-gnu/library/midiobject.moc:190
#22 0x00007f84f249eb8d in KMid::ALSAMIDIObject::openFile (this=0x104dee0, fileName=...) at /usr/src/debug/kmid-2.3.0/alsa/alsamidiobject.cpp:689
#23 0x000000000041e0ee in KMid2::next (this=0xd519a0) at /usr/src/debug/kmid-2.3.0/src/kmid2.cpp:970
#24 0x000000000042d1c0 in KMid2::qt_metacall (this=0xd519a0, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff87d75e00) at /usr/src/debug/kmid-2.3.0/x86_64-redhat-linux-gnu/src/kmid2.moc:164
#25 0x00000032bc16a2af in QMetaObject::activate (sender=0xf2c960, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff87d75e00) at kernel/qobject.cpp:3293
#26 0x00000032bc7a5b52 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#27 0x00000032bc7a728b in QAction::activate (this=0xf2c960, event=<value optimized out>) at kernel/qaction.cpp:1255
#28 0x00000032bcb2fd3a in QAbstractButtonPrivate::click (this=0xed8ee0) at widgets/qabstractbutton.cpp:528
#29 0x00000032bcb2ffec in QAbstractButton::mouseReleaseEvent (this=0xf7c080, e=0x7fff87d76760) at widgets/qabstractbutton.cpp:1121
#30 0x00000032bcbea8ea in QToolButton::mouseReleaseEvent (this=<value optimized out>, e=<value optimized out>) at widgets/qtoolbutton.cpp:721
#31 0x00000032bc7f5b3a in QWidget::event (this=0xf7c080, event=0x7fff87d76760) at kernel/qwidget.cpp:7998
#32 0x00000032bc7aa9dc in QApplicationPrivate::notify_helper (this=0xc4a440, receiver=0xf7c080, e=0x7fff87d76760) at kernel/qapplication.cpp:4300
#33 0x00000032bc7b127d in QApplication::notify (this=<value optimized out>, receiver=0xf7c080, e=0x7fff87d76760) at kernel/qapplication.cpp:3865
#34 0x0000003d3ee06856 in KApplication::notify (this=0x7fff87d77450, receiver=0xf7c080, event=0x7fff87d76760) at /usr/src/debug/kdelibs-4.4.3/kdeui/kernel/kapplication.cpp:302
#35 0x00000032bc15774c in QCoreApplication::notifyInternal (this=0x7fff87d77450, receiver=0xf7c080, event=0x7fff87d76760) at kernel/qcoreapplication.cpp:704
#36 0x00000032bc7b046e in sendEvent (receiver=0xf7c080, event=0x7fff87d76760, alienWidget=0xf7c080, nativeWidget=0xfa6620, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:215
#37 QApplicationPrivate::sendMouseEvent (receiver=0xf7c080, event=0x7fff87d76760, alienWidget=0xf7c080, nativeWidget=0xfa6620, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:2965
#38 0x00000032bc822405 in QETWidget::translateMouseEvent (this=0xfa6620, event=<value optimized out>) at kernel/qapplication_x11.cpp:4373
#39 0x00000032bc821128 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff87d77080) at kernel/qapplication_x11.cpp:3506
#40 0x00000032bc849d82 in x11EventSourceDispatch (s=0xc4e270, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#41 0x0000003688a3923e in g_main_dispatch (context=0xc4d120) at gmain.c:1960
#42 IA__g_main_context_dispatch (context=0xc4d120) at gmain.c:2513
#43 0x0000003688a3cc28 in g_main_context_iterate (context=0xc4d120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#44 0x0000003688a3cd4a in IA__g_main_context_iteration (context=0xc4d120, may_block=1) at gmain.c:2654
#45 0x00000032bc17d063 in QEventDispatcherGlib::processEvents (this=0xc2ac60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#46 0x00000032bc849a4e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#47 0x00000032bc156192 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#48 0x00000032bc15645c in QEventLoop::exec (this=0x7fff87d773b0, flags=...) at kernel/qeventloop.cpp:201
#49 0x00000032bc158749 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#50 0x000000000042ff44 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kmid-2.3.0/src/main.cpp:63

Possible duplicates by query: bug 228333.

Reported using DrKonqi
Comment 1 Niels Mayer 2010-06-01 22:20:42 UTC
I noticed the following on stdout while crashing.

I've seen this doublefree error several times actually:

gnulem-204-.../Music/megatrade-midi> kmid *.mid
kmid(7847)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(7847)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(7847)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(7847)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
*** glibc detected *** kmid: double free or corruption (fasttop): 0x000000000287d220 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3686e74a56]
/lib64/libc.so.6[0x3686e7a030]
/lib64/libc.so.6(realloc+0xe7)[0x3686e7a227]
/lib64/libasound.so.2[0x3760a9f4cc]
/lib64/libasound.so.2(snd_seq_event_output_direct+0x6e)[0x3760a9f59e]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick10MidiClient12outputDirectEPNS_14SequencerEventEbi+0x92)[0x7f84f2056d02]
/usr/lib64/kde4/kmid_alsa.so(+0x11738)[0x7f84f249d738]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick10MidiClient8doEventsEv+0x6c)[0x7f84f205485c]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick10MidiClient20SequencerInputThread3runEv+0xc2)[0x7f84f2056672]
/usr/lib64/libQtCore.so.4[0x32bc0709a5]
/lib64/libpthread.so.0[0x3687a06a3a]
/lib64/libc.so.6(clone+0x6d)[0x3686ede62d]
======= Memory map: ========
00400000-00447000 r-xp 00000000 fd:00 14078                              /usr/bin/kmid
00646000-00649000 rw-p 00046000 fd:00 14078                              /usr/bin/kmid
00c24000-02be6000 rw-p 00000000 00:00 0                                  [heap]
32bb400000-32bb434000 r-xp 00000000 fd:00 39174                          /usr/lib64/libfontconfig.so.1.4.4
32bb434000-32bb634000 ---p 00034000 fd:00 39174                          /usr/lib64/libfontconfig.so.1.4.4
32bb634000-32bb636000 rw-p 00034000 fd:00 39174                          /usr/lib64/libfontconfig.so.1.4.4
32bb800000-32bb804000 r-xp 00000000 fd:00 23992                          /lib64/libgthread-2.0.so.0.2200.5
32bb804000-32bba03000 ---p 00004000 fd:00 23992                          /lib64/libgthread-2.0.so.0.2200.5
32bba03000-32bba04000 rw-p 00003000 fd:00 23992                          /lib64/libgthread-2.0.so.0.2200.5
32bc000000-32bc25a000 r-xp 00000000 fd:00 26581                          /usr/lib64/libQtCore.so.4.6.2
32bc25a000-32bc459000 ---p 0025a000 fd:00 26581                          /usr/lib64/libQtCore.so.4.6.2
32bc459000-32bc465000 rw-p 00259000 fd:00 26581                          /usr/lib64/libQtCore.so.4.6.2
32bc600000-32bcfe2000 r-xp 00000000 fd:00 41672                          /usr/lib64/libQtGui.so.4.6.2
32bcfe2000-32bd1e1000 ---p 009e2000 fd:00 41672                          /usr/lib64/libQtGui.so.4.6.2
32bd1e1000-32bd226000 rw-p 009e1000 fd:00 41672                          /usr/lib64/libQtGui.so.4.6.2
32bd226000-32bd229000 rw-p 00000000 00:00 0 
32bf000000-32bf06f000 r-xp 00000000 fd:00 41949                          /usr/lib64/libQtDBus.so.4.6.2
32bf06f000-32bf26f000 ---p 0006f000 fd:00 41949                          /usr/lib64/libQtDBus.so.4.6.2
32bf26f000-32bf271000 rw-p 0006f000 fd:00 41949                          /usr/lib64/libQtDBus.so.4.6.2
32c4000000-32c403f000 r-xp 00000000 fd:00 41692                          /usr/lib64/libQtXml.so.4.6.2
32c403f000-32c423f000 ---p 0003f000 fd:00 41692                          /usr/lib64/libQtXml.so.4.6.2
32c423f000-32c4241000 rw-p 0003f000 fd:00 41692                          /usr/lib64/libQtXml.so.4.6.2
33c1a00000-33c1ab3000 r-xp 00000000 fd:00 664                            /lib64/libkrb5.so.3.3
33c1ab3000-33c1cb3000 ---p 000b3000 fd:00 664                            /lib64/libkrb5.so.3.3
33c1cb3000-33c1cbd000 rw-p 000b3000 fd:00 664                            /lib64/libkrb5.so.3.3
33c1e00000-33c1e2a000 r-xp 00000000 fd:00 660                            /lib64/libk5crypto.so.3.1
33c1e2a000-33c202a000 ---p 0002a000 fd:00 660                            /lib64/libk5crypto.so.3.1
33c202a000-33c202c000 rw-p 0002a000 fd:00 660                            /lib64/libk5crypto.so.3.1
33c2200000-33c222d000 r-xp 00000000 fd:00 676                            /lib64/libgssapi_krb5.so.2.2
33c222d000-33c242d000 ---p 0002d000 fd:00 676                            /lib64/libgssapi_krb5.so.2.2
33c242d000-33c242f000 rw-p 0002d000 fd:00 676                            /lib64/libgssapi_krb5.so.2.2
33c2600000-33c2608000 r-xp 00000000 fd:00 659                            /lib64/libkrb5support.so.0.1
33c2608000-33c2808000 ---p 00008000 fd:00 659                            /lib64/libkrb5support.so.0.1
33c2808000-33c2809000 rw-p 00008000 fd:00 659                            /lib64/libkrb5support.so.0.1
350c400000-350c436000 r-xp 00000000 fd:00 55098                          /usr/lib64/libstreams.so.0.7.2
350c436000-350c636000 ---p 00036000 fd:00 55098                          /usr/lib64/libstreams.so.0.7.2
350c636000-350c638000 rw-p 00036000 fd:00 55098                          /usr/lib64/libstreams.so.0.7.2
350ce00000-350ce6e000 r-xp 00000000 fd:00 39755                          /usr/lib64/libstreamanalyzer.so.0.7.2
350ce6e000-350d06e000 ---p 0006e000 fd:00 39755                          /usr/lib64/libstreamanalyzer.so.0.7.2
350d06e000-350d072000 rw-p 0006e000 fd:00 39755                          /usr/lib64/libstreamanalyzer.so.0.7.2
362f000000-362f010000 r-xp 00000000 fd:00 40404                          /lib64/libbz2.so.1.0.4
362f010000-362f20f000 ---p 00010000 fd:00 40404                          /lib64/libbz2.so.1.0.4
362f20f000-362f211000 rw-p 0000f000 fd:00 40404                          /lib64/libbz2.so.1.0.4
3686a00000-3686a1e000 r-xp 00000000 fd:00 15447                          /lib64/ld-2.11.1.so
3686c1d000-3686c1e000 r--p 0001d000 fd:00 15447                          /lib64/ld-2.11.1.so
3686c1e000-3686c1f000 rw-p 0001e000 fd:00 15447                          /lib64/ld-2.11.1.so
3686c1f000-3686c20000 rw-p 00000000 00:00 0 
3686e00000-3686f6f000 r-xp 00000000 fd:00 15977                          /lib64/libc-2.11.1.so
3686f6f000-368716f000 ---p 0016f000 fd:00 15977                          /lib64/libc-2.11.1.so
368716f000-3687173000 r--p 0016f000 fd:00 15977                          /lib64/libc-2.11.1.so
3687173000-3687174000 rw-p 00173000 fd:00 15977                          /lib64/libc-2.11.1.so
3687174000-3687179000 rw-p 00000000 00:00 0 
3687200000-3687283000 r-xp 00000000 fd:00 21965                          /lib64/libm-2.11.1.so
3687283000-3687482000 ---p 00083000 fd:00 21965                          /lib64/libm-2.11.1.so
3687482000-3687483000 r--p 00082000 fd:00 21965                          /lib64/libm-2.11.1.so
3687483000-3687484000 rw-p 00083000 fd:00 21965                          /lib64/libm-2.11.1.so
3687600000-3687602000 r-xp 00000000 fd:00 16846                          /lib64/libdl-2.11.1.so
3687602000-3687802000 ---p 00002000 fd:00 16846                          /lib64/libdl-2.11.1.soKCrash: Application 'kmid' crashing...
sock_file=/home/npm/.kde/socket-gnulem/kdeinit4__0

Suspended (signal)
Comment 2 Kevin Kofler 2010-06-01 23:26:44 UTC
I'm not sure this is due to the quantity of the files, to me it looks more like this is the fault of the content of the files themselves.
Comment 3 Niels Mayer 2010-06-02 01:54:08 UTC
I'm pretty sure it is the quantity of files. In the invocations of 'kmid' below,  the second crash happened when doing "next" on the first file. The difference in invocations is the number of files provided (of course, it's possible a file in the B's or C's or D's could be causing memory corruption -- feel free to try on your own copy of the datafiles causing the crash: http://nielsmayer.com/megatrade-midi.tgz )

gnulem-118-.../Music/megatrade-midi> ll [AaBbCcDd]*.mid | wc -l
115
gnulem-119-.../Music/megatrade-midi> ll [Aa]*.mid | wc -l
26

gnulem-116-.../Music/megatrade-midi> kmid [Aa]*.mid
kmid(10163)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(10163)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(10163)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(10163)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
kmid(10163)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
kDebugStream called after destruction (from void KDirWatchPrivate::removeEntry(KDirWatch*, KDirWatchPrivate::Entry*, KDirWatchPrivate::Entry*) file /builddir/build/BUILD/kdelibs-4.4.3/kio/kio/kdirwatch.cpp line 950)
Cancelled INotify (fd 11, 1) for "/home/npm/.local/share//user-places.xbel"

(above kmid quit successfully after browsing numerous files out of the 26)
(next attempt hangs (needs to be ^C'd) on first "next" button-click).

gnulem-117-.../Music/megatrade-midi> kmid [AaBbCcDd]*.mid
kmid(10178)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(10178)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(10178)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(10178)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
*** glibc detected *** kmid: malloc(): memory corruption (fast): 0x0000000003b25ec0 ***
^C
.............
Comment 4 Niels Mayer 2010-06-02 18:17:05 UTC
Created attachment 47613 [details]
New crash information added by DrKonqi

Here, I'm able to reproduce the crash with just three of the 500+ files.

I have a hunch this has to do with " " character in the files, or with character encoding issues.  FYI, mine is set to:

gnulem-149-.../Music/megatrade-midi> echo $LANG $GDM_LANG                       en_US.UTF-8 en_US.UTF-8

This crash occurred with the above char encoding and three files on the command line:

kmid 'Absolute Zero.mid' 'A BedTime Story.mid' 'A Changing World.mid'

It occurred by doing "next file" till hitting the end of files, then "prev file" to go back to beginning of files, which caused the crash. The crashes always occur from doing "next" or "prev". 

Running it again with a different LANG environment produces different results. Now I can do "next" or "prev" through the list at least twice, and then it eventually hangs (not crashes) with an error indicating memory corruption;

gnulem-148-.../Music/megatrade-midi> env LANG='' GDM_LANG='' kmid 'Absolute Zero.mid' 'A BedTime Story.mid' 'A Changing World.mid'
kmid(15169)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(15169)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(15169)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(15169)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
*** glibc detected *** kmid: corrupted double-linked list: 0x0000000003db9a70 ***
^C
Comment 5 Unknown 2010-06-03 14:41:39 UTC
In my laptop, $LANG is "en_US.UTF-8". Running kmid from the command line prompt with those three files ('Absolute Zero.mid', 'A BedTime Story.mid' and 'A Changing World.mid') works just fine. I can press the next/prev song buttons many times, without a crash or hung. Same results using the whole 500 files set.

I'm using a KDE4 desktop, including kdm and the kwin window manager. Is your environment the same, or maybe you are using different desktop software?
Comment 6 Niels Mayer 2010-06-03 18:05:49 UTC
I can reproduce this crash consistently every single time I run kmid. It is possible that the bug causing https://bugs.kde.org/show_bug.cgi?id=240394 corrupts malloc as soon as the program starts, and that this failure is happening because switching to a new file causes a new set of free/malloc over corrupted data. For example, even without hitting "next" or "prev" and just letting kmid play through the list of files in the directory, it'll eventually crash on it's own with:
......................
b64/libfontconfig.so.1.4.4
38eba34000-38ebc34000 ---p 00034000 fd:00 16846                          /usr/lib64/libfontconfig.so.1.4.4
38ebc34000-38ebc36000 rw-p 00034000 fd:00 16846                          /usr/lib64/libfontconfig.so.1.4.4
38ebe00000-38ebe04000 r-xp 00000000 fd:00 49958                          /lib64/libgthread-2.0.so.0.2200.5
38ebe04000-38ec003000 ---p 00004000 fd:00 49958                          /lib64/libgthread-2.0.so.0.2200.5KCrash: Application 'kmid' crashing...
sock_file=/home/npm/.kde/socket-gnulem/kdeinit4__0

Suspended (signal)
..............

I'm running on a system that has both Gnome and KDE installed; for the last few weeks I've switched to the KDE Desktop, kwin, etc. I'm still running a few gnome apps like evolution, gnote, abrt-applet.

I have the following KDE packages installed:
kdepimlibs-akonadi-4.4.3-1.fc12.1.x86_64
kdelibs-debuginfo-4.4.3-2.fc12.x86_64
kdetv-0.8.9-13.fc12.x86_64
kdebase-workspace-4.4.3-1.fc12.1.x86_64
kde-plasma-smooth-tasks-0.0.1-0.1.wip20091206.fc12.1.x86_64
kdelibs-common-4.4.3-2.fc12.x86_64
kdesdk-4.4.3-1.fc12.1.x86_64
kdelibs3-3.5.10-21.fc12.x86_64
kde-plasma-xbar-0.1-0.2.20090828svn668.fc12.x86_64
kdemultimedia-libs-4.4.3-1.fc12.1.x86_64
kdeplasma-addons-libs-4.4.3-1.fc12.1.x86_64
kde-settings-4.3-18.noarch
kde-plasma-qstardict-0.13.1-3.fc12.x86_64
kde-plasma-runcommand-2.1-1.fc12.x86_64
kdeutils-printer-applet-4.4.3-1.fc12.1.x86_64
kdesdk-libs-4.4.3-1.fc12.1.x86_64
kdelibs-4.4.3-2.fc12.x86_64
kdebase-runtime-4.4.3-1.fc12.1.x86_64
kdebase-4.4.3-2.fc12.1.x86_64
kdebase-workspace-libs-4.4.3-1.fc12.1.x86_64
kdeplasma-addons-4.4.3-1.fc12.1.x86_64
kdeadmin-4.4.3-1.fc12.1.x86_64
kde-plasma-translatoid-1.1.90_20100122svn-2.fc12.x86_64
kde-plasma-quickaccess-0.8.1-2.fc12.x86_64
qalculate-kde-0.9.6-9.fc12.x86_64
constantine-kde-theme-12.1.0-1.fc12.noarch
kdebase-libs-4.4.3-2.fc12.1.x86_64
subversion-kde-1.6.9-1.fc12.x86_64
kdegraphics-libs-4.4.3-1.fc12.1.x86_64
kdemultimedia-4.4.3-1.fc12.1.x86_64
kde-plasma-yawp-0.3.2-2.fc12.x86_64
kdepimlibs-4.4.3-1.fc12.1.x86_64
kde-filesystem-4-33.fc12.noarch
kdesdk-utils-4.4.3-1.fc12.1.x86_64
kdebase-runtime-libs-4.4.3-1.fc12.1.x86_64
constantine-backgrounds-kde-12.1.1-2.fc12.noarch
kdenlive-0.7.7.1-1.fc12.x86_64

Hardware: AMD Phenom II 965 (Quad core 3.4G -- have you tested on a quad core? Perhaps there's a threading issue visible on 4 cores that doesn't happen on 2?)

Environment: here's all my environment variables:

VENDOR=unknown
TERM=xterm
SHLVL=3
KDEDIRS=/usr
QTLIB=/usr/lib64/qt-3.3/lib
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/npm/.gtkrc-2.0::/home/npm/.kde/share/config/gtkrc-2.0
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
GNOME_KEYRING_SOCKET=/tmp/keyring-8Cy95V/socket
IMSETTINGS_INTEGRATE_DESKTOP=yes
HOST=gnulem
GNOME_KEYRING_PID=2176
PRINTER=lp
PWD=/home/npm
LANG=en_US.UTF-8
GTK_IM_MODULE=gtk-im-context-simple
RNINIT=/home/npm/.rninit
KDE_MULTIHEAD=false
TAPE=/dev/nst0
MACHTYPE=x86_64
GDM_LANG=en_US.UTF-8
KDE_SESSION_VERSION=4
OSTYPE=linux
XMODIFIERS=@im=none
MYSQL_HOME=/usr/share/mysql
COLORTERM=roxterm
DISPLAY=:0.0
IMSETTINGS_MODULE=none
SSH_AUTH_SOCK=/tmp/ssh-vBZjhX2183/agent.2183
GS_LIB=
USER=npm
KDE_IS_PRELINKED=1
HOSTTYPE=x86_64-linux
XAUTHORITY=/var/run/gdm/auth-for-npm-qTgxo8/database
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
XDG_SESSION_COOKIE=3867acbc354d35c597622e144aed843c-1275440722.847363-1772480229
GROUP=npm
QT_PLUGIN_PATH=/home/npm/.kde/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/
KDE_SESSION_UID=571
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-sEufiDlQCh,guid=a05fd1892145b3d0afd0b5a94c05ae53
HOME=/home/npm
DISABLE_IMSETTINGS=1
JRE_HOME=/usr/java/default/jre
DRY_RUN=1
G_BROKEN_FILENAMES=1
MAIL=/var/spool/mail/npm
GTK_RC_FILES=/etc/gtk/gtkrc:/home/npm/.gtkrc::/home/npm/.kde/share/config/gtkrc
QTINC=/usr/lib64/qt-3.3/include
XDG_MENU_PREFIX=kde4-
ROLLER=/usr/java/apache-roller-3.1
PAGER=/usr/bin/less
SHELL=/bin/tcsh
QTDIR=/usr/lib64/qt-3.3
LOGNAME=npm
LESSOPEN=|/usr/bin/lesspipe.sh %s
HOSTNAME=gnulem
CVSROOT=:pserver:niels@localhost:/usr/local/CVS
GDMSESSION=kde
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2373,unix/unix:/tmp/.ICE-unix/2373
LESS=-M -X -g -i
CATALINA_HOME=/usr/share/tomcat6
XCURSOR_THEME=default
_=/usr/libexec/kde4/start_kdeinit_wrapper
WINDOWID=35682030
GDM_KEYBOARD_LAYOUT=us
KDE_FULL_SESSION=true
XDG_DATA_DIRS=/usr/share/kde-settings/kde-profile/default/share:/usr/local/share:/usr/share
REMOTEHOST=
PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/share/pkgconfig
DESKTOP_SESSION=kde
JAVA_HOME=/usr/java/default
PATH=.:/home/npm/bin:/usr/java/default/bin:/usr/share/tomcat6/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/games
KMIX_PULSEAUDIO_DISABLE=1
GPG_AGENT_INFO=/tmp/gpg-hLf09I/S.gpg-agent:2287:1
SSH_AGENT_PID=2240
QT_IM_MODULE=xim
ROXTERM_ID=0x104e0e0
USERNAME=npm
TCLLIBPATH=/usr/local/snack2.2.10
WINTERP_UNIX_SOCKET_FILEPATH=/home/npm/.sockets/win-serv.skt
WINTERP_INET_HOSTADDR=localhost
WINTERP_INET_PORTNUM=23751
EDITOR=/usr/bin/gnuclient
VISUAL=/usr/bin/gnuclient
FCEDIT=/usr/bin/gnuclient
NFED=/usr/bin/gnuclient
TEXEDIT=/usr/bin/gnuclient +%d %s
MM_CHARSET=iso-8859-1
Comment 7 Niels Mayer 2010-06-03 18:16:59 UTC
Just remembered to mention.... a probable major environmental difference between your laptop and the two desktops where I can consistentently reproduce this problem:

I'm not running pulseaudio therefore environment variable KMIX_PULSEAUDIO_DISABLE is set, via /etc/profile.d/kmix_pulseaudio_disable.csh

## Disable kmix/pulseaudio integration by default, see also
## https://bugzilla.redhat.com/563741
if ( ! $?KMIX_PULSEAUDIO_DISABLE ) setenv KMIX_PULSEAUDIO_DISABLE 1
Comment 8 Niels Mayer 2010-06-03 19:51:37 UTC
FYI, this error doesn't happen on a system setup just like the one exhibiting the problem. The difference? The system with the crashing is a quad-core running "ondemand" 800mhz-3.4ghz, and the system that doesn't crash is a dual-core running "ondemand" 1000mhz-2.8Ghz....

Doesn't crash:

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 67
model name      : Dual-Core AMD Opteron(tm) Processor 1220
stepping        : 3
cpu MHz         : 1000.000
cache size      : 1024 KB
siblings        : 2

Crashes:

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 4
model name      : AMD Phenom(tm) II X4 965 Processor
stepping        : 2
cpu MHz         : 800.000
cache size      : 512 KB
siblings        : 4
Comment 9 Niels Mayer 2010-06-04 02:03:29 UTC
Actually, after running for 6 hours on the dual-core machine, continuously playing midi files from the "megatrade-midi" collection of 500+ midi files, it eventually hung with the following output:

kmid(2546)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(2546)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(2546)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(2546)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
kmid(2546)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
kmid(2546)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/home/npm/.local/share/mime/magic"
*** glibc detected *** kmid: malloc(): smallbin double linked list corrupted: 0x0000000001d16fb0 ***

It ended up playing through the following list of files before hanging on the file "Cryotic.mid":

420.mid 420plg150an.mid A BedTime Story.mid Absolute Zero.mid Abyss.mid A Changing World.mid Acid Move.mid After the Love has Gone.mid Agains All Odds.mid Alcoholm.mid Alf.mid Alilmyxg.mid All the E in the World.mid Always.mid Ambient.mid A New Age.mid A New Day.mid Ankarian Tales.mid Annie Logik.mid Another.mid Aor.mid April.mid A Ritual Life.mid Around The World - 7Up Mix.mid Around The World - Quioxte Remix.mid As Far As You Can See.mid Aspirin.mid Avalon.mid Babahard Song.mid Basket.mid Becomes.mid Be Far Of From Me.mid Bellisima.mid Be Static.mid Beyond My Control.mid Beyond The Skies.mid Beyond The Void.mid Bhangra.mid Birdland.mid Bitter Sweet Symphony.mid Blackbird.mid BladeRunner Love Theme.mid Blurred Images.mid Body Sexperience.mid Boney M 1997 Remix.mid Born Digital.mid Brain Infection.mid Breathe - Drum'n'Bass.mid Breathe.mid Breathin Harder.mid Bridge.mid Broken Minds.mid Brothers.mid Bumping.mid Butt Blower.mid CafeJungl.mid Called Electric Spirit.mid Calmness Night.mid Calypso Mix - Part 2.mid Can You Move in Fre-Quen-Cy.mid CE One.mid CE Two.mid Cexst.mid Chaotic Destiny.mid Chick le Freak.mid Children 808 Mix.mid Children.mid Chillie Weather.mid Classic.mid Climax.mid Close Your Eyes.mid Clubches.mid Club Nation.mid Cognito.mid Corridors.mid Cosmoman.mid Crash Boom Bang.mid Crazy.mid Creepy Things.mid Cryogenic Emotions.mid Cryotic.mid 

It is possible you may see this bug less frequently the fewer cores you have running. It's looking more and more like a threading issue and non-threadsafe access to memory, which is consistent with the messages of "double linked list corrupted" "double free or corruption (fasttop)" "malloc(): memory corruption (fast)" and "smallbin double linked list corrupted"

Therefore, if you have at least a dual core machine, consider attempting to let it play the entire directory (you don't have to listen, alot of it is crap :-). If it can actually get through the entire directory of 500+ files with a multicore machine, then i guess I've got the wrong hypothesis....
Comment 10 Niels Mayer 2010-06-04 16:59:03 UTC
More crashes including one with a useful-looking stack-dump at the end:


megatrade-midi> kmid [cC-zZ]*.mid
kdeinit4: preparing to launch /usr/lib64/libkdeinit4_klauncher.so
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kdeinit4: preparing to launch /usr/lib64/libkdeinit4_kded4.so
kdeinit4: preparing to launch /usr/lib64/libkdeinit4_kbuildsycoca4.so
kbuildsycoca4 running...
kbuildsycoca4(3586) KBuildSycoca::checkTimestamps: checking file timestamps
kbuildsycoca4(3586) KBuildSycoca::checkTimestamps: timestamps check ok
kbuildsycoca4(3586) kdemain: Emitting notifyDatabaseChanged ()
kdeinit4: preparing to launch /usr/lib64/libkdeinit4_kconf_update.so
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kmid(3577)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(3577)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(3577)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(3577)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
[... lots of KDE spew deleted ...]
kbuildsycoca4(3906) KMimeAssociations::parseAddedAssociations: "/home/npm/.local/share/applications/mimeapps.list" specifies unknown service "totem.desktop" in "Added Associations"
kbuildsycoca4(3906) KBuildSycoca::save: Saving
kbuildsycoca4(3906) kdemain: Emitting notifyDatabaseChanged ("services", "apps")
*** glibc detected *** kmid: corrupted double-linked list: 0x0000000001a44760 ***
^C

coggie-20-.../Music/megatrade-midi> kmid [Ll-Zz]*.mid
kmid(16044)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(16044)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(16044)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(16044)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
*** glibc detected *** kmid: double free or corruption (fasttop): 0x00000000020f8590 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3ac0874ac6]
/lib64/libc.so.6[0x3ac0879f05]
/lib64/libc.so.6(realloc+0xe7)[0x3ac087a267]
/lib64/libasound.so.2[0x3ad069f4cc]
/lib64/libasound.so.2(snd_seq_event_output_direct+0x6e)[0x3ad069f59e]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick21SequencerOutputThread13sendSongEventEPNS_14SequencerEventE+0x40)[0x7fe0062372c0]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick21SequencerOutputThread3runEv+0x193)[0x7fe0062370e3]
/usr/lib64/libQtCore.so.4[0x3ac8c709a5]
/lib64/libpthread.so.0[0x3ac1406a3a]
/lib64/libc.so.6(clone+0x6d)[0x3ac08de77d]
======= Memory map: ========
00400000-00447000 r-xp 00000000 fd:00 6192661                            /usr/bin/kmid
00646000-00682000 rw-p 00046000 fd:00 6192661                            /usr/bin/kmid
01c34000-04968000 rw-p 00000000 00:00 0                                  [heap]
3ac0400000-3ac041e000 r-xp 00000000 fd:00 8970287                        /lib64/ld-2.11.2.so
3ac061d000-3ac061e000 r--p 0001d000 fd:00 8970287                        /lib64/ld-2.11.2.so
3ac061e000-3ac061f000 rw-p 0001e000 fd:00 8970287                        /lib64/ld-2.11.2.so
3ac061f000-3ac0620000 rw-p 00000000 00:00 0 
3ac0800000-3ac0970000 r-xp 00000000 fd:00 8970294                        /lib64/libc-2.11.2.so
3ac0970000-3ac0b6f000 ---p 00170000 fd:00 8970294                        /lib64/libc-2.11.2.so
3ac0b6f000-3ac0b73000 r--p 0016f000 fd:00 8970294                        /lib64/libc-2.11.2.so
3ac0b73000-3ac0b74000 rw-p 00173000 fd:00 8970294                        /lib64/libc-2.11.2.so
3ac0b74000-3ac0b79000 rw-p 00000000 00:00 0 
3ac0c00000-3ac0c83000 r-xp 00000000 fd:00 8970303                        /lib64/libm-2.11.2.so
3ac0c83000-3ac0e82000 ---p 00083000 fd:00 8970303                        /lib64/libm-2.11.2.so
3ac0e82000-3ac0e83000 r--p 00082000 fd:00 8970303                        /lib64/libm-2.11.2.so
3ac0e83000-3ac0e84000 rw-p 00083000 fd:00 8970303                        /lib64/libm-2.11.2.so
3ac1000000-3ac1002000 r-xp 00000000 fd:00 8970457                        /lib64/libdl-2.11.2.so
3ac1002000-3ac1202000 ---p 00002000 fd:00 8970457                        /lib64/libdl-2.11.2.so
3ac1202000-3ac1203000 r--p 00002000 fd:00 8970457                        /lib64/libdl-2.11.2.so
3ac1203000-3ac1204000 rw-p 00003000 fd:00 8970457                        /lib64/libdl-2.11.2.so
3ac1400000-3ac1417000 r-xp 00000000 fd:00 8970455                        /lib64/libpthread-2.11.2.so
3ac1417000-3ac1616000 ---p 00017000 fd:00 8970455                        /lib64/libpthread-2.11.2.so
3ac1616000-3ac1617000 r--p 00016000 fd:00 8970455                        /lib64/libpthread-2.11.2.so
3ac1617000-3ac1618000 rw-p 00017000 fd:00 8970455                        /lib64/libpthread-2.11.2.so
3ac1618000-3ac161c000 rw-p 00000000 00:00 0 
3ac1800000-3ac1815000 r-xp 00000000 fd:00 8970358                        /lib64/libz.so.1.2.3
3ac1815000-3ac1a14000 ---p 00015000 fd:00 8970358                        /lib64/libz.so.1.2.3
3ac1a14000-3ac1a15000 rw-p 00014000 fd:00 8970358                        /lib64/libz.so.1.2.3
3ac1c00000-3ac1c07000 r-xp 00000000 fd:00 8970543                        /lib64/librt-2.11.2.so
3ac1c07000-3ac1e06000 ---p 00007000 fd:00 8970543                        /lib64/librt-2.11.2.so
3ac1e06000-3ac1e07000 r--p 00006000 fd:00 8970543                        /lib64/librt-2.11.2.so
3ac1e07000-3ac1e08000 rw-p 00007000 fd:00 8970543                        /lib64/librt-2.11.2.so
3ac2000000-3ac20e4000 r-xp 00000000 fd:00 8970723                        /lib64/libglib-2.0.so.0.2200.5
3ac20e4000-3ac22e4000 ---p 000e4000 fd:00 8970723                        /lib64/libglib-2.0.so.0.2200.5
3ac22e4000-3ac22e5000 rw-p 000e4000 fd:00 8970723                        /lib64/libglib-2.0.so.0.2200.5
3ac22e5000-3ac22e6000 rw-p 00000000 00:00 0 
3ac2400000-3ac241b000 r-xp 00000000 fd:00 7586050                        /usr/lib64/libxcb.so.1.1.0
3ac241b000-3ac261a000 ---p 0001b000 fd:00 7586050                        /usr/lib64/libxcb.so.1.1.0
3ac261a000-3ac261b000 rw-p 0001a000 fd:00 7586050                        /usr/lib64/libxcb.so.1.1.0
3ac2800000-3ac2802000 r-xp 00000000 fd:00 6191218                        /usr/lib64/libXau.so.6.0.0
3ac2802000-3ac2a02000 ---p 00002000 fd:00 6191218                        /usr/lib64/libXau.so.6.0.0
3ac2a02000-3ac2a03000 rw-p 00002000 fd:00 6191218                        /usr/lib64/libXau.so.6.0.0
3ac2c00000-3ac2d39000 r-xp 00000000 fd:00 7586051                        /usr/lib64/libX11.so.6.3.0
3ac2d39000-3ac2f39000 ---p 00139000 fd:00 7586051                        /usr/lib64/libX11.so.6.3.0
3ac2f39000-3ac2f3f000 rw-p 00139000 fd:00 7586051                        /usr/lib64/libX11.so.6.3.0
3ac3000000-3ac3016000 r-xp 00000000 fd:00 8970433                        /lib64/libgcc_s-4.4.3-20100127.so.1
3ac3016000-3ac3215000 ---p 00016000 fd:00 8970433                        /lib64/libgcc_s-4.4.3-20100127.so.1
3ac3215000-3ac3216000 rw-p 00015000 fd:00 8970433                        /lib64/libgcc_s-4.4.3-20100127.so.1
3ac3400000-3ac3411000 r-xp 00000000 fd:00 7586052                        /usr/lib64/libXext.so.6.4.0
3ac3411000-3ac3611000 ---p 00011000 fd:00 7586052                        /usr/lib64/libXext.so.6.4.0
3ac3611000-3ac3612000 rw-p 00011000 fd:00 7586052                        /usr/lib64/libXext.so.6.4.0
3ac3800000-3ac3843000 r-xp 00000000 fd:00 8970725                        /lib64/libgobject-2.0.so.0.2200.5
3ac3843000-3ac3a43000 ---p 00043000 fd:00 8970725                        /lib64/libgobject-2.0.so.0.2200.5
3ac3a43000-3ac3a45000 rw-p 00043000 fd:00 8970725                        /lib64/libgobject-2.0.so.0.2200.5
3ac3c00000-3ac3c97000 r-xp 00000000 fd:00 7586036                        /usr/lib64/libfreetype.so.6.3.22
3ac3c97000-3ac3e96000 ---p 00097000 fd:00 7586036                        /usr/lib64/libfreetype.so.6.3.22
3ac3e96000-3ac3e9c000 rw-p 00096000 fd:00 7586036                        /usr/lib64/libfreetype.so.6.3.22
3ac4000000-3ac4026000 r-xp 00000000 fd:00 8970363                        /lib64/libexpat.so.1.5.2
3ac4026000-3ac4225000 ---p 00026000 fd:00 8970363                        /lib64/libexpat.so.1.5.2
3ac4225000-3ac4228000 rw-p 00025000 fd:00 8970363                        /lib64/libexpat.so.1.5.2
3ac4400000-3ac44e4000 r-xp 00000000 fd:00 7586044                        /usr/lib64/libstdc++.so.6.0.13
3ac44e4000-3ac46e4000 ---p 000e4000 fd:00 7586044                        /usr/lib64/libstdc++.so.6.0.13
3ac46e4000-3ac46eb000 r--p 000e4000 fd:00 7586044                        /usr/lib64/libstdc++.so.6.0.13
3ac46eb000-3ac46ed000 rw-p 000eb000 fd:00 7586044                        /usr/lib64/libstdc++.so.6.0.13
3ac46ed000-3ac4702000 rw-p 00000000 00:00 0 
3ac4800000-3ac4834000 r-xp 00000000 fd:00 7586041                        /usr/lib64/libfontconfig.so.1.4.4KCrash: Application 'kmid' crashing...
sock_file=/home/npm/.kde/socket-coggie/kdeinit4_localhost_10
kdeinit4: preparing to launch /usr/libexec/kde4/drkonqi

Suspended (signal)
Comment 11 Kevin Kofler 2010-06-04 17:31:40 UTC
Can you please try running:
valgrind kmid [cC-zZ]*.mid
? That would give us more information about what is going wrong.
Comment 12 Niels Mayer 2010-06-04 19:16:02 UTC
FYI, the latest update doesn't seem to be crashing anymore on the quad-core.

kmid2-libs-2.3.0-2.fc12.x86_64
kmid2-2.3.0-2.fc12.x86_64
kmid2-debuginfo-2.3.0-2.fc12.x86_64
drumstick-debuginfo-0.3.1-2.fc12.x86_64
drumstick-examples-0.3.1-2.fc12.x86_64
drumstick-0.3.1-2.fc12.x86_64
Comment 13 Kevin Kofler 2010-06-04 19:18:15 UTC
Maybe this is actually the same bug as bug 240394?
Comment 14 Kevin Kofler 2010-06-04 19:19:03 UTC
(The only difference between kmid2-2.3.0-1.fc12 and kmid2-2.3.0-2.fc12 is Pedro's fix for bug 240394.)
Comment 15 Unknown 2010-06-04 20:53:26 UTC
I don't have access to a quad core, but my laptop has an Intel Core2Duo (dual core) and I couldn't reproduce the crash. 

Anyway, it looks like a race condition or some other threading related problem like the bug 240394. It even may be the same bug, indeed. By the way, none of the traces in this report has been useful to find the root cause of the problem, so I just was trying to find a way to reproduce it.

Anyway2, if you both agree that the problem has gone after applying the patch in SVN revision 1134129, I will close this report and publish a release 2.3.1 as soon as possible.
Comment 16 Niels Mayer 2010-06-04 21:30:43 UTC
Created attachment 47682 [details]
New crash information added by DrKonqi

Testing for the crashes seen previously, with updated 
kmid2-libs-2.3.0-2.fc12.x86_64, kmid2-2.3.0-2.fc12.x86_64 ... it is crashing much less frequently. However, I got it to crash on loading (from the megatrade-midi collection) "kmid *.mid" and listening/next-tracking all the way to "Cryotic.mid" at which point it crashed.

Since I've seen crashes before on "Cryotic.mid", it's possible the same bug still exists, or it's possible that something about that file causes corruption.

Will continue testintg new version.
Comment 17 Niels Mayer 2010-06-04 21:32:29 UTC
here's output associated w/ above crash:


gnulem-128-.../Music/megatrade-midi> kmid *.mid
kmid(26511)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(26511)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(26511)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(26511)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 


*** glibc detected *** kmid: double free or corruption (fasttop): 0x000000000235c560 ***
======= Backtrace: =========
/lib64/libc.so.6[0x38e7e74ac6]
/lib64/libc.so.6[0x38e7e7a070]
/lib64/libc.so.6(realloc+0xe7)[0x38e7e7a267]
/lib64/libasound.so.2[0x38f6e9f4cc]
/lib64/libasound.so.2(snd_seq_event_output_direct+0x6e)[0x38f6e9f59e]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick21SequencerOutputThread13sendSongEventEPNS_14SequencerEventE+0x40)[0x7fdec19402c0]
/usr/lib64/libdrumstick-alsa.so.0(_ZN9drumstick21SequencerOutputThread3runEv+0x193)[0x7fdec19400e3]
/usr/lib64/libQtCore.so.4[0x38f02709a5]
/lib64/libpthread.so.0[0x38e8a06a3a]
/lib64/libc.so.6(clone+0x6d)[0x38e7ede77d]
======= Memory map: ========
00400000-00447000 r-xp 00000000 fd:00 1022                               /usr/bin/kmid
00646000-00649000 rw-p 00046000 fd:00 1022                               /usr/bin/kmid
008c2000-03eaa000 rw-p 00000000 00:00 0                                  [heap]
38e7a00000-38e7a1e000 r-xp 00000000 fd:00 3342                           /lib64/ld-2.11.2.so
38e7c1d000-38e7c1e000 r--p 0001d000 fd:00 3342                           /lib64/ld-2.11.2.so
38e7c1e000-38e7c1f000 rw-p 0001e000 fd:00 3342                           /lib64/ld-2.11.2.so
38e7c1f000-38e7c20000 rw-p 00000000 00:00 0 
38e7e00000-38e7f70000 r-xp 00000000 fd:00 15185                          /lib64/libc-2.11.2.so
38e7f70000-38e816f000 ---p 00170000 fd:00 15185                          /lib64/libc-2.11.2.so
38e816f000-38e8173000 r--p 0016f000 fd:00 15185                          /lib64/libc-2.11.2.so
38e8173000-38e8174000 rw-p 00173000 fd:00 15185                          /lib64/libc-2.11.2.so
38e8174000-38e8179000 rw-p 00000000 00:00 0 
38e8200000-38e8283000 r-xp 00000000 fd:00 15641                          /lib64/libm-2.11.2.so
38e8283000-38e8482000 ---p 00083000 fd:00 15641                          /lib64/libm-2.11.2.so
38e8482000-38e8483000 r--p 00082000 fd:00 15641                          /lib64/libm-2.11.2.so
38e8483000-38e8484000 rw-p 00083000 fd:00 15641                          /lib64/libm-2.11.2.so
38e8600000-38e8602000 r-xp 00000000 fd:00 23289                          /lib64/libdl-2.11.2.so
38e8602000-38e8802000 ---p 00002000 fd:00 23289                          /lib64/libdl-2.11.2.so
38e8802000-38e8803000 r--p 00002000 fd:00 23289                          /lib64/libdl-2.11.2.so
38e8803000-38e8804000 rw-p 00003000 fd:00 23289                          /lib64/libdl-2.11.2.so
38e8a00000-38e8a17000 r-xp 00000000 fd:00 15533                          /lib64/libpthread-2.11.2.so
38e8a17000-38e8c16000 ---p 00017000 fd:00 15533                          /lib64/libpthread-2.11.2.so
38e8c16000-38e8c17000 r--p 00016000 fd:00 15533                          /lib64/libpthread-2.11.2.so
38e8c17000-38e8c18000 rw-p 00017000 fd:00 15533                          /lib64/libpthread-2.11.2.so
38e8c18000-38e8c1c000 rw-p 00000000 00:00 0 
38e8e00000-38e8e15000 r-xp 00000000 fd:00 15772                          /lib64/libz.so.1.2.3
38e8e15000-38e9014000 ---p 00015000 fd:00 15772                          /lib64/libz.so.1.2.3
38e9014000-38e9015000 rw-p 00014000 fd:00 15772                          /lib64/libz.so.1.2.3
38e9200000-38e9207000 r-xp 00000000 fd:00 31669                          /lib64/librt-2.11.2.so
38e9207000-38e9406000 ---p 00007000 fd:00 31669                          /lib64/librt-2.11.2.so
38e9406000-38e9407000 r--p 00006000 fd:00 31669                          /lib64/librt-2.11.2.so
38e9407000-38e9408000 rw-p 00007000 fd:00 31669                          /lib64/librt-2.11.2.so
38e9600000-38e96e4000 r-xp 00000000 fd:00 48919                          /lib64/libglib-2.0.so.0.2200.5
38e96e4000-38e98e4000 ---p 000e4000 fd:00 48919                          /lib64/libglib-2.0.so.0.2200.5
38e98e4000-38e98e5000 rw-p 000e4000 fd:00 48919                          /lib64/libglib-2.0.so.0.2200.5
38e98e5000-38e98e6000 rw-p 00000000 00:00 0 
38e9a00000-38e9a02000 r-xp 00000000 fd:00 23283                          /usr/lib64/libXau.so.6.0.0
38e9a02000-38e9c02000 ---p 00002000 fd:00 23283                          /usr/lib64/libXau.so.6.0.0
38e9c02000-38e9c03000 rw-p 00002000 fd:00 23283                          /usr/lib64/libXau.so.6.0.0
38e9e00000-38e9e1b000 r-xp 00000000 fd:00 23288                          /usr/lib64/libxcb.so.1.1.0
38e9e1b000-38ea01a000 ---p 0001b000 fd:00 23288                          /usr/lib64/libxcb.so.1.1.0
38ea01a000-38ea01b000 rw-p 0001a000 fd:00 23288                          /usr/lib64/libxcb.so.1.1.0
38ea200000-38ea339000 r-xp 00000000 fd:00 23298                          /usr/lib64/libX11.so.6.3.0
38ea339000-38ea539000 ---p 00139000 fd:00 23298                          /usr/lib64/libX11.so.6.3.0
38ea539000-38ea53f000 rw-p 00139000 fd:00 23298                          /usr/lib64/libX11.so.6.3.0
38ea600000-38ea643000 r-xp 00000000 fd:00 48922                          /lib64/libgobject-2.0.so.0.2200.5
38ea643000-38ea843000 ---p 00043000 fd:00 48922                          /lib64/libgobject-2.0.so.0.2200.5
38ea843000-38ea845000 rw-p 00043000 fd:00 48922                          /lib64/libgobject-2.0.so.0.2200.5
38eaa00000-38eaa11000 r-xp 00000000 fd:00 23304                          /usr/lib64/libXext.so.6.4.0
38eaa11000-38eac11000 ---p 00011000 fd:00 23304                          /usr/lib64/libXext.so.6.4.0
38eac11000-38eac12000 rw-p 00011000 fd:00 23304                          /usr/lib64/libXext.so.6.4.0
38eae00000-38eae16000 r-xp 00000000 fd:00 20945                          /lib64/libgcc_s-4.4.3-20100127.so.1
38eae16000-38eb015000 ---p 00016000 fd:00 20945                          /lib64/libgcc_s-4.4.3-20100127.so.1
38eb015000-38eb016000 rw-p 00015000 fd:00 20945                          /lib64/libgcc_s-4.4.3-20100127.so.1
38eb200000-38eb297000 r-xp 00000000 fd:00 16067                          /usr/lib64/libfreetype.so.6.3.22
38eb297000-38eb496000 ---p 00097000 fd:00 16067                          /usr/lib64/libfreetype.so.6.3.22
38eb496000-38eb49c000 rw-p 00096000 fd:00 16067                          /usr/lib64/libfreetype.so.6.3.22
38eb600000-38eb626000 r-xp 00000000 fd:00 16072                          /lib64/libexpat.so.1.5.2
38eb626000-38eb825000 ---p 00026000 fd:00 16072                          /lib64/libexpat.so.1.5.2
38eb825000-38eb828000 rw-p 00025000 fd:00 16072                          /lib64/libexpat.so.1.5.2KCrash: Application 'kmid' crashing...
sock_file=/home/npm/.kde/socket-gnulem/kdeinit4__0

Suspended (signal)
Comment 18 Niels Mayer 2010-06-04 21:43:17 UTC
Trying to skip past the "C*.mid" files incase there was a problem w/ the data in one of them... I tested again starting with D*.mid and was able to crash it again just by doing "next" multiple times (never made it out of the "D*.mid" before it crashed). This is on the quad-core. Testing next on dual-core to see if problem happens less frequently or not at all....

gnulem-134-.../Music/megatrade-midi> kmid [Dd-Zz]*.mid
kmid(27543)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(27543)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(27543)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(27543)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
KCrash: Application 'kmid' crashing...
Alarm clock
Comment 19 Niels Mayer 2010-06-04 21:56:51 UTC
Unfortunately, the updated kmid is still hanging on the dual-core as well
starting with "D*.mid" I did "next" until it hit "Don't give up.mid" and then it
hung:

coggie-62-.../Music/megatrade-midi> kmid [Dd-Zz]*.mid
kmid(24334)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24334)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24334)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24334)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
*** glibc detected *** kmid: corrupted double-linked list: 0x0000000002562c90 ***
JackActivationCount::Signal value = 0 ref = 3

A separate issue, but indicative of a race condition... the first time I ran this new update of kmid on the dual core it quit, complaining that it couldn't initialize KMid/backend:

coggie-55-.../Music/megatrade-midi> kmid [Dd-Zz]*.mid
kmid(24309)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24309)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24309)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24309)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
kmid(24309)/kdecore (trader) KServiceTypeTrader::defaultOffers: KServiceTypeTrader: serviceType  "KMid/backend"  not found 
kmid(24309)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
Comment 20 Niels Mayer 2010-06-04 22:26:51 UTC
Created attachment 47683 [details]
New crash information added by DrKonqi

Crash on dual core. Didn't touch anything (no "next" clickls), just let it start playing, and it crashed. This new version seems to be crashing on the dual-core MORE OFTEN than the previous, which was able to play MIDI files for many hours, not just ten minutes....

coggie-64-.../Music/megatrade-midi> kmid [Ee-Zz]*.mid
kmid(24494)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24494)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24494)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24494)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
KCrash: Application 'kmid' crashing...
sock_file=/home/npm/.kde/socket-coggie/kdeinit4__0
Comment 21 Kevin Kofler 2010-06-04 22:36:02 UTC
Can you please try it with Valgrind and see if we get an interesting log that way? I think you're the only one here who can reproduce this bug.
Comment 22 Unknown 2010-06-04 22:55:43 UTC
The Valgrind tool that detects threading problems is called 'helgrind'. It reports many false positives and the reports are very hard to interpret. Anyway, the command is:
$ valgrind --tool=helgrind kmid *.mid

A GDB stack trace of a crash could be useful, if all the debugging symbols are installed for all the involved components. But the standard output messages, like those "Attempt to use QAction..." are absolutely meaningless. More noise, that means absolutely nothing at all:
38ea643000-38ea843000 ---p 00043000 fd:00 48922                         
/lib64/libgobject-2.0.so.0.2200.5
Comment 23 Niels Mayer 2010-06-04 22:57:54 UTC
Pedro, will try yours next.... Kevin, your wish, is my command-line:

it played for a while then froze, output this, and continued:

coggie-66-.../Music/megatrade-midi> valgrind kmid [Ee-Zz]*.mid
==24566== Memcheck, a memory error detector
==24566== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==24566== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==24566== Command: kmid Easy\ Goin.mid Easy.mid Eat\ This\ Too.mid Eat\ Us\ Three.mid Edge\ Of\ Darkness.mid Elfin\ Wood.mid Emotion.mid Encore\ Une\ Fois.mid End\ Of\ Winter.mid Epic.mid Experimental.mid Exstasia.mid Extreme.mid
==24566== 

kmid(24566)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24566)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24566)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24566)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
==24566== Syscall param write(buf) points to uninitialised byte(s)
==24566==    at 0x3AC140E0BD: ??? (syscall-template.S:82)
==24566==    by 0x3AC7808F2E: _IceTransSocketWrite (Xtranssock.c:2163)
==24566==    by 0x3AC780D737: _IceWrite (misc.c:352)
==24566==    by 0x3AC780D823: IceFlush (misc.c:80)
==24566==    by 0x3AC9811BFC: sm_setProperty(char const*, char const*, int, SmPropValue*) (qapplication_x11.cpp:5483)
==24566==    by 0x3AC98156DF: sm_setProperty(QString const&, QString const&) (qapplication_x11.cpp:5498)
==24566==    by 0x3AC982612D: sm_performSaveYourself(QSessionManagerPrivate*) (qapplication_x11.cpp:5562)
==24566==    by 0x3AC9826E28: sm_saveYourselfCallback(_SmcConn*, void*, int, int, int, int) (qapplication_x11.cpp:5541)
==24566==    by 0x3AC7C0623B: _SmcProcessMessage (sm_process.c:252)
==24566==    by 0x3AC7812183: IceProcessMessages (process.c:343)
==24566==    by 0x3AC981206E: QSmSocketReceiver::qt_metacall(QMetaObject::Call, int, void**) (qapplication_x11.moc:71)
==24566==    by 0x3AC8D6A2AE: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==24566==  Address 0xb99867c is 12 bytes inside a block of size 1,024 alloc'd
==24566==    at 0x4A04481: calloc (vg_replace_malloc.c:418)
==24566==    by 0x3AC7805CD8: IceOpenConnection (connect.c:210)
==24566==    by 0x3AC7C0270A: SmcOpenConnection (sm_client.c:135)
==24566==    by 0x3AC98188E7: QSessionManager::QSessionManager(QApplication*, QString&, QString&) (qapplication_x11.cpp:5723)
==24566==    by 0x3AC97B58FB: QApplicationPrivate::initialize() (qapplication.cpp:909)
==24566==    by 0x3AC97B5A1A: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:772)
==24566==    by 0x3AC97B6107: QApplication::QApplication(int&, char**, bool, int) (qapplication.cpp:727)
==24566==    by 0x3AD3808C26: KApplication::KApplication(bool) (kapplication.cpp:337)
==24566==    by 0x42FD74: main (main.cpp:45)
==24566== 
JackActivationCount::Signal value = 0 ref = 3
JackActivationCount::Signal value = 0 ref = 3
JackActivationCount::Signal value = 0 ref = 3
Comment 24 Niels Mayer 2010-06-04 23:01:28 UTC
it also output the following on termination:


==24566== 
==24566== HEAP SUMMARY:
==24566==     in use at exit: 27,367,641 bytes in 188,158 blocks
==24566==   total heap usage: 12,833,958 allocs, 12,645,800 frees, 3,308,661,633 bytes allocated
==24566== 
==24566== LEAK SUMMARY:
==24566==    definitely lost: 6,648 bytes in 17 blocks
==24566==    indirectly lost: 27,744 bytes in 864 blocks
==24566==      possibly lost: 24,241,543 bytes in 171,257 blocks
==24566==    still reachable: 3,091,706 bytes in 16,020 blocks
==24566==         suppressed: 0 bytes in 0 blocks
==24566== Rerun with --leak-check=full to see details of leaked memory
==24566== 
==24566== For counts of detected and suppressed errors, rerun with: -v
==24566== Use --track-origins=yes to see where uninitialised values come from
==24566== ERROR SUMMARY: 5 errors from 1 contexts (suppressed: 272 from 16)
Comment 25 Niels Mayer 2010-06-04 23:15:34 UTC
on the dual core:

coggie-75-.../Music/megatrade-midi> valgrind --tool=helgrind kmid [Ff-Zz]*.mid
==24776== Helgrind, a thread error detector
==24776== Copyright (C) 2007-2009, and GNU GPL'd, by OpenWorks LLP et al.
==24776== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==24776== Command: kmid Fanfare\ 98.mid Fantasy.mid Far\ Worlds.mid Feel\ The\ Energy.mid Fields\ of\ Gold.mid Final\ Countdown.mid First\ Contact.mid First\ Dream.mid Flares.mid Float1.mid Floating\ Dreams.mid Floating.mid Floating\ Point.mid Fool's\ Gold.mid Forever.mid Forgotten\ Memories.mid Forgotten\ Times.mid Fragile.mid Free.mid Frozen.mid Full\ Memory.mid Funkin\ 4\ Ya.mid Fussion.mid
==24776== 
==24776== Thread #1 is the program's root thread
==24776== 
==24776== Thread #1: lock order "0x4ECE870 before 0x4F4B900" violated
==24776==    at 0x4A08496: QMutex::lock() (hg_intercepts.c:1987)
==24776==    by 0x3AC8D5A111: QCoreApplication::libraryPaths() (qmutex.h:120)
==24776==    by 0x3AC8D3FA0E: QFactoryLoader::update() (qfactoryloader.cpp:109)
==24776==    by 0x3AC8D42673: QFactoryLoader::QFactoryLoader(char const*, QString const&, Qt::CaseSensitivity) (qfactoryloader.cpp:99)
==24776==    by 0x3AC9810639: qt_guiPlatformPlugin() (qguiplatformplugin.cpp:101)
==24776==    by 0x3AC981AE87: QApplicationPrivate::x11_apply_settings() (qapplication_x11.cpp:928)
==24776==    by 0x3AC981D65D: qt_set_x11_resources(char const*, char const*, char const*, char const*) (qapplication_x11.cpp:1103)
==24776==    by 0x3AC982450D: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2313)
==24776==    by 0x3AC97B5A12: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:771)
==24776==    by 0x3AC97B6107: QApplication::QApplication(int&, char**, bool, int) (qapplication.cpp:727)
==24776==    by 0x3AD3808C26: KApplication::KApplication(bool) (kapplication.cpp:337)
==24776==    by 0x42FD74: main (main.cpp:45)
==24776==   Required order was established by acquisition of lock at 0x4ECE870
==24776==    at 0x4A08496: QMutex::lock() (hg_intercepts.c:1987)
==24776==    by 0x3AC8D5A782: QCoreApplication::addLibraryPath(QString const&) (qmutex.h:120)
==24776==    by 0x3AC9819787: QApplicationPrivate::x11_apply_settings() (qapplication_x11.cpp:921)
==24776==    by 0x3AC981D65D: qt_set_x11_resources(char const*, char const*, char const*, char const*) (qapplication_x11.cpp:1103)
==24776==    by 0x3AC982450D: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2313)
==24776==    by 0x3AC97B5A12: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:771)
==24776==    by 0x3AC97B6107: QApplication::QApplication(int&, char**, bool, int) (qapplication.cpp:727)
==24776==    by 0x3AD3808C26: KApplication::KApplication(bool) (kapplication.cpp:337)
==24776==    by 0x42FD74: main (main.cpp:45)
==24776==   followed by a later acquisition of lock at 0x4F4B900
==24776==    at 0x4A08496: QMutex::lock() (hg_intercepts.c:1987)
==24776==    by 0x3AC8D424BF: QFactoryLoader::refreshAll() (qmutex.h:120)
==24776==    by 0x3AC8D5A8B1: QCoreApplication::addLibraryPath(QString const&) (qcoreapplication.cpp:2327)
==24776==    by 0x3AC9819787: QApplicationPrivate::x11_apply_settings() (qapplication_x11.cpp:921)
==24776==    by 0x3AC981D65D: qt_set_x11_resources(char const*, char const*, char const*, char const*) (qapplication_x11.cpp:1103)
==24776==    by 0x3AC982450D: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2313)
==24776==    by 0x3AC97B5A12: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:771)
==24776==    by 0x3AC97B6107: QApplication::QApplication(int&, char**, bool, int) (qapplication.cpp:727)
==24776==    by 0x3AD3808C26: KApplication::KApplication(bool) (kapplication.cpp:337)
==24776==    by 0x42FD74: main (main.cpp:45)
==24776== 
kmid(24776)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24776)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24776)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24776)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
==24776== Thread #2 was created
==24776==    at 0x3AC08DE73E: clone (clone.S:77)
==24776==    by 0x3AC1406333: do_clone.clone.0 (createthread.c:75)
==24776==    by 0x3AC1407001: pthread_create@@GLIBC_2.2.5 (createthread.c:249)
==24776==    by 0x4A0A079: pthread_create_WRK (hg_intercepts.c:229)
==24776==    by 0x4A0A11C: pthread_create@* (hg_intercepts.c:256)
==24776==    by 0x3AC8C70DD8: QThread::start(QThread::Priority) (qthread_unix.cpp:542)
==24776==    by 0xD85942E: drumstick::MidiClient::SequencerInputThread::start(QThread::Priority) (alsaclient.cpp:1703)
==24776==    by 0xD402E67: KMid::ALSABackend::ALSABackend(QObject*, QList<QVariant> const&) (alsabackend.cpp:72)
==24776==    by 0xD4044C6: QObject* KPluginFactory::createInstance<KMid::ALSABackend, QObject>(QWidget*, QObject*, QList<QVariant> const&) (kpluginfactory.h:461)
==24776==    by 0x3ACB7D98AB: KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) (kpluginfactory.cpp:191)
==24776==    by 0x415DBA: KMid::BackendLoader::loadAllBackends() (kpluginfactory.h:491)
==24776==    by 0x42BA41: KMid2::initialize() (kmid2.cpp:134)
==24776== 
==24776== Possible data race during read of size 4 at 0xcfe0700 by thread #2
==24776==    at 0xD4086BB: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:179)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 4 by thread #1
==24776==    at 0xD40732B: KMid::ALSAMIDIObject::updateState(KMid::State) (alsamidiobject.cpp:717)
==24776==    by 0xD407783: KMid::ALSAMIDIObject::play() (alsamidiobject.cpp:411)
==24776==    by 0x4286E4: KMid2::play() (kmid2.cpp:539)
==24776==    by 0x42B83F: KMid2::slotSourceChanged(QString const&) (kmid2.cpp:455)
==24776==    by 0x42D3ED: KMid2::qt_metacall(QMetaObject::Call, int, void**) (kmid2.moc:184)
==24776==    by 0x3AC8D6A2AE: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==24776==    by 0x4C3E1A4: KMid::MIDIObject::currentSourceChanged(QString const&) (midiobject.moc:190)
==24776==    by 0xD409B7C: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:687)
==24776== 
==24776== Possible data race during read of size 4 at 0xcfdf950 by thread #2
==24776==    at 0x3AC8D6A513: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject_p.h:227)
==24776==    by 0x4C3E12E: KMid::MIDIObject::timeSignatureChanged(int, int) (midiobject.moc:204)
==24776==    by 0xD40892E: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:189)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Thread #4 was created
==24776==    at 0x3AC08DE73E: clone (clone.S:77)
==24776==    by 0x3AC1406333: do_clone.clone.0 (createthread.c:75)
==24776==    by 0x3AC1407001: pthread_create@@GLIBC_2.2.5 (createthread.c:249)
==24776==    by 0x4A0A079: pthread_create_WRK (hg_intercepts.c:229)
==24776==    by 0x4A0A11C: pthread_create@* (hg_intercepts.c:256)
==24776==    by 0x3AC8C70DD8: QThread::start(QThread::Priority) (qthread_unix.cpp:542)
==24776==    by 0xD867F33: drumstick::SequencerOutputThread::start(QThread::Priority) (playthread.cpp:219)
==24776==    by 0xD407776: KMid::ALSAMIDIObject::play() (alsamidiobject.cpp:410)
==24776==    by 0x4286E4: KMid2::play() (kmid2.cpp:539)
==24776==    by 0x42B83F: KMid2::slotSourceChanged(QString const&) (kmid2.cpp:455)
==24776==    by 0x42D3ED: KMid2::qt_metacall(QMetaObject::Call, int, void**) (kmid2.moc:184)
==24776==    by 0x3AC8D6A2AE: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==24776== 
==24776== Possible data race during read of size 8 at 0xcfe61a0 by thread #2
==24776==    at 0x3AD069F48A: alloc_tmpbuf (seq.c:3880)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during read of size 8 at 0xcfe61a8 by thread #2
==24776==    at 0x3AD069F499: alloc_tmpbuf (seq.c:3888)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 8 at 0xcfe61a0 by thread #2
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 8 at 0xcfe61a8 by thread #2
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1000 by thread #2
==24776==    at 0x3AD069F5AF: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F5AF: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1008 by thread #2
==24776==    at 0x3AD069F5B7: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F5B7: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1010 by thread #2
==24776==    at 0x3AD069F5C0: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F5C0: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 4 at 0x102c1018 by thread #2
==24776==    at 0x3AD069F5C9: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 4 by thread #4
==24776==    at 0x3AD069F5C9: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c1021 by thread #2
==24776==    at 0x4A08C65: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #4
==24776==    at 0x4A08D01: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c1020 by thread #2
==24776==    at 0x4A08C6F: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #4
==24776==    at 0x4A08CF7: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101f by thread #2
==24776==    at 0x4A08C7A: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #4
==24776==    at 0x4A08D17: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101e by thread #2
==24776==    at 0x4A08C85: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #4
==24776==    at 0x4A08D0C: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101d by thread #2
==24776==    at 0x4A08CC2: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #4
==24776==    at 0x4A08D01: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during read of size 8 at 0xcfe61a0 by thread #4
==24776==    at 0x3AD069F48A: alloc_tmpbuf (seq.c:3880)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during read of size 8 at 0xcfe61a8 by thread #4
==24776==    at 0x3AD069F499: alloc_tmpbuf (seq.c:3888)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 8 at 0xcfe61a0 by thread #4
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F4CF: alloc_tmpbuf (seq.c:3889)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 8 at 0xcfe61a8 by thread #4
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F4DA: alloc_tmpbuf (seq.c:3892)
==24776==    by 0x3AD069F59D: snd_seq_event_output_direct (seq.c:3921)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1000 by thread #4
==24776==    at 0x3AD069F5AF: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F5AF: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1008 by thread #4
==24776==    at 0x3AD069F5B7: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F5B7: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0x102c1010 by thread #4
==24776==    at 0x3AD069F5C0: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 8 by thread #2
==24776==    at 0x3AD069F5C0: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 4 at 0x102c1018 by thread #4
==24776==    at 0x3AD069F5C9: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 4 by thread #2
==24776==    at 0x3AD069F5C9: snd_seq_event_output_direct (seq.c:3923)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101c by thread #4
==24776==    at 0x4A08CF7: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x4A08CC2: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101d by thread #4
==24776==    at 0x4A08D01: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x4A08CC2: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101e by thread #4
==24776==    at 0x4A08D0C: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x4A08C85: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c101f by thread #4
==24776==    at 0x4A08D17: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x4A08C7A: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x102c1024 by thread #4
==24776==    at 0x4A08D52: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD8682BF: drumstick::SequencerOutputThread::sendSongEvent(drumstick::SequencerEvent*) (playthread.cpp:128)
==24776==    by 0xD8680E2: drumstick::SequencerOutputThread::run() (playthread.cpp:189)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x4A08C65: memcpy (hg_intercepts.c:2358)
==24776==    by 0x3AD069F5E2: snd_seq_event_output_direct (string3.h:52)
==24776==    by 0xD859D01: drumstick::MidiClient::outputDirect(drumstick::SequencerEvent*, bool, int) (alsaclient.cpp:998)
==24776==    by 0xD408727: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:257)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x4eb0718 by thread #2
==24776==    at 0x3AC8D574E1: QCoreApplication::postEvent(QObject*, QEvent*, int) (qcoreapplication.cpp:1163)
==24776==    by 0x3AC8D67A06: queued_activate(QObject*, int, QObjectPrivate::Connection*, void**, QSemaphore*) (qobject.cpp:3173)
==24776==    by 0x3AC8D6A179: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3266)
==24776==    by 0x4C3E261: KMid::MIDIObject::tick(long long) (midiobject.moc:164)
==24776==    by 0xD4088C6: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:183)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous read of size 1 by thread #1
==24776==    at 0x3AC8D7D55C: postEventSourcePrepare(_GSource*, int*) (qeventdispatcher_glib.cpp:260)
==24776==    by 0x3AC203C449: g_main_context_prepare (gmain.c:2280)
==24776==    by 0x3AC203C820: g_main_context_iterate (gmain.c:2571)
==24776==    by 0x3AC203CD49: g_main_context_iteration (gmain.c:2654)
==24776==    by 0x3AC8D7D062: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:412)
==24776==    by 0x3AC9849A4D: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==24776==    by 0x3AC8D56191: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==24776==    by 0x3AC8D5645B: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201)
==24776== 
==24776== Possible data race during write of size 1 at 0x4eb0718 by thread #2
==24776==    at 0x3AC8D574E1: QCoreApplication::postEvent(QObject*, QEvent*, int) (qcoreapplication.cpp:1163)
==24776==    by 0x3AC8D67A06: queued_activate(QObject*, int, QObjectPrivate::Connection*, void**, QSemaphore*) (qobject.cpp:3173)
==24776==    by 0x3AC8D6A179: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3266)
==24776==    by 0x4C3E09C: KMid::MIDIObject::midiNoteOn(int, int, int) (midiobject.moc:218)
==24776==    by 0xD408A20: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:222)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous read of size 1 by thread #1
==24776==    at 0x3AC8D7D55C: postEventSourcePrepare(_GSource*, int*) (qeventdispatcher_glib.cpp:260)
==24776==    by 0x3AC203C449: g_main_context_prepare (gmain.c:2280)
==24776==    by 0x3AC203C820: g_main_context_iterate (gmain.c:2571)
==24776==    by 0x3AC203CD49: g_main_context_iteration (gmain.c:2654)
==24776==    by 0x3AC8D7D062: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:412)
==24776==    by 0x3AC9849A4D: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==24776==    by 0x3AC8D56191: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==24776==    by 0x3AC8D5645B: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201)
==24776== 
==24776== Possible data race during read of size 1 at 0x4eb0718 by thread #1
==24776==    at 0x3AC8D7D55C: postEventSourcePrepare(_GSource*, int*) (qeventdispatcher_glib.cpp:260)
==24776==    by 0x3AC203C139: g_main_context_check (gmain.c:2469)
==24776==    by 0x3AC203C91C: g_main_context_iterate (gmain.c:2588)
==24776==    by 0x3AC203CD49: g_main_context_iteration (gmain.c:2654)
==24776==    by 0x3AC8D7D062: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:412)
==24776==    by 0x3AC9849A4D: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==24776==    by 0x3AC8D56191: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==24776==    by 0x3AC8D5645B: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201)
==24776==    by 0x3AC8D58748: QCoreApplication::exec() (qcoreapplication.cpp:981)
==24776==    by 0x42FF43: main (main.cpp:63)
==24776==  This conflicts with a previous write of size 1 by thread #2
==24776==    at 0x3AC8D574E1: QCoreApplication::postEvent(QObject*, QEvent*, int) (qcoreapplication.cpp:1163)
==24776==    by 0x3AC8D67A06: queued_activate(QObject*, int, QObjectPrivate::Connection*, void**, QSemaphore*) (qobject.cpp:3173)
==24776==    by 0x3AC8D6A179: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3266)
==24776==    by 0x4C3E09C: KMid::MIDIObject::midiNoteOn(int, int, int) (midiobject.moc:218)
==24776==    by 0xD408A20: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:222)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==
Comment 26 Niels Mayer 2010-06-04 23:19:42 UTC
and now it's hung, and making machine very slow....


==24776== Possible data race during write of size 4 at 0xcfe0700 by thread #1
==24776==    at 0xD40732B: KMid::ALSAMIDIObject::updateState(KMid::State) (alsamidiobject.cpp:717)
==24776==    by 0xD40735F: KMid::ALSAMIDIObject::songFinished() (alsamidiobject.cpp:703)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==    by 0x3AC8D7D522: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qcoreapplication.h:220)
==24776==    by 0x3AC203923D: g_main_context_dispatch (gmain.c:1960)
==24776==    by 0x3AC203CC27: g_main_context_iterate (gmain.c:2591)
==24776==  This conflicts with a previous read of size 4 by thread #2
==24776==    at 0xD4086BB: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:179)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during read of size 1 at 0xcfdf910 by thread #2
==24776==    at 0x3AC8D69FE3: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3221)
==24776==    by 0x4C3E09C: KMid::MIDIObject::midiNoteOn(int, int, int) (midiobject.moc:218)
==24776==    by 0xD408A20: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:222)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==  This conflicts with a previous write of size 1 by thread #1
==24776==    at 0x3AC8D668E4: QObject::event(QEvent*) (qobject.cpp:1236)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==    by 0x3AC8D7D522: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qcoreapplication.h:220)
==24776==    by 0x3AC203923D: g_main_context_dispatch (gmain.c:1960)
==24776== 
==24776== Possible data race during write of size 4 at 0xcfe0700 by thread #1
==24776==    at 0xD40732B: KMid::ALSAMIDIObject::updateState(KMid::State) (alsamidiobject.cpp:717)
==24776==    by 0xD40999D: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:656)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==    by 0x3AC8D7D522: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qcoreapplication.h:220)
==24776==    by 0x3AC203923D: g_main_context_dispatch (gmain.c:1960)
==24776==    by 0x3AC203CC27: g_main_context_iterate (gmain.c:2591)
==24776==  This conflicts with a previous read of size 4 by thread #2
==24776==    at 0xD4086BB: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:179)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776== 
==24776== Possible data race during read of size 8 at 0xcfe6178 by thread #1
==24776==    at 0x3AD069F64C: snd_seq_event_output_buffer (seq.c:3863)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F688: snd_seq_event_output_buffer (seq.c:3866)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0xd00cd20 by thread #1
==24776==    at 0x3AD069F667: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F667: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0xd00cd28 by thread #1
==24776==    at 0x3AD069F66E: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F66E: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0xd00cd30 by thread #1
==24776==    at 0x3AD069F676: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F676: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 4 at 0xd00cd38 by thread #1
==24776==    at 0x3AD069F67D: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 4 by thread #4
==24776==    at 0x3AD069F67D: snd_seq_event_output_buffer (string3.h:52)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 8 at 0xcfe6178 by thread #1
==24776==    at 0x3AD069F688: snd_seq_event_output_buffer (seq.c:3866)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD86477D: drumstick::MidiQueue::start() (alsaqueue.cpp:848)
==24776==    by 0xD409AC6: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:85)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==  This conflicts with a previous write of size 8 by thread #4
==24776==    at 0x3AD069F688: snd_seq_event_output_buffer (seq.c:3866)
==24776==    by 0x3AD069F6F8: snd_seq_event_output (seq.c:3834)
==24776==    by 0x3AD06A1185: snd_seq_control_queue (seqmid.c:57)
==24776==    by 0xD864727: drumstick::MidiQueue::stop() (alsaqueue.cpp:860)
==24776==    by 0xD86802D: drumstick::SequencerOutputThread::run() (playthread.cpp:202)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776== 
==24776== Possible data race during write of size 4 at 0xcfe0700 by thread #1
==24776==    at 0xD40732B: KMid::ALSAMIDIObject::updateState(KMid::State) (alsamidiobject.cpp:717)
==24776==    by 0xD409B71: KMid::ALSAMIDIObject::openFile(QString const&) (alsamidiobject.cpp:686)
==24776==    by 0xD40A04F: KMid::ALSAMIDIObject::qt_metacall(QMetaObject::Call, int, void**) (alsamidiobject.moc:149)
==24776==    by 0x3AC8D66920: QObject::event(QEvent*) (qobject.cpp:1248)
==24776==    by 0x3AC97AA9DB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==24776==    by 0x3AC97B0AAA: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==24776==    by 0x3AD3806855: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==24776==    by 0x3AC8D5774B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==24776==    by 0x3AC8D58496: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215)
==24776==    by 0x3AC8D7D522: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qcoreapplication.h:220)
==24776==    by 0x3AC203923D: g_main_context_dispatch (gmain.c:1960)
==24776==    by 0x3AC203CC27: g_main_context_iterate (gmain.c:2591)
==24776==  This conflicts with a previous read of size 4 by thread #2
==24776==    at 0xD4086BB: KMid::ALSAMIDIObject::handleSequencerEvent(drumstick::SequencerEvent*) (alsamidiobject.cpp:179)
==24776==    by 0xD85785B: drumstick::MidiClient::doEvents() (alsaclient.cpp:648)
==24776==    by 0xD859671: drumstick::MidiClient::SequencerInputThread::run() (alsaclient.cpp:1736)
==24776==    by 0x3AC8C709A4: QThreadPrivate::start(void*) (qthread_unix.cpp:248)
==24776==    by 0x4A0A1A5: mythread_wrapper (hg_intercepts.c:201)
==24776==    by 0x3AC1406A39: start_thread (pthread_create.c:297)
==24776==    by 0x3AC08DE77C: clone (clone.S:112)
==24776==
Comment 27 Niels Mayer 2010-06-04 23:20:55 UTC
got tired of waiting and killed it:


^C==24776== Thread #1: Exiting thread still holds 2 locks
==24776==    at 0x3AC8D57F62: QCoreApplication::removePostedEvents(QObject*, int) (qmutex.h:109)
==24776==    by 0x3AC8D6C15C: QObject::~QObject() (qobject.cpp:979)
==24776==    by 0x3AC99F4BA8: QTextFrame::~QTextFrame() (qtextobject.cpp:425)
==24776==    by 0x3AC8D656FB: QObjectPrivate::deleteChildren() (qobject.cpp:1986)
==24776==    by 0x3AC8D6C148: QObject::~QObject() (qobject.cpp:975)
==24776==    by 0x3AC99F7B48: QTextDocument::~QTextDocument() (qtextdocument.cpp:347)
==24776==    by 0x3AC8D656FB: QObjectPrivate::deleteChildren() (qobject.cpp:1986)
==24776==    by 0x3AC8D6C148: QObject::~QObject() (qobject.cpp:975)
==24776==    by 0x3AC99CE878: QTextControl::~QTextControl() (qtextcontrol.cpp:783)
==24776==    by 0x3AC8D656FB: QObjectPrivate::deleteChildren() (qobject.cpp:1986)
==24776==    by 0x3AC8D6C148: QObject::~QObject() (qobject.cpp:975)
==24776==    by 0x432D47: KeyLabel::~KeyLabel() (keylabel.h:29)
==24776== 
==24776== 
==24776== For counts of detected and suppressed errors, rerun with: -v
==24776== Use --history-level=approx or =none to gain increased speed, at
==24776== the cost of reduced accuracy of conflicting-access information
==24776== ERROR SUMMARY: 2791 errors from 43 contexts (suppressed: 115216 from 197)
Killed
Comment 28 Kevin Kofler 2010-06-04 23:39:23 UTC
In principle, a "double free or corruption" is something the default memcheck tool is supposed to catch, but of course the Valgrind VM changes the threading behavior, so unfortunately, it's not all that surprising that you can't reproduce the crash inside Valgrind.
Comment 29 Niels Mayer 2010-06-05 00:18:32 UTC
Current valgrind output too large, see
http://nielsmayer.com/kmid-under-valgrind-on-dual-core.txt

at end:
^C==24788== 
==24788== For counts of detected and suppressed errors, rerun with: -v
==24788== Use --history-level=approx or =none to gain increased speed, at
==24788== the cost of reduced accuracy of conflicting-access information
==24788== ERROR SUMMARY: 47844 errors from 79 contexts (suppressed: 1856359 from 304)
Killed
Comment 30 Niels Mayer 2010-06-05 02:25:19 UTC
Created attachment 47684 [details]
output from 'valgrind --tool=helgrind kmid *.mid'

The output mentioned above at URL http://nielsmayer.com/kmid-under-valgrind-on-dual-core.txt is attached.
Comment 31 Unknown 2010-06-06 20:55:18 UTC
SVN commit 1135192 by pedrol:

ALSAMIDIOutput::sendEvent() is called from two different threads. To avoid problems, this method needs to be protected by a mutex. It may be one of the causes of the crashes detected in a quad core system, but I couldn't reproduce it.
CCBUG: 240391

 M  +10 -5     alsamidioutput.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1135192
Comment 32 Kevin Kofler 2010-06-06 22:36:28 UTC
Do you want me to build test packages with this patch so we can see if this fixes it?
Comment 33 Unknown 2010-06-07 14:05:35 UTC
SVN commit 1135471 by pedrol:

Player object signals should be always queued to other objects.

CCBUG: 240391

 M  +6 -4      alsamidiobject.cpp  
 M  +3 -3      alsamidioutput.cpp  
 M  +3 -1      player.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1135471
Comment 34 Unknown 2010-06-07 14:28:08 UTC
Kevin: this is a work in progress, I don't know if or when it can be finished. 

I can't reproduce the bug, so I'm not able to say if it has been fixed or not. If anyone wants to help, please compile KMid _in_debug_mode_ from the SVN sources, and test. If the program crashes, please post the stack trace. Thank you.
Comment 35 Unknown 2010-06-07 17:34:41 UTC
SVN commit 1135559 by pedrol:

snd_seq_event_output_direct() is not thread safe. Workaround: centralized output, protected by a mutex. 

CCBUG: 240391

 M  +1 -0      alsamidiobject.cpp  
 M  +11 -1     alsamidioutput.cpp  
 M  +3 -0      alsamidioutput.h  
 M  +11 -0     player.cpp  
 M  +5 -2      player.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1135559
Comment 36 Unknown 2010-06-07 18:30:31 UTC
SVN commit 1135571 by pedrol:

Reverted last commit.

CCBUG: 240391

 M  +0 -1      alsamidiobject.cpp  
 M  +1 -11     alsamidioutput.cpp  
 M  +0 -3      alsamidioutput.h  
 M  +0 -11     player.cpp  
 M  +2 -5      player.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1135571
Comment 37 Unknown 2010-06-08 07:48:55 UTC
SVN commit 1135743 by pedrol:

snd_seq_event_output_direct() is not thread safe, this workaround uses two ALSA clients: one in the player thread, and another one for output.

CCBUG: 240391

 M  +8 -2      alsamidiobject.cpp  
 M  +4 -11     alsamidioutput.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1135743
Comment 38 Unknown 2010-06-08 08:21:00 UTC
The last commit should fix some of the threading problems, without punishing too much the performance. Please test.
Comment 39 Kevin Kofler 2010-06-09 05:14:25 UTC
I issued scratch builds with those threading fixes (up to and including revision 1135743) for easier testing:
Fedora 14: http://koji.fedoraproject.org/koji/taskinfo?taskID=2239792
Fedora 13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2239795
Fedora 12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2239798
Fedora 11: http://koji.fedoraproject.org/koji/taskinfo?taskID=2239807

Note: these are SCRATCH builds, i.e. I'm not pushing them anywhere yet, I'm just making them available for testing so you don't have to build the package from source. Debugging information is in the kmid2-debuginfo package as usual.
Comment 40 Niels Mayer 2010-06-09 18:20:16 UTC
I ran the F12 scratch build from #39 and have been playing files out of the megatrade-midi collection for about 10 hours on the quad core machine, in essentially the same configuration that had been causing crashes previously.

Pedro's latest changes fixes all the crashing and memory corruption problems I reported in this bug.

Thanks to both of you for the excellent work! And thanks Pedro, for putting out this and all your other programs so I can learn how to do MIDI programming on Linux, based on your exemplary coding.
Comment 41 Unknown 2010-06-09 18:51:22 UTC
Thanks to Niels for the report and testing, and to Kevin for the packages. If you both agree, I will close the report as fixed.

I'm going to prepare a release 2.3.1 in a few days, maybe this saturday, including all the fixes and the new/updated translations. There will be also a new Drumstick release 0.3.2, hopefully tomorrow.
Comment 42 Niels Mayer 2010-06-09 18:56:07 UTC
Yes, this bug can be closed. Looking forward to the updated versions.
Comment 43 Kevin Kofler 2010-06-09 23:50:00 UTC
Let's close this, it seems to be fixed. I'll take care of updating the Fedora packages. I think I'll just wait for 2.3.1 given that it's imminent.
Comment 44 Niels Mayer 2010-06-11 00:19:08 UTC
It finally finished playing through the entire directory of MIDI files, and exited successfully when I quit via the GUI:


gnulem-127-.../Music/megatrade-midi> kmid *.mid
kmid(24269)/kdeui (kdelibs): Attempt to use QAction "show_volume_pitch" with KXMLGUIFactory! 
kmid(24269)/kdeui (kdelibs): Attempt to use QAction "show_position" with KXMLGUIFactory! 
kmid(24269)/kdeui (kdelibs): Attempt to use QAction "show_codecs" with KXMLGUIFactory! 
kmid(24269)/kdeui (kdelibs): Attempt to use QAction "show_rhythm" with KXMLGUIFactory! 
kmid(24269)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
kmid(24269)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/home/npm/.local/share/mime/magic"
kmid(24269)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:


It played all 502 Files:

gnulem-111-~/Documents> ls -1 ~/.kde/share/apps/kmid/songlib/*.cfg | wc -l 
502