Jan Echternach wrote: > Maybe remove_ob() and free_object() should just print an error message > and otherwise ignore objects that are already removed or freed. This > would prevent some needless server crashes. Just to be flippant, you could also prevent even more by putting in lines like: signal(SIGSEGV, SIGIGN); signal(SIGILL, SIGIGN); But that probably isn't the right thing to do. As said, the problem more with referencing such objects is that objects can get re-used. It isn't much a problem with the object that is getting freed by a function further up that used it, but catching the removed and freed objects is useful if some other section of the code is holding onto an object pointer which isn't pointing at the right data and it is attempting to do something else with it. Now it may be reasonable to only abort if the server is compiled with DEBUG.