Summary: | kmid2 crashes due to lots of MIDI files in a directory, or browsing those files. | ||
---|---|---|---|
Product: | kmid | Reporter: | Niels Mayer <NielsMayer> |
Component: | general | Assignee: | Unknown <null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kevin.kofler, NielsMayer |
Priority: | NOR | ||
Version: | 2.3.0 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi output from 'valgrind --tool=helgrind kmid *.mid' |
Description
Niels Mayer
2010-06-01 21:43:51 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) 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. 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 ............. 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
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? 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 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 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 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.... 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) Can you please try running: valgrind kmid [cC-zZ]*.mid ? That would give us more information about what is going wrong. 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 Maybe this is actually the same bug as bug 240394? (The only difference between kmid2-2.3.0-1.fc12 and kmid2-2.3.0-2.fc12 is Pedro's fix for bug 240394.) 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. 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.
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) 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 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: 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
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. 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 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 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) 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== 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== 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 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. 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 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. 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 Do you want me to build test packages with this patch so we can see if this fixes it? 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 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. 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 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 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 The last commit should fix some of the threading problems, without punishing too much the performance. Please test. 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. 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. 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. Yes, this bug can be closed. Looking forward to the updated versions. 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. 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 |