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?
Anyways, I'll try tracking down the problem based on your instructions shortly.
Many thanks!
Best wishes,
Ico