On running Gnometris from command line or application menu, gnometris fails to start with 'The Application "gnometris" has quit unexpectedly. I've got AMD 64 processor and emerged Gnome 2.6 a week or so ago from 2004.0 base build. I'm quite new to Linux (1 year) and Gentoo (two months) so hopefully this isn't something I've screwed up myself. Running from the Command line I have a few warnings about: Gtk-WARNING **: Unable to locate theme engine in module_path: "redmond95", (four times) and Gtk-WARNING **: Ignoring the separator setting All other Gnome games launch OK. Have tried changing my desktop themes a few times, but still get the warnings. Reproducible: Always Steps to Reproduce: 1. Start game. 2. It crashes 3. Actual Results: error window came up immediately. Expected Results: Shown gnometris application. AMD64, 3200+, 1GB Ram, Gentoo 2004.0, Gnome 2.6 Portage 2.0.50-r3 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.5-gentoo) ================================================================= System uname: 2.6.5-gentoo x86_64 4 Gentoo Base System version 1.4.6 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2" CHOST="x86_64-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /usr/kde/3.2/share/config /usr/lib/mozill a/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/te xmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/plat ex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://212.219.247.20/sites/www.ibiblio.org/gentoo/ http://212.2 19.247.14/sites/www.ibiblio.org/gentoo/ http://212.219.247.18/sites/www.ibiblio. org/gentoo/ http://212.219.247.19/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa amd64 apm arts avi berkdb cdr crypt cups encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg kde ldap libg++ libwww mikmod motif mozilla mpeg mysql ncurses nls nogcj oggvorbis opengl oss pam pdflib perl png p ostgres ppds python qt quicktime readline ruby scanner sdl slang spell ssl tcltk tcpd tetex truetype usb xml2 xmms xv zlib"
not "critical"
Backtrace.... #0 0x0000002a9952aa00 in strchr () from /lib/libc.so.6 #1 0x0000002a98ba2962 in g_param_spec_pool_lookup () from /usr/lib/libgobject-2.0.so.0 #2 0x0000002a98b9dea3 in g_object_set_valist () from /usr/lib/libgobject-2.0.so.0 #3 0x0000002a960d4c5e in gnome_canvas_item_construct () from /usr/lib/libgnomecanvas-2.so.0 #4 0x0000002a960d48a3 in gnome_canvas_item_new () from /usr/lib/libgnomecanvas-2.so.0 #5 0x0000000000407c5c in Field::updateSize(_GdkPixbuf*) () #6 0x0000000000409353 in Tetris::setupPixmap() () #7 0x0000000000408ac4 in Tetris::Tetris(int) () #8 0x0000000000406a4e in main ()
amd64 guys, any thoughts on this bug?
gnome-games is maintained by gnome.
Jason are you seeing the same thing ? Also on amd64 ? Can you get a backtrace with full debugging output ?
#0 0x0000002a99748350 in strchr () from /lib/libc.so.6 #1 0x0000002a98d6f092 in g_param_spec_pool_lookup (pool=0x518f50, param_name=0x2a00000000 <Address 0x2a00000000 out of bounds>, owner_type=7521056, walk_ancestors=1) at gparam.c:745 #2 0x0000002a98d68410 in g_object_set_valist (object=0x72ea70, first_property_name=0x2a00000000 <Address 0x2a00000000 out of bounds>, var_args=0x7fbfffedc0) at gobject.c:1090 #3 0x0000002a960f8d01 in gnome_canvas_item_construct (item=0x72ea70, parent=0x5a6300, first_arg_name=0x40d7ce "fill_color", args=0x7fbfffedc0) at gnome-canvas.c:295 #4 0x0000002a960f8f64 in gnome_canvas_item_new (parent=0x5a6300, type=7521056, first_arg_name=0x40d7ce "fill_color") at gnome-canvas.c:203 #5 0x0000000000408f83 in Tetris (this=0x52e1b0, cmdlLevel=58) at field.h:35 #6 0x0000000000406a3e in main (argc=5431728, argv=0x7fbffff298) at main.cpp:54
I just tried to trace through the program and foud some things, but not enough to resolve - I just would like to share: I'm now working on gnometris from gnome-games-2.6.1 - it also crashes on startup. Jason brought in that backtrace, and it failed on: #5 0x0000000000407c5c in Field::updateSize(_GdkPixbuf*) () It's in field.cpp, it fails on line 61, where it calls gnome-canvas-new. The function updateSize gets called twice until the program crashes, it crashes the second time. The first time, field->w is not void, however, when called for the second time, w is zero which is most likely why gnome_canvas_item_new crashes. What I have not yet figured out: There is only one Object of type field in class tetris and I haven't been able to figure out when the w member of field gets set to 0x1 (That's the value the debugger showed me) Suggestions?
Created attachment 37404 [details, diff] gnometris patch replace 0 with NULL to terminate gnome_canvas_item_new
The bug is because gnometris uses 0 instead of NULL to terminate gnome_canvas_item_new calls. gnome_canvas_item_new is a variable argument function so it is very important that each argument is exactly the expected size. 0 is a integer. NULL is a pointer. On 64-bit systems like AMD64 these are different sizes.
amd64 please test & patch, thnx
Sorry for not coming back to this - but I can confirm that this patch is working.
I'm pretty sure this is the same as upstream http://bugs.gnome.org/show_bug.cgi?id=148618 . Added link to this bug from there.
This has now been fixed in CVS upstream. Thanks for tracking this down.
Can confirm that this has been fixed and works in gnome-games 2.8.1 on AMD64
Sorry. Am new to bugzilla. Just realised that I shouldn't have closed this as am needs to be changed for everyone else that is sticking with gnome 2.6. Sorry - too keen.
added patch to gnome-games 2.6.3