GNOME Bugzilla – Bug 140545
Program exits with: velena: Could not find a good OR child!
Last modified: 2005-04-21 07:37:58 UTC
My first every bug report! Description of Problem: Halfway through playing a game the program terminates unexpectedly. When running from the console, the text "velena: Could not find a good OR child!" is printed to the shell on termination. This happens approximately every other game. Steps to reproduce the problem: 1. Select new game 2. Play game Actual Results: Program terminates as above. Expected Results: Program does not terminate How often does this happen? Every other game more or less Additional Information: Version 2.6.0.1 of gnect on AMD64 with Gnome 2.6 and Linux kernel-2.6.5-gentoo (Gentoo distribution).
Also get "Could not find a good AND child!" exception aswell. This happens for both root and a normal user. This happens with optimisation of -O3 and without optimisation. PS. Have an Athlon 64 3200+ with 1GB Ram. Player 1 Red is Human, Player 2 Yellow is Level One, Classic theme. Hopefully have done this bit right. Have built the source without optimisation and generated the following stack trace (broke on the line where it prints the AND child exception.
+ Trace 46227
You've done a good job of providing the information I need. This may take a while to track down though, I suspect it's a 64-bit problem, while I have a 64-bit machine (a ppc970) my GNOME setup is currently 32-bit so I'll have to get the 64-bit tool-chain going.
I can confirm this on my system too, AMD64, Gentoo /w gnome-games 2.6 or 2.4 .
Created attachment 31030 [details] [review] Fix for bug #140545, using glib. Fixes a problem where "long" was assumed to be a 32 bit integer, not 64 bits...
Kept digging, it may be more pure for that file to use C99's <inttypes.h> & uint32_t instead... Unnecessary, though it's nice to know.
Absolutely brilliant. This bug doesn't show up on little-endian 64-bit systems and I hadn't had a chance to go through the code with a fine-toothed comb. I've applied this in CVS. In response to your second comment, it might be more pure, but we still can't rely on having C99 available, gcc 2.9x is still widely used.
*** Bug 154480 has been marked as a duplicate of this bug. ***
*** Bug 170965 has been marked as a duplicate of this bug. ***