On Sun, 2008-12-14 at 13:12 -0500, Ivica Ico Bukvic wrote:
Basically the plugin search function LADSPAPluginSearch() will open every file in your search path. If it is a library (of any sort) it will look for the symbols "ladspa_descriptor" or "dssi_descriptor" inside it. If one of these gets found, the callback function dssi_tilde_search_plugin_callback() is invoked. This iterates over the plugins in the library by repeatedly calling the Plugin's descriptor function until a match is found against the plugin search string provided as an argument to dssi~. A potential crash situation could occur if the symbol "dssi_descriptor" is exported by the plugin library, but the descriptor function doesn't return a pointer to a valid DSSI_Descriptor struct...
Many thanks for the info Jamie. One quick question before I embark on the search for the potentially problematic plugin: if I run listplugins command line tool that comes with ladspa sdk I get no segfaults or errors other than "no more csLADSPA plugins" at the end. Is this indicative of anything or is this orthogonal to the way how dssi~ objects cycles through plugins?
It could point the problem being in a DSSI plugin since the 'listplugins' CLI only lists LADSPAs.
What happens when you send the 'listplugins' message to [dssi~]. This passes a different callback to LADSPAPluginSearch(), so *might* yield a non-crash.
Jamie