GNOME Bugzilla – Bug 327751
segfault in update_cursor on amd64
Last modified: 2006-01-20 07:21:13 UTC
Steps to reproduce: 1. Install ubuntu breezy on amd64 2. Install gq, libgtk2.0-0-dbg, and libglib2.0-0-dbg 3. Run gq I cannot reproduce this on an identically configured i386 ubuntu breezy machine. Stack trace: localhost:/tmp/gtk+2.0-2.8.6/upstream/tarballs/gtk+-2.8.6/gdk/x11$ gdb gq GNU gdb 6.3-debian Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) r Starting program: /usr/bin/gq (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 46912553342768 (LWP 12688)] Program received signal SIGSEGV, Segmentation fault.
+ Trace 65379
Thread 46912553342768 (LWP 12688)
Other information: The gq bug in Ubuntu: https://launchpad.net/distros/ubuntu/+source/gq/+bug/2786
Ryan, is the value you are running into there a GdkFont ? Does it look meaningful if you do print *(GdkFontPrivate*)value in gdb ?
Thanks for your inquiry. Here's the output from gdb: (gdb) print *(GdkFontPrivate*)value $1 = {font = {type = GDK_FONT_FONT, ascent = 12, descent = 3}, ref_count = 1}
2006-01-19 Matthias Clasen <mclasen@redhat.com> * gdk/x11/gdkprivate-x11.h (XID_FONT_BIT): * gdk/x11/gdkfont-x11.c: * gdk/x11/gdkxid.c: Use an unused high bit in the XID to mark fonts in the global xid hash table. * gdk/x11/gdkcursor-x11.c (update_cursor): Skip fonts when iterating over the xid hash table, since calling GDK_IS_WINDOW () on an GdkFont can cause a segfault. (#327751, Ryan Lovett)
Thanks Matthias!