I managed to track down more on that crash problem.
down in desktop-style.cpp, things seem to have some issues right after this:
SPGaussianBlur * b = new SPGaussianBlur();
I added this, and see a warning.
if ( !SP_IS_GAUSSIANBLUR(b) ) { g_warning("problem with gaussian blur object"); }
I'd sprinkled some of those debug messages starting at the point where I'd seen the lockups on OS X, and then moved things back until I'd gotten there. So I think the new call there is not getting all needed items setup. Given the "TODO" comment right above that, I think this is the right point to change things.
I'm not familiar with the filter code enough, and the other object creation that doesn't use new has a bit more context for creating things. So I think I'm at the point where I've done what I can tonight.