Page 19 of 26

Re: (WIP) Hermitage

Posted: Sat May 28, 2022 3:27 pm
by zx_cb
another_commander wrote: Sat May 28, 2022 2:59 pm
Easy things first: Does this occur if you remove the Hermitage OXP?
Easy answer - no, it doesn`t :) Because starting a new career by selecting an Easy option in Hermitage is the only scenario in which I get this kind of errors. That puts the player into TL13 Rexebe system in G1, other two options work as intended.

serpent_death is referring to the Serpent Cruiser which I`m using. Suppose there is also *_trader and *_pirate as I encountered mentions of them not being found in the log before, but it works OK on my main savegame and I never had "Universe is full" error on it. Never saw it, to be precise, but I generally look into the log first thing after the game crashes.

(edit)

I tried that - starting a new Hermitage on Easy - under my test install, it went fine with no errors. Log is included for comparison, although there`s really nothing fancy in it (at least that I could see)

https://www.dropbox.com/s/9ytj3xlazhmrm ... t.log?dl=0

(edit)

I also took the savegame created under test install and tried loading it under main. End result was basically the same (black screen and force-exit), but - "universe is full" errors were only being generated by *shotEntity and *effectEntity. My best guess is that the Hermitage itself, or player ship type, is unrelated, but *something* is spawned in this exact system by one of the OXPs that works incorrectly. Please see the log attached.

https://www.dropbox.com/s/9ytj3xlazhmrm ... t.log?dl=0

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 11:10 am
by another_commander
I think you will need the 1.91 test release to be able to debug this further. You can get 1.91 from either here or here (second one is a monolithic executable containing core+selected OXPs and decompresses in memory when run). You can install it alongside 1.90 and as long as they are in different folders they can coexist peacefully. What 1.91 allows you to do is dump the full list of entities in the universe at any time. Just launch it normally and once you start getting "Universe is full" messages in the log press "p" to pause and then press "0" (zero) to dump the entity list in the log file. Maybe the list of entities present could give a hint of which OXP is responsible.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 11:30 am
by phkb
zx_cb wrote: Sat May 28, 2022 3:27 pm
I also took the savegame created under test install and tried loading it under main. End result was basically the same (black screen and force-exit), but - "universe is full" errors were only being generated by *shotEntity and *effectEntity. My best guess is that the Hermitage itself, or player ship type, is unrelated, but *something* is spawned in this exact system by one of the OXPs that works incorrectly. Please see the log attached.
Just to let you know, I've replicated your OXP set and am getting the same issue - universe is full when loading the Hermitage scenario. I've started working through where the conflicts might be occurring, but it might take me a while.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 11:53 am
by zx_cb
phkb wrote: Sun May 29, 2022 11:30 am
Just to let you know, I've replicated your OXP set and am getting the same issue - universe is full when loading the Hermitage scenario. I've started working through where the conflicts might be occurring, but it might take me a while.
Good to hear that, maybe something useful will uncover itself in the process :) I`d say cross-referencing it with one used by Cholmondeley could narrow down a potential issue a lot, since he seems to be starting the same career in Rexebe fine.

In the meantime I will produce a test-build log with entity dump.

edit: apparently I won`t, as pressing the zero key produces no result in the log file. These excerpts could be noteworthy:

15:31:41.863 [script.javaScript.exception.unexpectedType]: ***** JavaScript exception (Hermitage_Main 0.8.1): TypeError: h is null
15:31:41.863 [script.javaScript.exception.unexpectedType]: Resources/Scripts/oolite-populator.js, line 2062.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:17 pm
by another_commander
zx_cb wrote: Sun May 29, 2022 11:53 am
edit: apparently I won`t, as pressing the zero key produces no result in the log file. These excerpts could be noteworthy:
Are you pressing zero while paused?

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:28 pm
by zx_cb
another_commander wrote: Sun May 29, 2022 1:17 pm
Are you pressing zero while paused?
I sure do - as instructed :) Tried both the upper row and numpad keys, just to be sure

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:29 pm
by another_commander
Weird, it works fine here... Well, tough, I guess. Debugging will have to go on without entity lists.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:32 pm
by zx_cb
another_commander wrote: Sun May 29, 2022 1:29 pm
Weird, it works fine here... Well, tough, I guess. Debugging will have to go on without entity lists.
May it be the culprit that there`s no connection to debug console logged on startup?

(edit)

[debugTCP.disconnect]: No connection to debug console: "Connection to debug console failed: 'Connection refused.

' (outStream status: 7, inStream status: 7)."
[debugTCP.send.warning]: Error sending packet header, retrying.
[debugTCP.send.error]: The following packet could not be sent: {"Oolite version" = 1.91; "packet type" = "Request Connection"; "protocol version" = 65792; }
[debugTCP.disconnect]: No connection to debug console: "Connection to debug console failed: 'bad stream.' (outStream status: 0, inStream status: 0)."
[debugTCP.connect.failed]: Failed to connect to debug console at address 127.0.0.1:8563.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:38 pm
by another_commander
No, that should not be relevant. Had a look and there is something else you might try: Open oolite.app/Resources/Config/logcontrol.plist and find this line:

Code: Select all

universe.maxEntitiesDump				= no;				// Dumps all entities when universe is full (Can be quite verbose)
Change the no; to a yes;, restart the game and let it fill up the universe. Entity dump to the log should happen automatically. Make sure you are using the test release version for this.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 1:58 pm
by zx_cb
another_commander wrote: Sun May 29, 2022 1:38 pm
Entity dump to the log should happen automatically.
That did it, presenting me with a 318MB file with thousands of recursive entity dumps. I took liberty of compiling a (seemingly) relevant information to a separate file, which is attached.

https://www.dropbox.com/s/xigiyqzz5btji ... p.txt?dl=0

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 2:06 pm
by phkb
OK, I think I might have the culprit.

Can you try taking out "Convoys"? I think that one is spawning a lot of extra ships.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 2:16 pm
by zx_cb
phkb wrote: Sun May 29, 2022 2:06 pm
Can you try taking out "Convoys"? I think that one is spawning a lot of extra ships.
That has cleared the issue :)

Right away I saw that Shift+F shows an entity count around 1380, and no abnormalities in the log (let me know if you still want to see it)

(edit)

eager to try out the 0.8.2 with mission generation fixed, if you had a chance to look over it. Basically the only game-breaking issue remaining at this point.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 2:27 pm
by another_commander
zx_cb wrote: Sun May 29, 2022 2:16 pm
Right away I saw that Shift+F shows an entity count around 1380
Just out of curiosity: how is it performing with this many entities spawned?

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 2:33 pm
by phkb
For clarity, I don't think Hermitage is causing Convoys to do anything unexpected. In fact, I think you'd get the same error if you made your way to Rexebe (G1) independently with Convoys in play. I suspect that the high number of interstellar connections (11 in the case of Rexebe) makes the populator add more ships. Convoys takes over some of those roles based on it's role frequencies in it's shipdata file, and then adds a bunch of extra escorts for each. At least, that's the working theory I have at the moment.
zx_cb wrote: Sun May 29, 2022 2:16 pm
eager to try out the 0.8.2
Well, I think it's good to go: Hermitage.0.8.2.zip.
  • Prevented cargo being transferred to hold from market or storage when not docked at the Hermitage.
  • Fixed JS bug when purchasing Rock Hermit.
  • Fixed JS bug when getting secondary mission after purchasing certain upgrades.
  • Improved detection of scavenger when redocking at Hermitage.
  • Prevented any trade simulation from running before you arrive at your station, when playing the start scenario.
  • Added missing trueValues array to Transports script file.
Note, the other links to the previous version will no longer work.

Re: (WIP) Hermitage

Posted: Sun May 29, 2022 3:01 pm
by zx_cb
another_commander wrote: Sun May 29, 2022 2:27 pm
Just out of curiosity: how is it performing with this many entities spawned?
Did some quick fly around for observations. In one word - good :)

It takes around 4GB of memory, CPU usage is 15-18% (i7 7800X 6-core @3.5GHz), GPU usage is 25-30% (GTX1080 8Gb), FPS is 55-59 docked (I have set a 60 limit), 43-47 in fly and 33-38 amidst a heated combat (entity count got up to 1500), though CPU and GPU both aren`t receiving considerably more load judging by the graphs.
phkb wrote: Sun May 29, 2022 2:33 pm
For clarity, I don't think Hermitage is causing Convoys to do anything unexpected. In fact, I think you'd get the same error if you made your way to Rexebe (G1) independently with Convoys in play.
That was my thinking also, that the system itself is behaving abnormally with one of the OXPs. In fact, I recall being unable to hyperspace to Onrira system (G1 TL14, close to Lave) back in the day, with the game stuttering heavily on witchjump and then always crashing - though I didn`t looked in the log then and it could be also attributed to JS out of memory. Maybe some tune-up to Convoys is in order to limit its fertility for such cases.