-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZynAddSubFX "Show GUI" broken (Apple) #703
Comments
Windows had this problem with Zyn before 1.0.0, think it was in relation with the update of Zyn? Cause you updated Zyn, right? 💭 Perhaps the fix to the problem wasn't a proper fix, but rather a workaround? |
Yeah I researched that thoroughly prior to opening. Toby's comments |
FYI, this bug still exists in the stable-1.1 branch. The new version of Zyn does not fix this. |
For now, I will recommend disabling the Zyn GUI until this crash can be resolved. This will gray-out the button so that it is no longer clickable on Apple. Before: (ZynAddSubFx.cpp#L535) m_toggleUIButton->setCheckable( true ); After: m_toggleUIButton->setCheckable( true );
#ifdef LMMS_BUILD_APPLE
m_toggleUIButton->setEnabled( false );
#endif |
On 06/04/2014 08:19 PM, Tres Finocchiaro wrote:
I'd say it's better to just not include Zyn at all rather than disable Or, you know, fix whatever is causing the crash. Got any backtraces? |
It plays well otherwise, so disabling it completely might be overkill as The back traces are useless to me at this point because I can't figure an |
On 06/05/2014 02:10 PM, Tres Finocchiaro wrote:
Try -DCMAKE_BUILD_TYPE=Debug |
Ah... much better. Thank you @diizy! Here is the back-trace: If you know a bit about debugging, can you verify my steps are correct? On a side note, the |
So I can confirm the hang is occurring here: I added a |
On 06/05/2014 04:56 PM, Tres Finocchiaro wrote:
frame #0: 0x00007fff92deed52 libsystem_kernel.dylib
Seems to have something to do with the shmem stuff, I've no idea how |
On 06/05/2014 05:36 PM, Tres Finocchiaro wrote:
Just a random idea: Try adding #define USE_QT_SHMEM on line #45, so it's for apple builds too... See if it makes a difference. |
Yeah, thanks. I was trying this as you were typing it. 😄 I do remember Toby recommending this at some point, but it throws some new errors that I'm unfamiliar with:
Googling them recommends this:
Which seems to compile, but still crashes here: |
So this is strange because that debug suggests it's hanging on wait here: But it should never get there because |
Good to know that, before I started doing workshops...
|
and #892 |
@diizy Unfortunately it does not. I tested the change (initializing the I assume your commit fixes the crash on Win32? Great news if it does! 😈 There's always a chance my linked libraries are wrong and causing issues too although I've checked them using Apple's -Tres |
On 06/30/2014 06:09 PM, Tres Finocchiaro wrote:
I've no idea if it does. You're the one with access to a windows box... |
does a win 32 newer that 210614 exists? no need i found Tresf' |
FYI, Zyn GUI is still broken on Win32 so no need to report that again. ;) Windows installers (32bit/64bit) dated June 30th, 2014: https://drive.google.com/file/d/0B4PpvIwHd1U0aE1WaklHX0tfMDg/edit?usp=sharing https://drive.google.com/file/d/0B4PpvIwHd1U0OVZnMVJEeWtUNjQ/edit?usp=sharing |
Off topic for this bug report, but Zyn GUI on 1.0.9.1 Win32 has been fixed. Will link the installer in the appropriate thread. |
Back to the Apple stuff... Apple seems to support Since PostgreSQL uses (Debugged by adding Before increasing system values:
After increasing system values:
So I'm at a crossroads as to the next logical path. Inclined to switch to using QT's shared memory methods and troubleshoot from there although this is progress even if minor... |
FYI - Some outstanding |
without QT_SHMEM: shmdt(m_data) is called before the sem_destroy() which will lead to an segmentation fault. The following patch should fix that issue. diff -ur lmms-1.1.3.orig/include/RemotePlugin.h lmms-1.1.3/include/RemotePlugin.h
--- include/RemotePlugin.h 2016-02-26 12:49:58.087588000 +0100
+++ include/RemotePlugin.h 2016-02-26 12:50:38.213681000 +0100
@@ -250,9 +250,6 @@
~shmFifo()
{
-#ifndef USE_QT_SHMEM
- shmdt( m_data );
-#endif
// master?
if( m_master )
{
@@ -264,6 +261,9 @@
sem_destroy( m_messageSem );
#endif
}
+#ifndef USE_QT_SHMEM
+ shmdt( m_data );
+#endif
}
inline bool isInvalid() const |
Thanks for the recommendation... I attempted to implement your solution on
|
Hey, sem_init() seems to be broken on OSX. You might be successful by defining USE_QT_SEMAPHORES on OSX --- include/RemotePlugin.h 2016-02-26 06:00:20.000000000 +0100
+++ include/RemotePlugin.h 2016-02-29 00:26:54.624782000 +0100
@@ -37,7 +37,7 @@
#include <cassert>
-#if defined(LMMS_HAVE_SYS_IPC_H) && defined(LMMS_HAVE_SEMAPHORE_H)
+#if defined(LMMS_HAVE_SYS_IPC_H) && defined(LMMS_HAVE_SEMAPHORE_H) && ! defined(__APPLE__)
#include <sys/ipc.h>
#include <semaphore.h>
#else I don't use OSX so it's not tested ;) |
@bjalfi Thanks again for the recommendation. I tried the approach suggested and clicking the Zyn On a related note, if your patch fixes the problem for another platform, please issue a pull request so that the Mac issues don't hold it up. On the other hand, if you're still interested in helping this issue, please continue to share your recommendations. 👍 I can also grant access to a the VMs I use for my OS X build environments if interested (this offer stands for anyone interested). |
The |
I'm confused... I'm referring to ZynAddSubFX... Can you explain? |
The error is only noise. When a remote plug-in client ( |
@jasp00 ok thanks. So this is what I get with the changes in
|
The output looks normal. The |
As of LMMS 1.2.0-rc3, the 'Show GUI' button doesn't seem to do anything on OSX. What needs to be done to get it to work? |
@jasp00's comments explain what needs to be done.
It never did anything, we just finally re-enabled it because the crash is gone. The underlying issue still remains. We don't have many people on Mac or those with the experience to troubleshoot remote plugins, so this issue will remain open until someone can step through the code. If you or someone you know is interested in the code, we can point you in that direction. Specifically, the LMMS executable tries to open Zyn as a remote process and that is something that may depend on linking and/or a proper path to the RemoteZyn process. It's all spelled out in the code if you're interested in helping, we can link the relevant parts. |
From Discord, @PhysSong and I took a look at the backtrace from RC5, and this is our findings...
[...]
|
The backtrace from @tresf: https://gist.github.com/tresf/dc8730c127b5b6330f6e3199f3c3b9fb |
@PhysSong thanks! Yes, that fixes it on 10.8 at least. I'll try 10.13 later and report back. |
@tresf -you ned to go deeper. changing the waveform has been a crash issue in ealier releases. I have not yet installed rc5, but will do tomorrow at home |
@musikBear I assume you're talking about #1001 (comment), #1991 (comment). Those are separate, unrelated issues. From memory they only crashed Windows XP. The upside is if this is caused by an obscure threading issue, this patch may help, but speculating won't help. The next release will have this fix applied and you can test it then. On a side note, please improve the quality of your posts. Although it was done with good intent, it lacks any useful quality that we'd expect from a tester.
|
The ZynAddSubFX instrument plugin plays audio in OSX, however the "Show GUI" button crashes the software.
The crash seems to be caused within the
initPlugin()
or possibly thereloadPlugin()
code although this could be a missing library reference as well. (view initPlugin() code here)Click here for the list of libraries that load when lmms is executed
Click here for a partial stacktrace of the crash
Some outstanding
QSharedMemory
bugs:https://bugreports.qt-project.org/browse/QTBUG-27765
https://bugreports.qt-project.org/browse/QTBUG-5123
I notice fltk isn't in the list when LMMS loads. I believe that is normal, as only the Remote process should load it. If I had a way of launching ZynAddSubFX without LMMS it might shed some more light on this issue as even a
cout
debug added to the code won't echo to terminal as it's a separate process.The text was updated successfully, but these errors were encountered: