Error with SixSines VST3

Hi,

install https://github.com/baconpaul/six-sines/releases/download/Nightly/six-sines-macOS-2025-02-04-633146d.dmg

Do a rescan. The below message will appear (I guess due to an error in the nightly build). The problem is now, if you press [OK], Renoise will force quit. I think that should not happen. Also the message is a bit vague, and I already did a rescan.

Weird, it loads just normally in Buttwig. And in Unabletonā€¦ maybe it uses an feature which Renoise misinterprets or something?

BaconPaul has no idea how to fix it, so I assume itā€™s a Renoise problem:
https://www.kvraudio.com/forum/viewtopic.php?p=9039043#p9039043

@taktik baconpaul mentioned that there actually might be a bug in Renoise then (I donā€™t fully understand it):
https://www.kvraudio.com/forum/viewtopic.php?p=9039175#p9039175

Yeah hi @taktik good to chat again. Even if it is about oddities in VST3.

This is definitely a renoise problem with VST3 support, caused by the nightly six sines vst3 having (1) two plugins inside one vst3 file and perhaps (2) those have different topologies.

So hereā€™s what happens

  • The nightly six sines vst3 has two internal plugins. That is, when you scan the single vst3 file you get a pair of vst3s, one called ā€œSix Sinesā€, the other called ā€œSix Sines, Seven Outsā€. The first is the stereo synth, the second is a synth with seven outputs (main plus one per operator)
  • When renoise scans this
    • for the AU it shows both
    • but for the VST3 it doesnt
  • Then when you load the VST3 it says that the synth is an effect, I think because it is confused about which plugin to use and which topology it has

The solution to this is probably supporting multi-plugin cases properly. They are becoming more common (u-he, waves have them and increasingly Iā€™m using them in surge-adjacent land).

But to get ffx back in the water and give you an a b test Iā€™ve just pushed a change which makes two nightlies on mac and windows, one with the full feature set and one with just a single plugin. In my testing when I built the nightly with the single plugin only version, renoise loaded it just fine.

If you want that binary, grab the single-plugin- version of the installers here Release Nightly Ā· baconpaul/six-sines Ā· GitHub

let me know how to help!

2 Likes

Oh also if there was some reliable cross-platform way for me to know at scan and load time that i was in renoise I could work around this problem without a separate build (which would be great for me).

In my dev area, for instance, I did this

uint32_t clap_get_plugin_count(const clap_plugin_factory *)
{
    bool isRenoise{false};
#if __APPLE__
    if (strstr(getprogname(), "Renoise") != nullptr)
        isRenoise = true;
#endif

    return isRenoise ? 1 : 2;
};

and then the ā€˜regularā€™ vst3 loads in renoise (because it becomes the single-plugin version). Obviously I donā€™ want to do that and i donā€™t want to do a registry or filesystem wide trick either but if, say, renoise consistently set an env variable like IS_RENOISE across platforms I would happily do that and then I could retire my split build pipeline.

1 Like

Hi @baconpaul. Nice to hear from you and thanks for the detailed info.

We do support multichannel plugins and also plugins with multiple VST3 classes. So thereā€™s no need to add workarounds for Renoise on your end.

I have just tested all this on Windows and it seems to work fine. As soon as I get access to a Mac again, Iā€™ll try this on MacOS. Should be the same there, but you never knowā€¦

Iā€™ve tested these builds here:
six-sines-windows-2025-02-06-d7dfb2f.zip

This does not contain any workarounds, does it? Or should I try an older version?

Also canā€™t replicate this problem, but as noted above, Iā€™ve only tested Windows for nowā€¦

Both just works fine on macOS as well with 2025-02-06-d7dfb2f. here.

Iā€™d guess that the crash, which I also canā€™t replicate yet, blacklisted one of the plugins for ffx. Thus it was missing for him.

@ffx can you send me the Renoise log for the crash. Maybe it contains some hints why this crashed for you.

Either way, I donā€™t think thereā€™s anything for you to do here baconpaul.

I think we are mixing up things here nowā€¦ So it works for you on macos arm also with this version?
https://tstlab.virtualcreations.de/Six%20Sines.vst3.zip (itā€™s the 2025-02-04-633146d build from yesterday)

Bacon Paul in the meanwhile added workarounds for Renoise to the new builds AFAIK.

If I put a workaround version into the VST3 dir instead, Renoise will load it just normal, as an instrument.

Here are the entries in the database tables.
CachedVST3s_arm64 ā†’ CachedPlugins:

FileIdentifier	DocumentIdentifier	LocalFilePath	IsBridged	PresetPath	BankPath	IsSynth	IsVisible	IsFavorite	IsDpiAware	DisplayName	ShortDisplayName	FavoriteDisplayName	NeedsStaticProcessingBuffer	EnableAutoSuspending	SupportsMultiProcessors
Six Sines.vst3	48C6D230AACC57BA976D20DEFF9B93C1	/Library/Audio/Plug-Ins/VST3/Six Sines.vst3	0			1	1	1	1	BaconPaul: Six Sines	Six Sines	Digital: Six Sines	0	0	1

CachedVST3s_arm64 ā†’ CachedLocalFileInfo:

LocalFilePath	ModificationTime	CpuTypes
/Library/Audio/Plug-Ins/VST3/Six Sines.vst3	1738879457	x86_64,arm64

No entry of ā€œsix sinesā€ inside CachedFailedVST3s_arm64.db.

Here is the crash log:

CrashLog: Caught signal: SIGSEGV (11) ...

Vst3Plugs: Plugin 'Six Sines.vst3' crashed while calling one of its preset store/recall functions!
Vst3Plugs: FAILED to fetch component state for plugin 'Six Sines.vst3'

CrashLog: Caught signal: SIGSEGV (11) ...

Vst3Plugs: Plugin 'Six Sines.vst3' crashed while calling one of its preset store/recall functions!
Vst3Plugs: FAILED to fetch controller state for plugin 'Six Sines.vst3'

CrashLog: Caught signal: SIGSEGV (11) ...
CrashLog: 0   libsystem_platform.dylib            0x000000018687b584 _sigtramp + 56
CrashLog: 1   Renoise                             0x0000000104e63db4 _ZNK9TVst3Plug18OnGetBankChunkDataEv + 1072
CrashLog: 2   Renoise                             0x0000000105156fe8 _ZN18TAudioPluginDevice19AssignPlugDataToDocEv + 136
CrashLog: 3   Renoise                             0x000000010533d978 _ZN13TDocumentNode21PrepareSavingDocumentEv + 36
CrashLog: 4   Renoise                             0x000000010533dfc0 _ZN13TDocumentNode15SaveToBinStreamERNSt3__16vectorIcNS0_9allocatorIcEEEEb + 40
CrashLog: 5   Renoise                             0x0000000105338fc4 _ZN18TDocumentListStateC2EP10TUndoChainP17TDocumentListBaseiP13TDocumentNodeNS_7TActionE + 532
CrashLog: 6   Renoise                             0x0000000105345d74 _ZN13TDocumentRoot29AfterDocumentListAddedElementEP13TDocumentNodeP17TDocumentListBaseiS1_ + 88
CrashLog: 7   Renoise                             0x0000000105352b7c _ZN11TObservable15NotifyObserversENS_11TUpdateTypeE + 420
CrashLog: 8   Renoise                             0x0000000105337a98 _ZN17TDocumentListBase17AfterElementAddedEP13TDocumentNodei + 172
CrashLog: 9   Renoise                             0x0000000105348124 _ZN13TDocumentListI13TDocumentNodeE6InsertEPS0_RNS1_9TIteratorE + 240
CrashLog: 10  Renoise                             0x0000000105347d0c _ZN13TDocumentListI13TDocumentNodeE6AppendEPS0_ + 80
CrashLog: 11  Renoise                             0x000000010517fcc4 _ZN26TInstrumentPluginGenerator12AssignPluginEP18TAudioPluginDevice + 232
CrashLog: 12  Renoise                             0x0000000104978fbc _ZN19TInstrumentListView23OnContextMenuLoadPluginEi + 304
CrashLog: 13  Renoise                             0x0000000105114c70 _ZN10TMenuEntry9OnClickedEv + 92
CrashLog: 14  Renoise                             0x0000000104f7e69c _ZN33TContextMenuScrollableContentView13OnLeftMouseUpEiii + 452
CrashLog: 15  Renoise                             0x000000010509b218 _ZN5TView18ProcessMouseActionEiiN11TMouseEvent12TMouseActionEi + 164
CrashLog: 16  Renoise                             0x000000010509b28c _ZN5TView18ProcessMouseActionEiiN11TMouseEvent12TMouseActionEi + 280
CrashLog: 17  Renoise                             0x000000010509b28c _ZN5TView18ProcessMouseActionEiiN11TMouseEvent12TMouseActionEi + 280
CrashLog: 18  Renoise                             0x000000010509b28c _ZN5TView18ProcessMouseActionEiiN11TMouseEvent12TMouseActionEi + 280
CrashLog: 19  Renoise                             0x0000000104f8c010 _ZN14TFocusRootView18ProcessMouseActionEiiN11TMouseEvent12TMouseActionEi + 540
CrashLog: 20  Renoise                             0x000000010503c518 _ZN18TMouseEventHandler11ApplyActionEN11TMouseEvent12TMouseActionE + 280
CrashLog: 21  Renoise                             0x000000010503c26c _ZN18TMouseEventHandler17ProcessMouseEventEP11TMouseEvent + 152
CrashLog: 22  Renoise                             0x000000010509e090 _ZN11TViewWindow18OnHandleMouseEventEP11TMouseEvent + 184
CrashLog: 23  Renoise                             0x000000010514fde4 _ZN7TWindow7OnEventEP17TApplicationEvent + 376
CrashLog: 24  Renoise                             0x00000001050ac13c _ZN26TApplicationEventQueueImpl15OnDispatchEventEP17TApplicationEvent + 180
CrashLog: 25  Renoise                             0x00000001051112f4 _ZN11TWindowImpl11HandleEventEP7NSEvent + 1472
CrashLog: 26  Renoise                             0x00000001050e3704 -[RNSWindow sendEvent:] + 316
CrashLog: 27  AppKit                              0x000000018a97c828 -[NSApplication(NSEventRouting) sendEvent:] + 1604
CrashLog: 28  Renoise                             0x00000001050e0170 -[RNSApplication sendEvent:] + 104
CrashLog: 29  AppKit                              0x000000018a5ca89c -[NSApplication _handleEvent:] + 60
CrashLog: 30  AppKit                              0x000000018a17b0c0 -[NSApplication run] + 512
CrashLog: 31  Renoise                             0x00000001050a9a8c _ZN12TApplication5DoRunERKNSt3__15dequeI7TStringNS0_9allocatorIS2_EEEEb + 172
CrashLog: 32  Renoise                             0x000000010449e5f8 _Z5gMainRKNSt3__15dequeI7TStringNS_9allocatorIS1_EEEE + 80
CrashLog: 33  Renoise                             0x000000010449e430 _Z18main_platform_impliPPc + 352
CrashLog: 34  dyld                                0x00000001864c20e0 start + 2360

Application: Caught an unhandled fatal exception (Thread: GUI)!
Application: Saving a backup...

Or maybe I am mixing up :slight_smile: Canā€™t followā€¦ Maybe not worth the hassle, if it is only for one plugin?

Beaconpaul only added a single plugin version to the nightly builds. But this never was the problem.

If things work now for you and we know itā€™s not a general problem, this is enough for me.

Hi!

Ok good to know windows is ok. I will turn off the single plugin build on windows, there is no workaround in the code except in the single-plugin installer version.

Itā€™s absolutely the case that on macOS if you install the single plugin version, scan and load it, quit Renoise, remove version, run the standard installer, and start revise on an arm Mac you see the error ffx flagged. I see that every time with 343

Whereā€™s the renoise log? I can also look at it

Thanks!

You can find it here: ~/Library/Logs/Renoise.log
In case you have sandboxing enabled in the Renoise options, also have a look here: ~/Library/Logs/Renoise Plugin Server.log

OK thatā€™s super useful. And I now know exactly what the bug is

So with the 2 plugin version on macOS when I instantiate the plugin I see

Vst3Plugs: Ouch. FAILED to fetch component class id for plugin 'Six Sines.vst3'

CrashLog: Caught signal: SIGSEGV (11) ...

that ā€˜OUCHā€™ seems to be a problem and then things go downhill from there. If I then replace with the single plugin version, it works.

I wonder if the problem is swapping between a 1- and 2- plugin version of the same .vst file. So then what I did was remove six sines vst3 from my system, install the 2 plugin version, rename it to Six SinesNew.vst3 and then restart renoise. And then everything worked.

So hereā€™s my most accurate description of the bug

  • If you have a plugin Six Sines.vst3 which was a single instance plugin which you loaded
  • And then you replace that with a new Six Sines.vst3 which is a multi instance plugin
  • The renoise cache somewhere doesnā€™t update properly
  • and it doesnā€™t work

I donā€™t know where that cache is (where are these CachedVST3s_arm64 tables your re talking about ffx) but thereā€™s clearly some lingering state which doesnā€™t get fully cleared when a vst3 is replaced.

I would really love to remove the single plugin builds, and am happy to document how to clear that cache fully for people who go 1.0 ā†’ 1.1, so any insight welcome.

1 Like

by the way this may also explain why it works for @taktik - if you installed the double plugin version first then my guess is double to single back to double will work, just single to double wont.

Yeah found the databases.

So after the one- and then two- version back to back install I see this

sqlite> select * from CachedPlugins where FileIdentifier LIKE '%Six Sines%'
   ...> ;
Six Sines.vst3/48C6D230AACC57BA976D20DEFF9B93C1|48C6D230AACC57BA976D20DEFF9B93C1||0|||1|1|0|1|BaconPaul: Six Sines|Six Sines|Six Sines|0|0|1
Six Sines.vst3/37A66D34E2835683B952CD15E50BAA6C|37A66D34E2835683B952CD15E50BAA6C||0|||1|1|0|1|BaconPaul: Six Sines, Seven Outs|Six Sines, Seven Outs|Six Sines, Seven Outs|0|0|1
Six Sines.vst3|48C6D230AACC57BA976D20DEFF9B93C1|/Users/paul/Library/Audio/Plug-Ins/VST3/Six Sines.vst3|0|||1|1|0|1|BaconPaul: Six Sines|Six Sines|Six Sines|0|0|1

if I then do a

delete from CachedPlugins where FileIdentifier LIKE '%Six Sines%'

and restart renoise, the multi-plugin version loads correctly

So it really looks like a single-to-multi-rescan leaves the cached plugins database corrupted

so since we know how to fix this now, Iā€™m going to remove the single plugin build from the nightlies and leave it up to you all!

Thanks @ffx for the bug report and @taktik for looking so quickly!

You can find those here: ~/Library/Preferences/Renoise/V3.4.4/CachedVST3s_arm64.db and CachedFailedVST3s_arm64.db

But I think Taktik is right. I removed all entries with ā€œSix Sinesā€ from those database manually. After restarting Renoise and doing a plugin scan, both multiple versions are found and loading correctly.

So then there might be one bug remaining @taktik: It does not properly rescan/update the plugin data, once the plugin turns into a dual/multple version thingā€¦ Due to that crash.

Sorry for the confusion I might caused.

EDIT: Heh double post

1 Like

yeah exactly - and indeed. Jinx!

iā€™ll remove the -single-plugin version and make the nightly download page link to this thread with an ā€˜if you use renoise and upgrade from 1.0 read thisā€™ message.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.