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
ZamDelay VST 3.12 crashes in Radium, not accepted by JUCE host, crashes in Renoise, and shows assertion messages in Ardour. #80
Comments
Backtrace:
|
If I comment out the call to 'std:free' for the above crash, ZamDelay is accepted by the scanner. However, when I try to load the plugin into Radium, I get this crash:
|
See also discussion here: https://users.notam02.no/~kjetism/radium/forum/viewtopic.php?f=7&t=279 |
@kmatheussen do you also get crashes with the rest of zam-plugins? and what about other DPF-based plugins? That would be an interesting test. I'm sorry but I don't know anything about Radium. |
@kmatheussen from that backtrace, it looks like the host, Radium, is calling the deconstructor twice, so tries to double free the plugin. ~VSTPluginInstance() see # 13 and # 14 of the first backtrace, (somehow # 5 and # 6 are both called which are the same destructor for my plugin). |
It looks like the ttl generation failed for you, can you please post your git hash that you were on when you ran that command? |
No, just this one. Tried all the others.
Radium uses JUCE to host VST plugins. (Radium is probably also the oldest DAW on Linux being active developed, just so you know. :-)). Reportedly, there is currently a bug in JUCE where effOpen is called twice during init, but as far as I can see all plugins seems to manage this.
Yes, that's really strange. It's called from DISTHRO though. Maybe @falkTX understands what happening here? It looks like DISTRHO::PluginVst::fStateChunk points to another DISTHRO::PluginVst instance. Guess there is a memory corruption happening somewhere. Have you ran the plugin with ASAN?
|
Oh, yes, you said, the same thing happens in frame 13 and 14 too. And that's in JUCE. This looks really strange. The destructor calls itself, with the same "this" value. And the exact same thing happens in a completely different (?) class inside DISTHRO as well. Weird. |
Hmm, I think frame 13 and 14 may be legit. It's some weird JUCE code that schedules deletion of the vst instance to happen in the message thread, and then waits for it to finish before exiting the scheduler. This causes the destructor to be called twice. |
No, that doesn't make sense. I guess the destructor is only called once, but the method name in the bactrace is incomplete. Frame 13 is actually called inside a "VSTDeleter" inner class inside the destructor. So I'm pretty sure there's nothing wrong with frame 13 and 14. |
Also when it hits line 1138, it calls the destructor again ? |
Good point. I have no idea. |
I tried to add a call to abort() in DISTRHO::PluginVst::~PluginVst, and the ZaMaximV2, to provoke bactrace on a plugin that apparently works fine, and both the same double calls to constructrs are there as well:
I guess backtrace in frame 13 and 14 could be fine, and that it's just bug in the backtrace. This might be the case for frame 5 and 6 as well. |
Anyway, I've marked ZamDelay as unstable in Radium, so the case is closed on my end. Please let me know if you need more help. |
In the JUCE AudioPluginHost program, none of the ZAM vst plugins are accepted by the scanner (it's not the same scanner that is used in Radium). In Renoise, the scanner accepted ZamDelay, but ZamDelay crashes when trying to load it. In Ardour, ZamDelay is both accepted by the scanner, and it even runs, but I get these assertion messages when deleting the plugin:
|
I cannot reproduce any of these assertion messages on Ardour 5.12 or Ardour 6.0 (compiled from source) on Fedora 30. Can you point me to the official JUCE test program that I can use to reproduce? |
|
Thanks |
I got this against every VST plugin in zam-plugins
But they all load in AudioPluginHost and delete fine. |
That assertion is expected, because some hosts call effOpen twice, some don't . |
@kmatheussen not sure what is going wrong on your end... seems all good here. |
Guess it behaves differently because of memory corruption. Sometimes it
works, sometimes not. And in your code, calling "effOpen" is taken care of
by DISTHRO, so that shouldn't explain the assertions.
…On Sat, May 30, 2020 at 12:17 PM Damien Zammit ***@***.***> wrote:
@kmatheussen <https://github.com/kmatheussen> not sure what is going
wrong on your end... seems all good here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#80 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAIX3JZZ6YAZDK7KTWZ47GDRUDMJ3ANCNFSM4NMLT7CA>
.
|
I'm compiling the plugins like this though:
|
Above it should say: "calling "effOpen" twice". |
With
|
|
I was testing ardour/renoise/juce with the call to std::free commented out, as I wrote above. When I reinserted that line, the scanner in Ardour doesn't accept ZamDelay either. Could it be gcc version? I've tried both gcc 9 and gcc 10 now. (-fsanitize=address doesn't change whether it crashes or not) |
|
Could it be something simple like |
I'm not writing "make install", I just point the hosts to scan for
plugins in /home/kjetil/zam-plugins/bin
…On Sat, May 30, 2020 at 1:07 PM Damien Zammit ***@***.***> wrote:
Could it be something simple like make install failing to install the version you think you just compiled due to the make failing, so you might not even have the correct plugins...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
@kmatheussen I updated the dpf submodule and fixed some uninitialised values. Please try again on master. |
@kmatheussen can you please test again using zam-plugins 4.1, I think the bug should be gone. |
@kmatheussen bump? Is the bug gone in 4.2? |
Hi, the plugin scanner for Radium reports that this plugin crashes:
To compile i just wrote "make", but "make" crashed too (!):
Don't know if this crash is related to the VST plugin crashing...
The text was updated successfully, but these errors were encountered: