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

oolite might need more ram and gc overhead memroy since it stiil crashing

For test results, bug reports, announcements of new builds etc.

Moderators: another_commander, winston, Getafix

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Cody »

Commander_X wrote: Sun Dec 12, 2021 11:25 pm
I would strongly recommend to backup the file you plan to manually modify...
This!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 523
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Nite Owl »

Agreed. Always backup an original file either before or during the process of making any changes to it.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Slartibartfast »

hi
For Linux, you can either run the "defaults" command, or just manually add it to your oolite.plist in the same folder.
there is no oolite.plist in that folder

Code: Select all

mattes@Pille:~/GNUstep/Defaults$ ll
insgesamt 16
drwxrwxrwx 3 mattes mattes 4096 Dez 12 01:43 ./
drwxrwxrwx 5 mattes mattes 4096 Aug 27 11:44 ../
-rw-rw-r-- 1 mattes mattes 3481 Dez 12 01:43 .GNUstepDefaults
drwxr-xr-x 2 mattes mattes 4096 Okt 26 17:42 .lck/
mattes@Pille:~/GNUstep/Defaults$ 
As Nite Owl noticed, unless you run a "defaults" GNUStep command, that entry will not be there, and will be initialized to its 32M default value.
:? :? :?:
you can only do that if the file you plan to change is _not_ in XML format.
:? :? :?:

O.K. i'll wait for an updated explanation at http://wiki.alioth.net/index.php/Hidden ... _in_Oolite

matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
User avatar
Cholmondely
Archivist
Archivist
Posts: 5010
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Cholmondely »

Slartibartfast wrote: Mon Dec 13, 2021 2:16 am
hi
For Linux, you can either run the "defaults" command, or just manually add it to your oolite.plist in the same folder.
there is no oolite.plist in that folder

Code: Select all

mattes@Pille:~/GNUstep/Defaults$ ll
insgesamt 16
drwxrwxrwx 3 mattes mattes 4096 Dez 12 01:43 ./
drwxrwxrwx 5 mattes mattes 4096 Aug 27 11:44 ../
-rw-rw-r-- 1 mattes mattes 3481 Dez 12 01:43 .GNUstepDefaults
drwxr-xr-x 2 mattes mattes 4096 Okt 26 17:42 .lck/
mattes@Pille:~/GNUstep/Defaults$ 
As Nite Owl noticed, unless you run a "defaults" GNUStep command, that entry will not be there, and will be initialized to its 32M default value.
:? :? :?:
you can only do that if the file you plan to change is _not_ in XML format.
:? :? :?:

O.K. i'll wait for an updated explanation at http://wiki.alioth.net/index.php/Hidden ... _in_Oolite

matthias
I'm afraid that the only person doing anything much with those pages is yours truly. And I'm an utter and complete blithering ignoramus! I can't even get my tweaks to stay tweaked...

I am pretty sure that the Holy Jens is more likely to return from his state of maximal occultation and stick the Holy Sceptre of Sacerdotal Serenity through the spokes of the Wheel of Destiny than the Hidden_Settings_in_Oolite page will ever be edited in a fashion comprehensible by us mere mortals...
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
hiran
Theorethicist
Posts: 2073
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by hiran »

Slartibartfast wrote: Mon Dec 13, 2021 2:16 am
O.K. i'll wait for an updated explanation at http://wiki.alioth.net/index.php/Hidden ... _in_Oolite

matthias
That file, despite a nicely written wiki page is still a mystery. When I tried taking advantage of the settings
- it took me a long time to figure out the exact XML snippet I had to put into the file
- it took me a long time again to find out why they took no effect: the file had been overwritten whenever I started Oolite, removing all my manual changes

That taught me to no longer bother editing the file myself. Which leaves the question what it is meant for, what the wiki page is meant for and why noone had encountered this before...
Sunshine - Moonlight - Good Times - Oolite
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6557
Joined: Wed Feb 28, 2007 7:54 am

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by another_commander »

.GNUstepDefaults is overwritten only when there is a syntax error in there, due to the entirety of the contents becoming invalid in this case. If you make a manual change, then it should remain in subsequent game launches, as long as it is a valid one and does not cause the defaults file to self-destruct. At least this is the case in Windows (which btw has the defaults file in OpenStep format and it is therefore much more straightforward to edit).
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 666
Joined: Sat Aug 09, 2014 4:16 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Commander_X »

Slartibartfast wrote: Mon Dec 13, 2021 2:16 am
[...] O.K. i'll wait for an updated explanation at http://wiki.alioth.net/index.php/Hidden ... _in_Oolite

matthias
The safest quick explanation is:
1. If you run

Code: Select all

user@host/5:~
$ defaults read oolite | grep "jsruntime-size-mib"
initially, your output will be null, as the option is not set. That is, the option will be set by the game's Objective-C code to its default value of 32.
2. Once you run

Code: Select all

user@host/5:~
$ defaults write oolite "jsruntime-size-mib" 256
subsequently running

Code: Select all

$ defaults read oolite | grep "jsruntime-size-mib"
oolite jsruntime-size-mib 256
you will notice the output will show you there is a setting for that option, with the value of 256.
3. In my case, this setting was stored in oolite.plist, as:

Code: Select all

    <key>jsruntime-size-mib</key>
    <string>256</string>
Hope this helps.

Several considerations about the "defaults" command:
- the default installation of GNUstep on some distributions might not include it, it's very likely you'll have to install GNUstep-dev package
- running the "defaults" command as-is might require to "initialize GNUStep environment", that is, to run first:

Code: Select all

. /usr/share/GNUstep/Makefiles/GNUstep.sh
or if you didn't notice the ". " in the previous example,

Code: Select all

source /usr/share/GNUstep/Makefiles/GNUstep.sh
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Slartibartfast »

Hello Commander_X

thx!

Ok
this seems to work ( "read" without any other options displays all )

Code: Select all

mattes@Pille:~$ defaults read 
mattes@Pille:~$ defaults write oolite "jsruntime-size-mib" 64
mattes@Pille:~$ defaults read 
oolite jsruntime-size-mib 64
mattes@Pille:~$
-- additional ---
the command "defaults write oolite "jsruntime-size-mib" 64"
creates the file "/home/mattes/GNUstep/Defaults/oolite.plist"
if it doesn't exist -- and adds new "keys" to an existing one.
( and doesn't touch the ".GNUstepDefaults" )

so here my (test) oolite.plist

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>jsruntime-size-mib</key>
    <string>64</string>
    <key>show-ship-model-in-status-screen</key>
    <string>NO</string>
    <key>splash-screen</key>
    <string>NO</string>
</dict>
</plist>
!!! the both addional keys - i have added only for testing
-- i can't see any effect ( doesn't matters YES|NO ) # but - i think - thats another story

whether the 64MB has an effect --- ...i hope :wink:


matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
User avatar
hiran
Theorethicist
Posts: 2073
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by hiran »

Slartibartfast wrote: Mon Dec 13, 2021 6:00 pm
Hello Commander_X

thx!

Ok
this seems to work ( "read" without any other options displays all )
[...]
I checked the same and have same results. Whether it takes any effect I cannot tell. The game still looks just the same.
And I am wondering why all keys should just be string values - but the default command does not allow to specify other types?
Sunshine - Moonlight - Good Times - Oolite
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 666
Joined: Sat Aug 09, 2014 4:16 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Commander_X »

I cannot say I know why the behavior of the "defaults" command is the one observed.

As can be noticed by "man defaults", indeed, there is not option/parameter to specify the type of the key you want to set (which in turn is not the same for the MacOS's version of the command -- you can tell what type of parameter you're passing there).

I'd guess, changing the type of the key is left as a manual step for GNUstep.
User avatar
hiran
Theorethicist
Posts: 2073
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by hiran »

Commander_X wrote: Tue Dec 14, 2021 2:22 pm
I cannot say I know why the behavior of the "defaults" command is the one observed.

As can be noticed by "man defaults", indeed, there is not option/parameter to specify the type of the key you want to set (which in turn is not the same for the MacOS's version of the command -- you can tell what type of parameter you're passing there).

I'd guess, changing the type of the key is left as a manual step for GNUstep.
The more important question is: Does Oolite rely on the type, or can it handle string values just the same way?
Such stuff should definitely go into some documentation to make our lives easier...
Sunshine - Moonlight - Good Times - Oolite
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 666
Joined: Sat Aug 09, 2014 4:16 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Commander_X »

hiran wrote: Thu Dec 16, 2021 9:36 pm
[...] The more important question is: Does Oolite rely on the type, or can it handle string values just the same way? [...]
The answer to this question is that it does rely on the type, and the fact that GNUstep ignores the values with the wrong type is a good thing (e.g. Oolite doesn't crash).

And it seems there is a way to deal with the type using the "defaults" command even for Linux/GNUstep setups, to avoid the dreaded manual editing. The documentation for the "serialization of the property lists" can be found in the NSPropertyList.h file (part of the development GNUstep Foundation header file), or you can click in your browsers here.

For the impatient, this is how you should insert an integer for Oolite:

Code: Select all

defaults write oolite jsruntime-size-mib '<*I64>'
The single quotes are definitely expected (otherwise the < and > characters would be used for redirection).

I didn't try it, but it seems that '<integer>64</integer>' is also supported (instead of '<*I64>').

Again, this is just a Linux recommendation. Mac users have specific options for the "defaults" command that help with specifying the type of the value. For the Windows users, though, there would be a large amount of twists and sweat necessary to get this working.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5010
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Cholmondely »

I'm an ignoramus... but would there be any way just to make it adjustable from the F2 game options page, along with all the other gubbins? Even if it was for just the one platform? (Can't adjust gamma on the AppleMac F2 page, for example, but at least one can do so in Linux...).
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Slartibartfast
Deadly
Deadly
Posts: 175
Joined: Mon Jan 21, 2008 3:54 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Slartibartfast »

Hi
next test

Code: Select all

mattes@Pille:~$ defaults write oolite jsruntime-size-mib '<*I64>'
mattes@Pille:~$ defaults write oolite splash-screen '<*BN>'
mattes@Pille:~$ defaults write oolite show-ship-model-in-status-screen '<*BY>'
mattes@Pille:~$ defaults read 
oolite splash-screen 0
oolite show-ship-model-in-status-screen 1
oolite jsruntime-size-mib 64
mattes@Pille:~$ 
and the resulting oolite.plist

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>jsruntime-size-mib</key>
    <integer>64</integer>
    <key>show-ship-model-in-status-screen</key>
    <true/>
    <key>splash-screen</key>
    <false/>
</dict>
</plist>
but the both boolean "things" have again no effect

matthias
Oolite 1.91 / Imp. Trader ( slighly modified :wink: ) on Lubuntu 22.04 LTS on AMD64 2x 3800+ ,
ATI Radeon R7240 XFS / Samsung TV 40" 1080p
C-Media CMI8738 / Yamaha RX-V575 / DIY-Speaker
Logitech Attack3 & standard german keyboard
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 666
Joined: Sat Aug 09, 2014 4:16 pm

Re: oolite might need more ram and gc overhead memroy since it stiil crashing

Post by Commander_X »

Slartibartfast wrote: Fri Dec 17, 2021 7:19 pm
[...] but the both boolean "things" have again no effect [...]
I have the "ship model" setting already in the .plist file (as a YES string) and works as expected (and didn't want to play with it -- it has a long key name :) ).
I tested though the splash-screen setting with both NO (as a string) and '<*BN>' formats in the defaults command line, and the option was honored by the game (that is, no splash screen). I am not sure why it/they wouldn't work for you.
Post Reply