The crashes are almost always happening in m_class.c pd_typedmess():

1) when accessing x via t_class *c = *x or
2) when accessing the typemethod in m->me_name 

I've managed to isolate the 1) by:

* setting the pointer value to 0 at the end of m_pd.c pd_free() with memset(&x, 0, sizeof(x));
* and checking if x is NULL and returning at the beginning of pd_typedmess()

As suggested before, this seems to indicate that the menuclose frees the canvas object while pd_typedmess() is checking for receive objects. I have no issue opening & closing patches without receive objects.

On Oct 22, 2017, at 4:27 PM, Dan Wilcox <danomatika@gmail.com> wrote:

IOhannes, et al, any tips on where to look to fix this?

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com