GNOME Bugzilla – Bug 154537
Python plugins cause gnumeric 1.2.13 to abort on exit
Last modified: 2005-01-15 06:02:51 UTC
1. activate python plugin 2. =py_printf("Hello") 3. Exit gnumeric (click Discard when prompted what to do with the changes) 4. SEGV Program received signal SIGSEGV, Segmentation fault.
+ Trace 50774
Thread 182895255680 (LWP 3735)
gnumeric-1.2.13 python-2.3.4 Only reported on 64bit x86_64, I'll try and track it down further myself
Nothing obvious here. A few observations: The trace doesn't match the source exactly. plugins_shutdown does call g_slist_free_custom, but g_slist_free_custom doesn't call g_object_unref. Looks like a call to gnm_plugin_try_unref is missing from the trace. Most plugins are unrefed on shutdown, but the python plugin loader is not. This is because types have been registered on it, so it is illegal to destroy it. valgrind shows that Python does a lot of strange things with memory. I'm attaching a valgrind trace (from i386).
Created attachment 32255 [details] Valgrind trace of the sequence of actions in bug report - from i386
All Python related valgrind warnings disappear when I use the suppressions file suggested in Python's README.valgrind
Created attachment 32278 [details] Valgrind suppressions file for Python As suggested in README.valgrind in Python 2.4 CVS, the suppressions for PyObject_Free and PyObject_Realloc have been uncommented. It is also possible to recompile Python with another meomory allocator.
How are we doing with 1.4 ?
Created attachment 36001 [details] [review] the patch I used to make it go away I think I submitted this patch elsewhere, but with it in place our problems (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=133662) went away.
*** This bug has been marked as a duplicate of 161547 ***