After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 154537 - Python plugins cause gnumeric 1.2.13 to abort on exit
Python plugins cause gnumeric 1.2.13 to abort on exit
Status: RESOLVED DUPLICATE of bug 161547
Product: Gnumeric
Classification: Applications
Component: General
1.2.x
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2004-10-05 08:23 UTC by Caolan McNamara
Modified: 2005-01-15 06:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Valgrind trace of the sequence of actions in bug report - from i386 (56.25 KB, text/plain)
2004-10-05 18:37 UTC, Jon Kåre Hellan
  Details
Valgrind suppressions file for Python (3.46 KB, text/plain)
2004-10-06 09:04 UTC, Jon Kåre Hellan
  Details
the patch I used to make it go away (1.24 KB, patch)
2005-01-14 08:45 UTC, Caolan McNamara
none Details | Review

Description Caolan McNamara 2004-10-05 08:23:52 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.

Thread 182895255680 (LWP 3735)

  • #0 ??
  • #1 g_datalist_clear
    from /usr/lib64/libglib-2.0.so.0
  • #2 g_object_unref
    from /usr/lib64/libgobject-2.0.so.0
  • #3 g_slist_free_custom
  • #4 gnm_plugin_get_type
  • #5 g_object_unref
    from /usr/lib64/libgobject-2.0.so.0
  • #6 g_slist_free_custom
  • #7 plugins_shutdown
  • #8 gnm_shutdown
  • #9 main

gnumeric-1.2.13
python-2.3.4

Only reported on 64bit x86_64, I'll try and track it down further myself
Comment 1 Jon Kåre Hellan 2004-10-05 18:36:09 UTC
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).
Comment 2 Jon Kåre Hellan 2004-10-05 18:37:20 UTC
Created attachment 32255 [details]
Valgrind trace of the sequence of actions in bug report - from i386
Comment 3 Jon Kåre Hellan 2004-10-06 08:48:15 UTC
All Python related valgrind warnings disappear when I use the suppressions file
suggested in Python's README.valgrind
Comment 4 Jon Kåre Hellan 2004-10-06 09:04:39 UTC
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.
Comment 5 Jody Goldberg 2005-01-14 04:36:39 UTC
How are we doing with 1.4 ?
Comment 6 Caolan McNamara 2005-01-14 08:45:10 UTC
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.
Comment 7 Jody Goldberg 2005-01-15 06:02:51 UTC

*** This bug has been marked as a duplicate of 161547 ***