View Issue Details

IDProjectCategoryView StatusLast Update
0006742ardourbugspublic2016-01-25 03:45
ReporterSadKo Assigned To 
PriorityhighSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformLinuxOSopenSUSE LinuxOS Version13.2
Product Version4.4 
Summary0006742: Crash when duplicating VST mono plugin to the stereo track
DescriptionThe backtrace for the instantiation of the first mono plugin:

T[vst.cpp: 681] vst_instantiate: Instantiated plugin Verzögerungsausgleicher Mono - Delay Compensator Mono
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=0 (effOpen), index=0, value=0, ptr=(nil), opt = 0,000
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=58 (effGetVstVersion), index=0, value=0, ptr=(nil), opt = 0,000
T[vst.cpp: 362] vst_dispatcher: vst_version = 2400
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=10 (effSetSampleRate), index=0, value=0, ptr=(nil), opt = 48000,000
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=11 (effSetBlockSize), index=0, value=200, ptr=(nil), opt = 0,000
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=56 (effGetParameterProperties), index=0, value=0, ptr=0x7fff075e3ec0, opt = 0,000

The backtrace for the instantiation of the second mono plugin:

T[vst.cpp: 681] vst_instantiate: Instantiated plugin Verzögerungsausgleicher Mono - Delay Compensator Mono
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x5fe9b80, opcode=0 (effOpen), index=0, value=0, ptr=(nil), opt = 0,000
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x5fe9b80, opcode=58 (effGetVstVersion), index=0, value=0, ptr=(nil), opt = 0,000
T[vst.cpp: 362] vst_dispatcher: vst_version = 2400
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x6004d70, opcode=12 (effMainsChanged), index=0, value=1, ptr=(nil), opt = 0,000
T[vst.cpp: 354] vst_dispatcher: vst_dispatcher effect=0x5fe9b80, opcode=12 (effMainsChanged), index=0, value=1, ptr=(nil), opt = 0,000

Ardour does not report effSetSampleRate to the plugin, so it crashes because can not obtain correct buffer size depending on sample rate.

Reproducable on 4.6.0 release
TagsNo tags attached.

Activities

elgoun

2016-01-21 22:04

reporter   ~0017819

I tried with zam-comp as lxVST with Ardour 4.6, no crash here.

Attached a patch that fixes copy constructor for VST plugins.
Now Ardour report effSetSamperate and effSetBlockSize to the plugins.

Does this patch solves the problem ?

elgoun

2016-01-21 22:04

reporter  

fix-6742.patch (807 bytes)   
diff --git a/libs/ardour/lxvst_plugin.cc b/libs/ardour/lxvst_plugin.cc
index 2c50144..6a0d9fc 100644
--- a/libs/ardour/lxvst_plugin.cc
+++ b/libs/ardour/lxvst_plugin.cc
@@ -56,7 +56,7 @@ LXVSTPlugin::LXVSTPlugin (const LXVSTPlugin &other)
 	}
 	Session::vst_current_loading_id = 0;
 
-	_plugin = _state->plugin;
+	set_plugin (_state->plugin);
 
 	// Plugin::setup_controls ();
 }
diff --git a/libs/ardour/windows_vst_plugin.cc b/libs/ardour/windows_vst_plugin.cc
index a480642..a00e8aa 100644
--- a/libs/ardour/windows_vst_plugin.cc
+++ b/libs/ardour/windows_vst_plugin.cc
@@ -55,7 +55,7 @@ WindowsVSTPlugin::WindowsVSTPlugin (const WindowsVSTPlugin &other)
 	}
 	Session::vst_current_loading_id = 0;
 
-	_plugin = _state->plugin;
+	set_plugin (_state->plugin);
 }
 
 WindowsVSTPlugin::~WindowsVSTPlugin ()
fix-6742.patch (807 bytes)   

SadKo

2016-01-22 19:02

reporter   ~0017821

Is it available in nightly build?

elgoun

2016-01-25 03:44

reporter   ~0017832

Last edited: 2016-01-25 03:45

No it isn't.

You have to build ardour yourself with the patch applied or wait an ardour dev applies the patch upstream.

Issue History

Date Modified Username Field Change
2016-01-19 15:32 SadKo New Issue
2016-01-21 22:04 elgoun Note Added: 0017819
2016-01-21 22:04 elgoun File Added: fix-6742.patch
2016-01-22 19:02 SadKo Note Added: 0017821
2016-01-25 03:44 elgoun Note Added: 0017832
2016-01-25 03:45 elgoun Note Edited: 0017832