Bug 196652

Summary: Vultureseye fails on startup - gametiles.bin does not match expected size
Product: [Fedora] Fedora Reporter: Steven Côté <steven.cote>
Component: nethack-vulturesAssignee: Karen Pease <meme>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 5CC: extras-qa, kevin
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-15 00:30:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 187071    

Description Steven Côté 2006-06-26 08:54:07 UTC
Description of problem:
Attempting to start Vulture's Eye fails.
If started from the commandline, it prints the following error message:

Program initialization has failed.
Report error to "games".
FATAL: Actual size of gametiles.bin does not match the expected size!
Are you sure you are using the gametiles.bin that was built together with this
executable?

On a default installation, it also complains about not being able to write
vultures_log.txt, but changing the permissions of the installation directory
(/usr/games/vultureseye) lets it print the above message to file.

Version-Release number of selected component (if applicable):
2.1.0-1.fc5

This problem does not exist with Vulturesclaw.

I'm not sure if it's relevant, but I also have latest version of nethack
installed (nethack-3.4.3-9.fc5).

Comment 1 Karen Pease 2006-06-26 15:52:53 UTC
I'll look into it today. 
 

Comment 2 jlbartos 2006-06-27 22:33:36 UTC
Updated to nethack-vultures-2.1.0-2.fc5 and still getting:

Program initialization has failed.
Report error to "games".
FATAL: Actual size of gametiles.bin does not match the expected size!
Are you sure you are using the gametiles.bin that was built together with this
executable?

vulturesclaw has no errors.

Comment 3 Karen Pease 2006-06-27 22:46:21 UTC
Unfortunately, I'm not going to have time to look into this again for three 
weeks -- this occurred at a rather bad time for me (a scheduled trip to 
Japan).  When I get back, I will get it resolved. 
 

Comment 4 Steven Côté 2006-06-28 14:32:04 UTC
I'm not sure if this helps, but I've been playing around with things on my end.

I tried rebuilding the rpm from the src.rpm, but that gives me the same error.
Then I tried opening up the .tar.bz2 source file, and just building it. Building
it in my home directory worked fine, but I haven't been able to do the 'system
build' yet. Stupid non-standard build system!

I'll post here again once I've had a chance to make a system build to report
success or failure. With any luck, I'll have this sorted out by the time you're
back from Japan.

It looks like it's going to be a problem with the way the spec file builds
vultureseye. Still too early to tell though.

Comment 5 Karen Pease 2006-08-07 20:36:36 UTC
Okay, I'm back and (partly) caught up on everything from the Japan trip (and 
one subsequent trip).  I should get back to this in a day or two. 
 

Comment 6 Karen Pease 2006-08-13 22:04:28 UTC
I've figured out the problem (you can't build both nethack and slashem at once 
with the current makefile because they use a common directory to hold 
gametiles.bin).  I'll come up with a patch tonight and get it out in the 
system. 
 

Comment 7 jlbartos 2006-08-20 01:42:30 UTC
With nethack-vultures-2.1.0-4.fc5

running vulturesclaw from the command line:
Program initialization has failed.
Report error to "games".
FATAL: Actual size of gametiles.bin does not match the expected size!
Are you sure you are using the gametiles.bin that was built together with this
executable?

vultureseye runs with no problem.

Comment 8 Karen Pease 2006-08-20 04:18:10 UTC
Part of the problem is that I can't test on my own system before the patch 
goes out; it only builds properly on the build server.  I've mentioned this on 
the FE mailing list before (twice, actually), but gotten no help with the 
problem, and I've long since given up on trying to resolve the problem, which 
is not in tools/code that I control. 
 
I'll have another go at it  :P 
 

Comment 9 Steven Côté 2006-08-22 11:31:24 UTC
I just tried it out and nethack-vultures-2.1.0-4 works fine for me (claw and eye).

Comment 10 Karen Pease 2006-08-22 15:05:52 UTC
FC5? 

Comment 11 Steven Côté 2006-08-22 15:17:53 UTC
Sorry, yes. To be more precise, it was nethack-vultures-2.1.0-4.fc5

The title screen on both of them say that they were built on August 17th, so
that would definitely be the latest versions that you just released.

Both games are running fine on my work computer. I'll check tonight to make sure
they're running at home, though I suspect they will.

Comment 12 Steven Côté 2006-08-24 11:32:40 UTC
Ok, so that's weird. I just tried the Aug 17 build of vultures claw on my home
computer last night, and it didn't work. Same error as reported in Comment #7.

Still works fine on my work computer. My work machine is running in a VM, that
shouldn't make any difference though, should it?

Comment 13 Karen Pease 2006-08-24 20:08:33 UTC
I'm going to assume that it's broken, and when I get a chance, I'll take a 
look at it again.  :P 
 

Comment 14 Karen Pease 2006-08-25 05:14:10 UTC
Haha!  I found that by upgrading "file" on my system, it eliminates the bug 
that was preventing me from doing local builds before deployment.  
 
Muahaha. 
 
Okay, lets lick this bug once and for all.  :) 
 

Comment 15 Karen Pease 2006-08-25 06:33:19 UTC
Or not.  It fixes it from the commandline, but not in "make i386"  :P 
 
Blah. 
 
Well, there's a new version going into the plague server now, so it should be 
out on the wire in a few days. 
 

Comment 16 Steven Côté 2006-08-25 07:53:41 UTC
Is there any way to get ahold of that build now, or do we just have to wait
until it shows up on the regular servers?

Comment 17 Karen Pease 2006-08-25 15:14:55 UTC
If I knew of a way, I'd do it.  :P 
 

Comment 18 jlbartos 2006-08-26 13:53:18 UTC
Updated to nethack-vultures-2.1.0-5.fc5 and now the error has switched:

type vulturesclaw from commandline:

Program initialization has failed.
Report error to "games".
FATAL: Actual size of gametiles.bin does not match the expected size!
Are you sure you are using the gametiles.bin that was built together with this
executable?

Now: vultureseye has no errors.



Comment 19 Karen Pease 2006-08-27 04:23:26 UTC
*bangs head* 
 
Ok.  I have no idea why those aren't working.  I'm going to try a completely 
different approach, and try fixing the gametiles in the vultures' build 
process instead of the specfile. 
 
It may be a bit before I have a chance to do this. 
 

Comment 20 Kevin Fenzi 2006-08-29 16:17:08 UTC
Do you need a machine you can run 'mock' builds on for testing?
I have a scratch/test machine you are welcome to an account on to do mock 
builds... that should let you see exactly what a build under the buildsystem 
would be like. 

Drop me an email off bug if you would like an account... 

Comment 21 Karen Pease 2006-08-29 17:49:38 UTC
That would be quite useful.  However, I don't have your email address. 
 

Comment 22 Karen Pease 2006-08-29 17:50:17 UTC
Oh, now it shows up.  I just wasn't logged in. (do'h) 

Comment 23 Karen Pease 2006-08-30 04:52:49 UTC
Okay, I actually got local builds on my system again (so I won't need your 
system -- thanks anyways). 
 
*Unfortunately*. 
 
I can't reproduce this problem!  This is very frustrating.  The version I just 
put out on the server *works* on my system.  The gametiles.bin files are 
coming out as the proper sizes, and the program starts.  But I just know, from 
what's happening before, that it's going to come back from the server in a way 
that leaves people with duplicated gametiles.bin files so that only one 
version of the game runs.  I know this because the code is identical to that 
which I put on the server before. 
 
If this happens, I could really use some suggestions from others, because I 
don't know where to go from here.  The commands to backup and restore the 
gametiles.bin files are going through, they're putting them in the right 
places, and at least on my system, it's installing them where they belong. 
 

Comment 24 Kevin Fenzi 2006-08-31 18:54:16 UTC
Well, for whatever it's worth it works fine here either way under devel/i386.

Are all the folks seeing this running x86_64? Perhaps it's a 64 bit issue?


Comment 25 jlbartos 2006-09-01 02:37:50 UTC
Same problem as #18, running nethack-vultures-2.1.0-6.fc5
Not running x86_64.

vultureseye works and vultureclaw doesn't.

Comment 26 Kevin Fenzi 2006-09-01 19:22:35 UTC
Totally bizzare. ;) 
What does 'rpm -V nethack-vultures' return? 
how about 'which vulturesclaw' ?

It works fine for me on a fc5 i386 machine with the 2.1.0-6.fc5 version. 


Comment 27 Steven Côté 2006-09-03 08:26:52 UTC
I've been looking at this problem a little bit this weekend, and I'm getting
some strange results.

I tried the latest build, but it didn't work again, so I tried removing the game
altogether and rebuilding the src rpm and installing that. That worked fine. So
I was convinced that it had something to do with the way the server was building it.

But that doesn't make sense, because it's the same rpm file that everyone has,
but it works for some and not others. So why do some people end up with
duplicated gametile.bin files and others end up with different files (the
correct behaviour)?

So removed everything again, and downloaded some older rpms from the ftp site
(build 4 and 5) and tried those ones. The thing is, they both worked fine now.

So, I'm thinking the problem is actually to do with the upgrade process.
Everything started working peachy once I removed the nethack-vultures rpm, and
then reinstalled it. I'm not sure why the gametile file wouldn't be overwritten
during an upgrade, but it would definitely explain the behaviour we've been seeing.

jlbartos, you're still having trouble yes? Could you check the datestamps of the
gametile.bin files (found in /usr/games/vultures*/graphics/) and see if they
match the executable's date.

Then, try removing the game entirely and reinstalling it. Let us know if that works.

Comment 28 Karen Pease 2006-10-10 22:14:58 UTC
Yeay!  Randomly occurring graphics startup bug that has been dogging this  
package is patched up and submitted to plague.  
  
Symptoms: Sometimes, but not always, when people installed nethack-vultures,  
either vultureseye or vulturesclaw, but never both, would complain about a  
graphics mismatch.  Reproducing this was sporadic.  
  
Problem: To save space, the package symlinks directories that are a  
duplicate on both the slashem and nethack branches.  Graphics used to be a  
duplicate, but isn't any more.  This was known and was accounted for in the  
specfile build process.  What wasn't accounted for was the behavior of RPM.  
Instead of removing the old directories on upgrade, it tries to overwrite  
files with a simple copy of sorts.  Whatever mechanism it uses follows  
symlinks, so if there was an old version of nethack-vultures on their  
system, the installation of the different copies of slashem and nethack  
graphics would overwrite each other in a single directory.  If it was a new  
install, or an install over a version that had been corrected, there no  
longer was a symlink, and thus two graphics directories were created and  
used.  
  
Solution: A pre tag removes the old graphics directory, symlink or not.  
  
This hit me while I was in the shower on Sunday, and it inspired me to try it  
out.  My testing shows the problem as fixed.  :)  Have at it -- if it's fixed  
for all of you as well, I'll close this bug once and for all.  
  

Comment 29 Karen Pease 2006-10-10 22:30:52 UTC
Hmm, hold on a minute.  My submitting to the server had some errors, probably 
because I recently reinstalled my OS.  I'll try to get it out on the wire this 
evening, though. 
 

Comment 30 Karen Pease 2006-10-10 23:15:03 UTC
Done.  The server reports build success.  New rpms should show up soon. 
 

Comment 31 Steven Côté 2006-10-13 07:57:48 UTC
Ok, I rolled back to version 2.1.0-1 so that I could reproduce the error. While
I was waiting for the game to show up on the servers, I upgraded to 2.1.0-6 just
to make sure the problem still existed. It did.

So now I have version 2.1.0-6 and vultures eye works, but vulturesclaw does not.

The packages have just showed up on the servers last night and running the
upgrade seems to have solved the problem.

As far as I'm concerned, we can close this bug and call it resolved.

Comment 32 Karen Pease 2006-10-15 00:30:13 UTC
Yeay.  I'm glad that I was finally able to figure out the cause.  Thanks for 
all of your help, everyone -- sorry I wasn't able to get this taken care of 
sooner.