Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Oolite consumes all memory

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: another_commander, winston, Getafix

jorrit
Harmless
Harmless
Posts: 1
Joined: Sat Feb 04, 2006 11:25 pm

Oolite consumes all memory

Post by jorrit »

Hi,

A week ago or so I saw the anouncement of oolite on freshmeat, what reminded me of the good old times on the commodore. So I downloaded, and installed it.
Good work I have to say, the game has really improved!

I could not resist and made some flights, and noticed at a certain point the screen started to hang for a second at first, what turns out to be a complete hang.
When I look at my system performance, I find oolite is using 90 % of my memory (512 in total) and swapping severely.
The only way out is a SIGKILL. I do not know how to reproduce it, but I have seen it happening after 5 minutes of playing, but sometimes it takes up to an hour.

My system is running Mandriva 2006.

Here is the output of the last game I played:

[jorrit@bert oolite-saves]$ oolite
2006-02-04 19:24:28.000 oolite[6453] Unknown time zone name `CET'.
2006-02-04 19:24:28.000 oolite[6453] Using time zone with absolute offset 0.
2006-02-04 19:24:28.000 oolite[6453] File NSUserDefaults.m: 544. In [NSUserDefaults +standardUserDefaults] Improper installation: No language locale found
2006-02-04 19:24:28.000 oolite[6453] Warning - mouse/pointer seems to have more than 5 buttons - just using one to five
2006-02-04 19:24:28.000 oolite[6453] initialising SDL
2006-02-04 19:24:28.000 oolite[6453] init: numSticks=0
2006-02-04 19:24:28.000 oolite[6453] CREATING MODE LIST
2006-02-04 19:24:28.000 oolite[6453] Added res 1152 x 864
2006-02-04 19:24:28.000 oolite[6453] Added res 1024 x 768
2006-02-04 19:24:28.000 oolite[6453] Added res 896 x 672
2006-02-04 19:24:28.000 oolite[6453] Added res 832 x 624
2006-02-04 19:24:28.000 oolite[6453] Added res 800 x 600
2006-02-04 19:24:28.000 oolite[6453] Added res 700 x 525
2006-02-04 19:24:28.000 oolite[6453] Added res 640 x 512
2006-02-04 19:24:28.000 oolite[6453] Added res 576 x 432
2006-02-04 19:24:28.000 oolite[6453] Added res 512 x 384
2006-02-04 19:24:28.000 oolite[6453] Added res 416 x 312
2006-02-04 19:24:28.000 oolite[6453] Added res 400 x 300
2006-02-04 19:24:28.000 oolite[6453] Added res 320 x 240
2006-02-04 19:24:28.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 19:24:28.000 oolite[6453] drawRect calling initialiseGLWithSize
2006-02-04 19:24:28.000 oolite[6453] Creating a new surface of 1280 x 1024
2006-02-04 19:24:28.000 oolite[6453] no universe, clearning surface
2006-02-04 19:24:28.000 oolite[6453] ---> searching paths:
("/usr/local/Oolite/oolite.app/Contents/Resources", "/usr/local/Oolite/AddOns", "/home/jorrit/Library/Application Support/Oolite/AddOns", "/home/jorrit/.Oolite/AddOns")
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:28.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:29.000 oolite[6453] Vertex Array Range optimisation - not supported
2006-02-04 19:24:29.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:29.000 oolite[6453] Populating a system with economy 5, and government 3
2006-02-04 19:24:29.000 oolite[6453] ... adding 4 trading vessels
2006-02-04 19:24:29.000 oolite[6453] ... adding 3 sun skimming vessels
2006-02-04 19:24:29.000 oolite[6453] ... adding 14 pirate vessels
2006-02-04 19:24:29.000 oolite[6453] ... adding 3 sun skim pirates
2006-02-04 19:24:29.000 oolite[6453] ... adding 1 law/bounty-hunter vessels
2006-02-04 19:24:29.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 19:24:29.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 19:24:29.000 oolite[6453] ... adding 4 asteroid clusters
2006-02-04 19:24:29.000 oolite[6453] ... for a total of 29 ships
2006-02-04 19:24:30.000 oolite[6453] OPENGL_DEBUG GL_ERROR (1280) 'invalid enumerant' in: Universe before doing anything
2006-02-04 19:24:32.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:32.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:34.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 19:24:34.000 oolite[6453] POSSIBLE CHEAT DETECTED
2006-02-04 19:24:34.000 oolite[6453] Populating a system with economy 1, and government 6
2006-02-04 19:24:34.000 oolite[6453] ... adding 8 trading vessels
2006-02-04 19:24:34.000 oolite[6453] ... adding 0 sun skimming vessels
2006-02-04 19:24:34.000 oolite[6453] ... adding 6 pirate vessels
2006-02-04 19:24:34.000 oolite[6453] ... adding 0 sun skim pirates
2006-02-04 19:24:34.000 oolite[6453] ... adding 2 law/bounty-hunter vessels
2006-02-04 19:24:34.000 oolite[6453] ... adding 1 sun skim law/bounty hunter vessels
2006-02-04 19:24:34.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 19:24:34.000 oolite[6453] ... adding 2 asteroid clusters
2006-02-04 19:24:34.000 oolite[6453] ... for a total of 19 ships
2006-02-04 19:25:29.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 19:25:32.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 19:26:52.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 20:01:17.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 20:02:11.000 oolite[6453] Populating a system with economy 0, and government 2
2006-02-04 20:02:11.000 oolite[6453] ... adding 10 trading vessels
2006-02-04 20:02:11.000 oolite[6453] ... adding 3 sun skimming vessels
2006-02-04 20:02:11.000 oolite[6453] ... adding 18 pirate vessels
2006-02-04 20:02:11.000 oolite[6453] ... adding 4 sun skim pirates
2006-02-04 20:02:11.000 oolite[6453] ... adding 2 law/bounty-hunter vessels
2006-02-04 20:02:11.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 20:02:11.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:02:11.000 oolite[6453] ... adding 0 asteroid clusters
2006-02-04 20:02:11.000 oolite[6453] ... for a total of 37 ships
2006-02-04 20:05:00.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 20:05:00.000 oolite[6453] Populating a system with economy 1, and government 6
2006-02-04 20:05:00.000 oolite[6453] ... adding 3 trading vessels
2006-02-04 20:05:00.000 oolite[6453] ... adding 3 sun skimming vessels
2006-02-04 20:05:00.000 oolite[6453] ... adding 4 pirate vessels
2006-02-04 20:05:00.000 oolite[6453] ... adding 1 sun skim pirates
2006-02-04 20:05:00.000 oolite[6453] ... adding 1 law/bounty-hunter vessels
2006-02-04 20:05:00.000 oolite[6453] ... adding 1 sun skim law/bounty hunter vessels
2006-02-04 20:05:00.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:05:00.000 oolite[6453] ... adding 4 asteroid clusters
2006-02-04 20:05:00.000 oolite[6453] ... for a total of 17 ships
2006-02-04 20:08:18.000 oolite[6453] Populating a system with economy 0, and government 2
2006-02-04 20:08:18.000 oolite[6453] ... adding 11 trading vessels
2006-02-04 20:08:18.000 oolite[6453] ... adding 2 sun skimming vessels
2006-02-04 20:08:18.000 oolite[6453] ... adding 24 pirate vessels
2006-02-04 20:08:18.000 oolite[6453] ... adding 5 sun skim pirates
2006-02-04 20:08:18.000 oolite[6453] ... adding 5 law/bounty-hunter vessels
2006-02-04 20:08:18.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 20:08:18.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:08:18.000 oolite[6453] ... adding 2 asteroid clusters
2006-02-04 20:08:18.000 oolite[6453] ... for a total of 49 ships
2006-02-04 20:09:36.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 20:09:36.000 oolite[6453] Populating a system with economy 1, and government 6
2006-02-04 20:09:36.000 oolite[6453] ... adding 14 trading vessels
2006-02-04 20:09:36.000 oolite[6453] ... adding 6 sun skimming vessels
2006-02-04 20:09:36.000 oolite[6453] ... adding 4 pirate vessels
2006-02-04 20:09:36.000 oolite[6453] ... adding 0 sun skim pirates
2006-02-04 20:09:36.000 oolite[6453] ... adding 8 law/bounty-hunter vessels
2006-02-04 20:09:36.000 oolite[6453] ... adding 2 sun skim law/bounty hunter vessels
2006-02-04 20:09:36.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:09:36.000 oolite[6453] ... adding 4 asteroid clusters
2006-02-04 20:09:36.000 oolite[6453] ... for a total of 38 ships
2006-02-04 20:10:40.000 oolite[6453] Populating a system with economy 0, and government 2
2006-02-04 20:10:40.000 oolite[6453] ... adding 9 trading vessels
2006-02-04 20:10:40.000 oolite[6453] ... adding 4 sun skimming vessels
2006-02-04 20:10:40.000 oolite[6453] ... adding 18 pirate vessels
2006-02-04 20:10:40.000 oolite[6453] ... adding 3 sun skim pirates
2006-02-04 20:10:40.000 oolite[6453] ... adding 3 law/bounty-hunter vessels
2006-02-04 20:10:40.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 20:10:40.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:10:40.000 oolite[6453] ... adding 2 asteroid clusters
2006-02-04 20:10:40.000 oolite[6453] ... for a total of 39 ships
2006-02-04 20:30:42.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 20:30:43.000 oolite[6453] Populating a system with economy 1, and government 6
2006-02-04 20:30:43.000 oolite[6453] ... adding 4 trading vessels
2006-02-04 20:30:43.000 oolite[6453] ... adding 2 sun skimming vessels
2006-02-04 20:30:43.000 oolite[6453] ... adding 5 pirate vessels
2006-02-04 20:30:43.000 oolite[6453] ... adding 2 sun skim pirates
2006-02-04 20:30:43.000 oolite[6453] ... adding 4 law/bounty-hunter vessels
2006-02-04 20:30:43.000 oolite[6453] ... adding 1 sun skim law/bounty hunter vessels
2006-02-04 20:30:43.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:30:43.000 oolite[6453] ... adding 0 asteroid clusters
2006-02-04 20:30:43.000 oolite[6453] ... for a total of 18 ships
2006-02-04 20:32:15.000 oolite[6453] Populating a system with economy 0, and government 2
2006-02-04 20:32:15.000 oolite[6453] ... adding 12 trading vessels
2006-02-04 20:32:15.000 oolite[6453] ... adding 4 sun skimming vessels
2006-02-04 20:32:15.000 oolite[6453] ... adding 25 pirate vessels
2006-02-04 20:32:15.000 oolite[6453] ... adding 3 sun skim pirates
2006-02-04 20:32:15.000 oolite[6453] ... adding 3 law/bounty-hunter vessels
2006-02-04 20:32:15.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 20:32:15.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:32:15.000 oolite[6453] ... adding 2 asteroid clusters
2006-02-04 20:32:15.000 oolite[6453] ... for a total of 49 ships
2006-02-04 20:56:43.000 oolite[6453] don't know how to load entity 'http://www.apple.com/DTDs/PropertyList-1.0.dtd' id '-//Apple Computer//DTD PLIST 1.0//EN'
.:3: validity error : Validation failed: no DTD found !
<plist version="1.0">
^
2006-02-04 20:56:43.000 oolite[6453] Populating a system with economy 1, and government 6
2006-02-04 20:56:43.000 oolite[6453] ... adding 8 trading vessels
2006-02-04 20:56:43.000 oolite[6453] ... adding 1 sun skimming vessels
2006-02-04 20:56:43.000 oolite[6453] ... adding 2 pirate vessels
2006-02-04 20:56:43.000 oolite[6453] ... adding 0 sun skim pirates
2006-02-04 20:56:43.000 oolite[6453] ... adding 5 law/bounty-hunter vessels
2006-02-04 20:56:43.000 oolite[6453] ... adding 1 sun skim law/bounty hunter vessels
2006-02-04 20:56:43.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:56:43.000 oolite[6453] ... adding 4 asteroid clusters
2006-02-04 20:56:43.000 oolite[6453] ... for a total of 21 ships
2006-02-04 20:57:39.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 20:58:38.000 oolite[6453] Found mode {Height = 1024; RefreshRate = 0; Width = 1280; }
2006-02-04 20:59:28.000 oolite[6453] Populating a system with economy 0, and government 2
2006-02-04 20:59:28.000 oolite[6453] ... adding 11 trading vessels
2006-02-04 20:59:28.000 oolite[6453] ... adding 2 sun skimming vessels
2006-02-04 20:59:28.000 oolite[6453] ... adding 21 pirate vessels
2006-02-04 20:59:28.000 oolite[6453] ... adding 3 sun skim pirates
2006-02-04 20:59:28.000 oolite[6453] ... adding 1 law/bounty-hunter vessels
2006-02-04 20:59:28.000 oolite[6453] ... adding 0 sun skim law/bounty hunter vessels
2006-02-04 20:59:28.000 oolite[6453] ... adding 0 Thargoid warships
2006-02-04 20:59:28.000 oolite[6453] ... adding 2 asteroid clusters
2006-02-04 20:59:28.000 oolite[6453] ... for a total of 40 ships
2006-02-04 21:11:23.000 oolite[6453] Creating a new surface of 1280 x 1024
Gedood
[jorrit@bert oolite-saves]$
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Post by winston »

This is 1.62-2 you're running, not an older release candidate?
tjwhaynes
Average
Average
Posts: 9
Joined: Wed Sep 28, 2005 12:29 am

I've also seen this (Fedora Core 4 x86 laptop)

Post by tjwhaynes »

After trading and playing with a new commander on my x86 laptop (my AMD64 monster-box is ill :cry: ) on the 1.62-2 autopackage install, I also hit this. I'd probably made fifteen planetary trips at the point where it starting swapping and became unresponsive. I took a look at top and it had hit 1.6Gb of memory usage so no surprise my 1Gb laptop was complaining.

I'm guessing this is a nasty memory leak going nuts. As I had to kill it and it left me without a mouse in X windows in 800x600, I wasn't able to check the log. I'll get hold of umouse to recover the mouse after such a crash so I can recover a little more gracefully next time. While I wait for my AMD64 box to be repaired, oolite is probably likely to absorb a fair amount of time as it runs nicely on more limited hardware so I'll report if this crops up again.

Cheers,
Toby Haynes
User avatar
aegidian
Master and Commander
Master and Commander
Posts: 1160
Joined: Thu May 20, 2004 10:46 pm
Location: London UK
Contact:

Post by aegidian »

Right then.

This problem doesn't occur on the Mac, so... there must be something going on that's different in the GNUstep build to do with releasing objects from memory.

Is there a tool that can track object allocations in GNUstep like ObjectAlloc.app, so we can see what objects are leaking and during which parts of the gameplay?
"The planet Rear is scourged by well-intentioned OXZs."

Oolite models and gear? click here!
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Post by winston »

I'm also puzzled. This problem (for me) went away in 1.61. I've let the game run for several hours and the problem hasn't shown up (with my humble 512MB RAM system). I actively played the game for a good hour straight (on several occasions) with no problems. It used to be the case where this would happen all the time on my system (1.60) but it simply doesn't happen any more. This makes it highly vexatious - if I can't recreate it, I can hardly debug it :/

I think there are plenty of thingies for memory analysis for Linux - just none for Objective-C. However, stuffing something into NSObject's alloc/dealloc to record object creation/deletion might be helpful.
Eggplant!
Mostly Harmless
Mostly Harmless
Posts: 3
Joined: Sun Feb 05, 2006 10:49 pm

Post by Eggplant! »

I can confirm that there is a serious memory leak in 1.62. OOlite consumed nearly 1.5 GB of memory on my system after jumping through about three systems and killing two pirates.

I'm running Gentoo. I had previously installed 1.52 and used the oolite-update tool to upgrade to 1.62.
User avatar
Rubinstein
Competent
Competent
Posts: 41
Joined: Thu Jun 30, 2005 1:13 am

Post by Rubinstein »

Somehow this thread reminds me to an old bug, from which I thought was fixed in v1.53:
Something out of Control
Are you sure this here is something different?
Not that it would help, I'm just curious...
Eggplant!
Mostly Harmless
Mostly Harmless
Posts: 3
Joined: Sun Feb 05, 2006 10:49 pm

Post by Eggplant! »

Actually, what I'm seeing may be something similar. I can usually get it to happen 50% of the time jumping from Diso to Riedquat and engaging pirates on the way into the system. At some point the game starts lagging badly and allocating more and more memory until physical memory is exhausted. This typically only takes 30 seconds or so to allocate all 1GB on this machine once it starts happening. Sometimes it happens when in flight, other times not until I dock.

I've had the FPS/Objs display up, but it doesn't appear to be creating any new objects. Nothing interesting in the console output either. Are there any debug flags I can run?
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Post by winston »

Well, I'm really frustrated. I've had the game running for 10 hours now with not even the merest hint of a problem. This is a Heisenbug of irritating proportions. There *was* a problem absolutely exactly as described in this thread, but for me, it went away when I merged in Giles's changes to go from 1.60 to 1.61. (The problem originally started occuring for me around the time wormholes were implemented, and went away after a big code merge during the 1.61 time period).

It won't happen this week (I have visitors, so I won't get the time to tinker) but I will rig up some memory reporting tool whereby oolite can dump a list of what objects are allocated on a key press. If you guys can stick around I'll probably look at this next week. :/
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

Hi all

Post by Walker »

Normally I am really lazy with registering into new forums ... i really prefer anonymous reply, not needed to have that for all topics for sure, but it would help in getting more ppl to participate here.

Nevertheless I loved elite, i played first encounter and i look forward for all games bringing those into the new millennia ... :)


I definetely have this bug, too, on my system. Sometimes i can play for some hours before it arrives, other times i cannot even finish one route before that happens.
I did look into it how this comes, and in my opinion this doesn't seem to be a bug in the oolite code itself, but in the underlying gnustep interface :/

I played around in setting up log messages for all objects who call [super init] after the self initialiation and before the dealloc of these objects.
Funny thing is, now oolite is not even starting anymore but stopping after creating the GL Context and loading the music - it is hanging in the message parsing code of gnustep there. I don't see how i can append any files here in this forum, and the log file is definitely large, i also run the debugging session together with valgrind, a memory leak debugger - which shows some definitely bad areas in gnustep, which may be normal and ok though, i am unsure here.

So I put them onto my router and give links to them:

http://busstation.mine.nu/full_log.oolite.bz2
http://busstation.mine.nu/mydiff_to_svn.bz2

may be the seg fault in my debugging session is caused, because i used NSLog wrong? Some of you obj-c guys could help here - i just start to use obj-c through this game now.

Nevertheless running it inside gdb even crashed the debugger itself, which should not be.

carsten@linux:~/apps/games/oolite/oolite-svn/trunk> gdb oolite.app/oolite core
GNU gdb 5.3.92
Copyright 2003 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 "i586-suse-linux"...

warning: core file may not match specified executable file.
Core was generated by `gdb oolite.app/oolite'.
Program terminated with signal 11, Segmentation fault.
#0 0x0816963b in _OBJC_SELECTOR_TABLE ()
(gdb) bt
#0 0x0816963b in _OBJC_SELECTOR_TABLE ()
#1 0x401faa20 in ?? ()
#2 0x401faa20 in ?? ()
#3 0x00000002 in ?? ()
#4 0x00000001 in ?? ()

(too lazy to make a new core file for this binary, but the message is the same, so no problem here with mismatching binary to core file)

This is what is left through checking the core file after that.
Hope this sheds some light and does not bring too many new questions into this bug ....


By the way, i nearly forgot to describe the system which this was test on:

Pentium-M 1.7ghz, 1 gig ram
base system suse 9.0
gcc-3.3.1-29
gcc-info-3.3.1-29
libgcc-3.3.1-29
gcc-c++-3.3.1-29
gcc-objc-3.3.1-29
gnustep-startup-0.14.0.tar.gz


If something is missing, just tell me[/url]
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

forgot something

Post by Walker »

Despite my bad spelling and the long message before, I forgot some important things:

I use an ATI Radeon Mobility 9600Pro

and
to compile the svn it is nice to have Cocoa/Cocoa.h added to /usr/GNUstep/System/Library/Headers ....

carsten@linux:~/apps/games/oolite/oolite-svn> cat /usr/GNUstep/System/Library/Headers/Cocoa/Cocoa.h
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>



This makes compiling the Mac Apps easier on GNUstep ... found it in another forum while trying to get the svn repo to compile ....
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Re: Hi all

Post by winston »

Walker wrote:
I definetely have this bug, too, on my system. Sometimes i can play for some hours before it arrives, other times i cannot even finish one route before that happens.
Can you try running Oolite-Linux 1.55 and see if you can recreate it? (The old version will be in ftp://ftp.alioth.net/oolite/old). Both 1.55 and 1.62 use the same GNUstep version in the dependency pack - but the thing is, no one ever reported it happening with 1.55 (and there were 4,500 downloads of that version at berlios alone, I reckon there has to be at least 7,000 downloads of 1.55 in the wild).
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Re: forgot something

Post by winston »

Walker wrote:
to compile the svn it is nice to have Cocoa/Cocoa.h added to /usr/GNUstep/System/Library/Headers ....
You may have got an intermediate version where I'd merged on my Mac but not compiled on Linux. Oolite-Linux shouldn't need this file since there is an OOCocoa.h file that does the right thing for the platform you're building on (one of the new files, Geometry.h was for a short while directly trying to include <Cocoa/Cocoa.h>).

If SVN isn't building *without* Cocoa/Cocoa.h, then the SVN repo is broken because it's not supposed to need it. (I suggest when debugging this problem, stick to the tagged 1.62-2 release in the 'tags' directory, the trunk will be a bit of a moving target for a while).
Walker
Average
Average
Posts: 12
Joined: Mon Feb 06, 2006 10:36 am

mmh

Post by Walker »

using oolite-1.55 gives no fluid framerate for me (although it is not slow, it is just choppy)


using the gnustep libs from that package together with my binary didn't help either - it looks kind of funny, i should post a screenshot ...

Image

so, no, i can't check with 1.55 if the bug appears, too

i could try running it overnight today though, staying near a station or a witchspace exit should be enough
User avatar
winston
Pirate
Pirate
Posts: 731
Joined: Mon Sep 27, 2004 10:21 pm
Location: Port St. Mary, Isle of Man
Contact:

Post by winston »

The 'looking kind of funny' is I think some experimentation that Giles is doing with a new collision detection system. For looking at this problem, I recommend sticking with the code in tags/1.62-2 rather than trunk, as that's what's out in the field. The trunk will be a moving (and possibly unstable in other interesting ways) target because it's being used for development.
Post Reply