Using the latest MH Editor 1.11.1.AppImage on Fedora 32:
- start editor
- device → connect
- device → export everything → enter (or whatever filename)
→ aborts with message “*** buffer overflow detected ***: terminated” 100% reliably for me. Here’s what gdb has to say about it:
Thread 1 “midihub-editor” received signal SIGABRT, Aborted.
0x00007f81946a7a25 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007f81946a7a25 in raise () from /lib64/libc.so.6
#1 0x00007f8194690895 in abort () from /lib64/libc.so.6
#2 0x00007f81946eb8c7 in __libc_message () from /lib64/libc.so.6
#3 0x00007f819477c7ea in __fortify_fail () from /lib64/libc.so.6
#4 0x00007f819477b076 in __chk_fail () from /lib64/libc.so.6
#5 0x000000000042aa0e in midihub_editor::writeDump(QIODevice&, MidihubDump const&) const ()
#6 0x000000000042e6b1 in midihub_editor::exportAll() ()
#7 0x00007f8194e43e39 in QMetaObject::activate(QObject*, int, int, void**) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#8 0x00007f81957b9022 in QAction::triggered(bool) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#9 0x00007f81957bb990 in QAction::activate(QAction::ActionEvent) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#10 0x00007f819592848a in ?? ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#11 0x00007f819592fa76 in ?? ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#12 0x00007f81959308f0 in QMenu::mouseReleaseEvent(QMouseEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#13 0x00007f8195806768 in QWidget::event(QEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#14 0x00007f8195932c73 in QMenu::event(QEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#15 0x00007f81957bf99c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#16 0x00007f81957c7c35 in QApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#17 0x0000000000420968 in EditorApp::notify(QObject*, QEvent*) ()
#18 0x00007f8194e19078 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#19 0x00007f81957c695f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEv–Type for more, q to quit, c to continue without paging–
ent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#20 0x00007f8195820e76 in ?? ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#21 0x00007f81958234b3 in ?? ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#22 0x00007f81957bf99c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#23 0x00007f81957c7396 in QApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Widgets.so.5
#24 0x0000000000420968 in EditorApp::notify(QObject*, QEvent*) ()
#25 0x00007f8194e19078 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#26 0x00007f819523f8f0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Gui.so.5
#27 0x00007f81952417f5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Gui.so.5
#28 0x00007f819521f67b in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Gui.so.5
#29 0x00007f8191444260 in ?? ()
from /tmp/.mount_MidihuCebx0Q/usr/plugins/platforms/…/…/lib/libQt5XcbQpa.so.5
#30 0x00007f81936e47cf in g_main_context_dispatch ()
from /lib64/libglib-2.0.so.0
#31 0x00007f81936e4b58 in g_main_context_iterate.constprop ()
from /lib64/libglib-2.0.so.0
#32 0x00007f81936e4c23 in g_main_context_iteration ()
from /lib64/libglib-2.0.so.0
#33 0x00007f8194e6a90f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop:–Type for more, q to quit, c to continue without paging–
:ProcessEventsFlag>) ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#34 0x00007f8194e1706a in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#35 0x00007f8194e1f67c in QCoreApplication::exec() ()
from /tmp/.mount_MidihuCebx0Q/usr/bin/…/lib/libQt5Core.so.5
#36 0x000000000041ffce in main ()
(gdb)
FWIW, just fooling around with “lets see what that button does”, wasn’t really trying to achieve anything particular.