![]() Qt should help circumvent these limitations. This requires applications to roll their own SHMEM calls. AFAIK, Mac - for example - has extremely low SHMEM thresholds when using pure C++. I'm making some broad assumptions, but I assume shared memory started as a *nix-Only feature and matured into using Qt's more platform independent implementation for the proprietary platforms, - such as Windows (and eventually for Mac #698, #703 - once we get that sorted out)Īlthough I'm curious if we should just switch our code to use Qt for all platforms, since it comes as a dependency on our codebase anyway. I believe this is in part due to the choice to use native C++ shared memory for some platforms, but Qt Shared memory for others. Here's an article that explains (perhaps) how we can do better debugging: In the short term, the major troubleshooting issue we have is in these scenarios where our shared memory logic fails with no sign of where or why. When LMMS talks to an external process (this happens for VST(fx), VST(i) and AFAIK ZynAddSubFX's GUI uses it too). I think the long term solution is to add better exception handling to our RemotePlugin code. My Manjaro install suffers the exact same symptoms of that in the original bug report. Sorry I hadn't yet posted an update on this. Let me know if I can provide more information. What is weird is that it seems to happen only on Arch Linux? _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffd060) at /home/gnurou/Projects/lmms/lmms/build/plugins/vestige/moc_vestige.cxx:217 #19 0x00007fffa1bf73f8 in VestigeInstrumentView::openPlugin (this=0x18d8440) at /home/gnurou/Projects/lmms/lmms/plugins/vestige/vestige.cpp:650 ![]() #18 0x00007fffa1bf4f51 in vestigeInstrument::loadFile (this=0x7fffeafb7da0, _file=.) at /home/gnurou/Projects/lmms/lmms/plugins/vestige/vestige.cpp:260 #17 0x00007fffa27327dc in VstPlugin::VstPlugin (this=0x1b6add0, _plugin=.) at /home/gnurou/Projects/lmms/lmms/plugins/vst_base/VstPlugin.cpp:102 #16 0x00007fffa2732d19 in VstPlugin::tryLoad (this=0x1b6add0, remoteVstPluginExecutable=.) at /home/gnurou/Projects/lmms/lmms/plugins/vst_base/VstPlugin.cpp:183 #15 0x0000000000537fc7 in RemotePlugin::waitForInitDone (this=0x1b6ae00, _busyWaiting=true) at /home/gnurou/Projects/lmms/lmms/include/RemotePlugin.h:690 #14 0x000000000053607e in RemotePluginBase::waitForMessage (this=0x1b6ae00, _wm=., _busy_waiting=true) at /home/gnurou/Projects/lmms/lmms/include/RemotePlugin.h:954 #13 0x00007ffff69255ce in QCoreApplication::processEvents(QFlags, int) () from /usr/lib/libQtCore.so.4 #11 0x00007ffff6952044 in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/libQtCore.so.4 #10 0x00007ffff3fcbd8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #8 0x00007ffff3fcb1bd in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #0 0x00007ffff7bcdc1d in recvmsg () from /usr/lib/libpthread.so.0
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |