>> Otherwise, over to you, DrumGizmo... ? Or what else can we do? > > Carla also had a problem with Drumgizmo, for a while it couldn't open > the native GUI. Reported this, falkTX investigated and found that the > LV2 manifest was not correct. So it seems sometimes a bit fishy. > > Also, there is a commit on the master branch in Drumgizmo which is > named: "Alternative approach to semaphore timed wait." but as far as I > can see this just uses clock_gettime instead of gettimeofday for the > time to wait. > > Also the terminal reports a interrupted system call. In the code they > don't check for EINTR and then just abort. Normal procedure would be to > check for EINTR, recalculate the times and retry, right? > > Maybe I will ask them.
Ok, had a chat with them. In the Drumgizmo code in question I just added a check of EINTR and treated it like ETIMEDOUT, this makes the crash go away. So now they are aware of the problem and will provide a fix for it (hopefully soon, they are preparing 0.9.12) But this brings me back to the other issue. So now I could create the video showing the behaviour with the drumlists (with the fixed Drumgizmo): https://youtu.be/TocOwi2fxjw I have also some new valgrind reports (formatting may be screwed up a bit in the mail): ==19777== Conditional jump or move depends on uninitialised value(s) ==19777== at 0x54D0D58: MusECore::JackAudioDevice::stopTransport() (jack.cpp:2109) ==19777== by 0x500BD74: MusECore::Audio::start() (audio.cpp:224) ==19777== by 0x4FD92B7: MusEGui::MusE::seqStart() (app.cpp:158) ==19777== by 0x40B36D: main (main.cpp:882) ==19777== Invalid read of size 8 ==19777== at 0xECE1E42: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23) ==19777== by 0xECE95DD: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23) ==19777== by 0x147598DA: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4002.0) ==19777== by 0x147598F8: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4002.0) ==19777== by 0xBFBBCE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0xBFBC047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0xBFBC0EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0x727A98B: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x722C96A: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x6471E0C: QDialog::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.2.1) ==19777== by 0x9C3C241: MusEGui::getOpenFileName(QString const&, char const**, QWidget*, QString const&, bool*, MusEGui::MFileDialog::ViewType) (in /opt/muse3/lib/muse-3.0/modules/libmuse_widgets.so) ==19777== by 0x7FDA06C: MusEGui::TList::loadTrackDrummap(MusECore::MidiTrack*, char const*) (tlist.cpp:2321) ==19777== Address 0x31e60cd0 is 608 bytes inside a block of size 864 free'd ==19777== at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==19777== by 0xBD53142: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0) ==19777== by 0xECDB929: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23) ==19777== by 0xECE95DD: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23) ==19777== by 0x147598DA: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4002.0) ==19777== by 0x147598F8: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4002.0) ==19777== by 0xBFBBCE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0xBFBC047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0xBFBC0EB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4002.0) ==19777== by 0x727A98B: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x722C96A: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x6471E0C: QDialog::exec() (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.2.1) ==19777== Conditional jump or move depends on uninitialised value(s) ==19777== at 0x8D40D57: MusEGui::DrumCanvas::rebuildOurDrumMap() (dcanvas.cpp:1967) ==19777== by 0x8D382DF: MusEGui::DrumCanvas::DrumCanvas(MusEGui::MidiEditor*, QWidget*, int, int, char const*) (dcanvas.cpp:144) ==19777== by 0x8D583A6: MusEGui::DrumEdit::DrumEdit(MusECore::PartList*, QWidget*, char const*, unsigned int) (drumedit.cpp:530) ==19777== by 0x4FE47EB: MusEGui::MusE::startDrumEditor(MusECore::PartList*, bool) (app.cpp:1995) ==19777== by 0x4FE4792: MusEGui::MusE::startDrumEditor() (app.cpp:1990) ==19777== by 0x4FE3F91: MusEGui::MusE::startEditor(MusECore::Track*) (app.cpp:1838) ==19777== by 0x4FD315B: MusEGui::MusE::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_app.cpp:593) ==19777== by 0x72552A5: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x7FE4420: MusEGui::Arranger::editPart(MusECore::Track*) (moc_arranger.cpp:281) ==19777== by 0x7FE3E30: MusEGui::Arranger::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_arranger.cpp:170) ==19777== by 0x72552A5: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1) ==19777== by 0x7FE5B3C: MusEGui::PartCanvas::dclickPart(MusECore::Track*) (moc_pcanvas.cpp:296) There are also tons of other reports, but they concern the VSTs and QT itself. lg, Michael ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Lmuse-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmuse-developer
