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 321476 - gtk.gdk.display_open_default_libgtk_only().close() segfault
gtk.gdk.display_open_default_libgtk_only().close() segfault
Status: RESOLVED FIXED
Product: pygtk
Classification: Bindings
Component: gtk
2.8.x
Other FreeBSD
: Normal normal
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2005-11-14 22:59 UTC by James William Pye
Modified: 2006-07-07 22:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description James William Pye 2005-11-14 22:59:28 UTC
Version details: From FreeBSD port
Distribution/Version: 5.4

Details of what happens:

Python 2.4.2 (#2, Oct  9 2005, 11:44:17)
[GCC 3.4.2 [FreeBSD] 20040728] on freebsd5
>>> import gtk
>>> d=gtk.gdk.display_open_default_libgtk_only()
>>> d
<gtk.gdk.DisplayX11 object (GdkDisplayX11) at 0x81bc34c>
>>> d.close()
zsh: segmentation fault (core dumped)  python

0x289bd712 in gdk_x11_display_get_xdisplay ()
   from /usr/X11R6/lib/libgdk-x11-2.0.so.0
(gdb) bt
  • #0 gdk_x11_display_get_xdisplay
    from /usr/X11R6/lib/libgdk-x11-2.0.so.0
  • #1 gdk_display_manager_set_default_display
    from /usr/X11R6/lib/libgdk-x11-2.0.so.0
  • #2 gdk_display_get_type
    from /usr/X11R6/lib/libgdk-x11-2.0.so.0
  • #3 gdk_x11_display_ungrab
    from /usr/X11R6/lib/libgdk-x11-2.0.so.0
  • #4 g_object_run_dispose
    from /usr/local/lib/libgobject-2.0.so.0
  • #5 gdk_display_close
    from /usr/X11R6/lib/libgdk-x11-2.0.so.0
  • #6 init_gtk
    from /usr/local/lib/python2.4/site-packages/gtk-2.0/gtk/_gtk.so
  • #7 PyEval_GetFuncDesc
  • #8 PyEval_EvalFrame
  • #9 PyEval_EvalCodeEx
  • #10 PyEval_EvalCode
  • #11 PyRun_FileExFlags
  • #12 PyRun_InteractiveOneFlags
  • #13 PyRun_InteractiveLoopFlags
  • #14 PyRun_AnyFileExFlags
  • #15 Py_Main
  • #16 main

What I expected to happen:

That it would not segfault.
---

I can recompile with debugging to get more info if necessary.
Comment 1 Johan (not receiving bugmail) Dahlin 2006-04-01 17:39:27 UTC
display_open_default_libgtk_only is not supposed to be wrapped, it was included by accident. I remove it from the current CVS checkout:

Checking in ChangeLog;
/cvs/gnome/gnome-python/pygtk/ChangeLog,v  <--  ChangeLog
new revision: 1.1366; previous revision: 1.1365
done
Checking in gtk/gdk.defs;
/cvs/gnome/gnome-python/pygtk/gtk/gdk.defs,v  <--  gdk.defs
new revision: 1.94; previous revision: 1.93
done
Comment 2 John Finlay 2006-05-26 23:13:38 UTC
display_open_default_libgtk_only seems to have reincarnated itself in gdk-base.defs. Also there are other functions that seem suspicious:

add_option_entries_libgtk_only
pre_parse_libgtk_only
pointer_grab_info_libgtk_only
keyboard_grab_info_libgtk_only

I suspect these should also be removed.
Comment 3 John Finlay 2006-07-07 22:44:50 UTC
	* gtk/gdk.override: Ignore-glob *_libgtk_only. Fixes #321476.

Checking in gtk/gdk.override;
/cvs/gnome/gnome-python/pygtk/gtk/gdk.override,v  <--  gdk.override
new revision: 1.146; previous revision: 1.145
done