Massive Memory Leak
Moderators: winston, another_commander, Getafix
Massive Memory Leak
Hi,
I'm not sure where this comes from. Everytime I get the first Thargoid fight from Cataclysm, the ships are invisible (shader bug). I then resize the window by a few pixels - this re-initializes the textures.
The Thargoids become visible again. The framerate drops to 5fps and the game begins to massively leak memory. Within a few seconds, Oolite comes from 700megs to 1.2 gigs - and then crashes out of memory.
Happened three times in a row, not much fun.
EDIT: Continues to be this way. The game even does leak the memory when I pause it! Wish that autosave would work when the player is force-launched.
Screet
I'm not sure where this comes from. Everytime I get the first Thargoid fight from Cataclysm, the ships are invisible (shader bug). I then resize the window by a few pixels - this re-initializes the textures.
The Thargoids become visible again. The framerate drops to 5fps and the game begins to massively leak memory. Within a few seconds, Oolite comes from 700megs to 1.2 gigs - and then crashes out of memory.
Happened three times in a row, not much fun.
EDIT: Continues to be this way. The game even does leak the memory when I pause it! Wish that autosave would work when the player is force-launched.
Screet
That's a bit worrying.
Which version of Oolite are you using? 1.72.2 or trunk?
Which version of Oolite are you using? 1.72.2 or trunk?
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
1.72.2Kaks wrote:That's a bit worrying.
Which version of Oolite are you using? 1.72.2 or trunk?
After several more attempts, I was fed up. Filled my cargo hold nicely, including several hundred units of gold, platinum and gems, just to be force-launched without autosave and have the game crash
Noticed that my idea to reset the textures is the only thing necessary.
Simply reproduceable bug: Launch, resize, hit pause and watch the memory leak away until a few seconds later the memory is exhausted and the game crashes
Screet
Not necessary.Ark wrote:It would be nice if the dev team had a report for the amount of objects and collisions during that "memory leak"
To reproduce: Install a fresh 1.72.2, select Jameson, launch, resize...
Of course you can also do it with all those oxp's installed. Doesn't make a change
Screet
P.S.: Nurse Hesperus, Nurse Hesperus! Have a look at Kaks and Ark, they appear to be shocked!
-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
I cannot reproduce a leak with a fresh Jameson as you describe. However, resizing the window does not work correctly in the released versions under Windows and can lead to texture memory corruption with all accompanying and unpredictable side effects. This is a long, long standing bug, which was fixed by Kaks on the 1.73 trunk just a few days ago. Although I have not tested it with Cataclysm, I would expect that resizing will work as expected on the next release.
Now that's strange.another_commander wrote:I cannot reproduce a leak with a fresh Jameson as you describe. However, resizing the window does not work correctly in the released versions under Windows and can lead to texture memory corruption with all accompanying and unpredictable side effects. This is a long, long standing bug, which was fixed by Kaks on the 1.73 trunk just a few days ago. Although I have not tested it with Cataclysm, I would expect that resizing will work as expected on the next release.
Behaviour under Windows XP X64:
1) ATI Driver crashes upon load of Oolite, but recovers
2) Oolite runs with less than half the memory it used under Vista?!?
3) Upon resize, the game instantly quits.
Now going to test with XP 32.
Screet
Ugh! It might well be another side effect from those dodgy ATI drivers & the way SDL/OpenGL works. The next iteration of SDL (one of the cross platform libraries used by Oolite) should cope much better with some of windows quirks, but at the moment, there isn't really much we can do. (apart from trying to work outside SDL for screen resizes, like I ended up doing in trunk).
Btw, I'm not surprised about the memory difference. A number of video drivers were instantly broken by the new 'rock solid' device model introduced by Vista. There was a fair amount of wailing & gnashing of teeth from a very naive early adopter friend of mine. That was 2 years ago, and I still hear the occasional wailing from time to time... Me, I'm going to stick with XP for personal use until windows 7 sp1!
Btw, I'm not surprised about the memory difference. A number of video drivers were instantly broken by the new 'rock solid' device model introduced by Vista. There was a fair amount of wailing & gnashing of teeth from a very naive early adopter friend of mine. That was 2 years ago, and I still hear the occasional wailing from time to time... Me, I'm going to stick with XP for personal use until windows 7 sp1!
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
OK, I made a final test, just to be sure - I ran Vista with UAC turned off. No change.Kaks wrote:Ugh! It might well be another side effect from those dodgy ATI drivers & the way SDL/OpenGL works. The next iteration of SDL (one of the cross platform libraries used by Oolite) should cope much better with some of windows quirks, but at the moment, there isn't really much we can do. (apart from trying to work outside SDL for screen resizes, like I ended up doing in trunk).
There is another interesting observation, though:
Resizing the window while oolite displays it's ships does not cause a continuous memory leak! That only happens after launching from a station.
Anyway, OpenGL acceleration for ATI 4870x2 is broken. The card performs slower than a X800XTPE (which also does not perform as it should) and MUCH slower than a NVidia Go 7950. No wonder they banned me from their forum and censored my reports.
ATI and Asus have been notified and given all the interesting details, including my system specs. Nothing came back yet.
The vendor of the card said they would accept that I return it as defective (it's not having advertised properties, that's illegal!) and allow me to switch to a nVidia GTX 295. If I don't get a good response from ATI/Asus, that's the way I go next week. At least I now do understand the slogan "nVidia, the way it's meant to be played"...
Screet
- captain122
- Above Average
- Posts: 19
- Joined: Sun Sep 28, 2008 12:46 pm
- Location: You really don't need to know that
I can spot no memory leak on Vista64.
Oolite memory usage does increase on each resizing approx 700kb.
memory usage will go up and down depending on screen size.
do a few resizes ending up at the size you started with.
strange but there it is.
used Process Explorer ..
http://technet.microsoft.com/en-us/sysi ... 96653.aspx
Process Explorer .. right-click on oolite.exe in 'Processes' ..
select Properties .. then Performance Graph.
Oolite memory usage does increase on each resizing approx 700kb.
memory usage will go up and down depending on screen size.
do a few resizes ending up at the size you started with.
strange but there it is.
used Process Explorer ..
http://technet.microsoft.com/en-us/sysi ... 96653.aspx
Process Explorer .. right-click on oolite.exe in 'Processes' ..
select Properties .. then Performance Graph.