View Issue Details

IDProjectCategoryView StatusLast Update
0000594ardourbugspublic2008-11-20 23:39
Reporterjkyro Assigned Topaul  
PriorityurgentSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Summary0000594: Plugin change crash
DescriptionOpening a session results in a crash, if a plugin used in the session changes. For example, I updated the tap-plugins package and apparently the new version wasn't similar to the old one in terms of controls or ports.
Steps:
1. install tap-plugins version 0.5.0
2. open ardour, create track with TAP Dynamics(M) plugin
3. Close ardour
4. update tap-plugins to version 0.6.0
5. Open the previous session

This is more like a feature request, but I thought I should report it anyway.
TagsNo tags attached.

Activities

taybin

2004-07-06 13:57

administrator   ~0001198

Not ardour's fault, but we should avoid crashes nonetheless.

2004-07-06 14:18

 

port-num.patch (817 bytes)   
diff -ru ardour-0.9beta17.1.old/libs/ardour/ladspa_plugin.cc ardour-0.9beta17.1/libs/ardour/ladspa_plugin.cc
--- ardour-0.9beta17.1.old/libs/ardour/ladspa_plugin.cc	2004-06-24 06:47:42.000000000 +0300
+++ ardour-0.9beta17.1/libs/ardour/ladspa_plugin.cc	2004-07-06 17:02:59.000000000 +0300
@@ -313,8 +313,14 @@
 LadspaPlugin::set_parameter (unsigned long which, float val)
 {
 	/* XXX bounds checking */
-	shadow_data[which] = (LADSPA_Data) val;
-	ParameterChanged (which, val); /* EMIT SIGNAL */
+        unsigned long num_ports = parameter_count();
+        if ( which < num_ports ) { 
+	        shadow_data[which] = (LADSPA_Data) val;
+	        ParameterChanged (which, val); /* EMIT SIGNAL */
+	} else {
+	       /* XXX what to do? */
+	}
+   
 }
 
 float
Only in ardour-0.9beta17.1/libs/ardour: ladspa_plugin.cc~
port-num.patch (817 bytes)   

taybin

2004-07-06 14:18

administrator   ~0001199

Partial patch from bug reporter uploaded.

taybin

2004-07-07 13:26

administrator   ~0001201

The plugin change should be caught at plugin load time, not at set parameter time.

paul

2004-07-09 16:31

administrator   ~0001208

fixed in CVS. i don't know how we could detect this at plugin load time. thanks for tracking it down.

Issue History

Date Modified Username Field Change
2004-07-06 11:54 jkyro New Issue
2004-07-06 13:57 taybin Note Added: 0001198
2004-07-06 14:18 taybin File Added: port-num.patch
2004-07-06 14:18 taybin Note Added: 0001199
2004-07-07 13:26 taybin Note Added: 0001201
2004-07-09 16:31 paul Status new => resolved
2004-07-09 16:31 paul Resolution open => fixed
2004-07-09 16:31 paul Assigned To => paul
2004-07-09 16:31 paul Note Added: 0001208
2008-11-20 23:39 seablade Status resolved => closed