Jump to content

NullReferenceException: Object reference not set to an instance of an object at PQS.BuildVertexMapCoords CTD


Recommended Posts

5 minutes ago, SilverWolf said:

Progress.  I've found out how to poke the bear:  by going back and forth between tracking and the space center.  This is all about terrain generation.

Actually, this bug has been around for a while. Go to Danny2462’s “(XYZ) did this!” Same effect here.

Edited by Mr. Kerbin
New page!
Link to comment
Share on other sites

I'm getting the impression there is a memory leak in PQS.  I set terrain quality to Low, and just zerged back and forth between space center and tracking like a coked-up jacked-up red-bulled zergling on bluechew, and an observation:  each return to space center scene took just *a little* bit longer than each previous time; up to a couple seconds after maybe twenty cycles, until the overlay finally failed to load.  Need moar coffee.

Thanks, Kerbin, let me go look at that.

Link to comment
Share on other sites

All right, lads.  There are literally no more diagnostics we can run.  Just to recap, both MSI and Intel have doubled-down that notebook processors are not affected.  Intel's diagnostic tool did not uncover any issues with the processor after three runs.  I ran OCCT for four hours this morning on multiple tests, including a full-function test pushing everything up to 100%, with no errors or failures.  Here is proof of life on the memory.  I think the hardware train has reached it's final destination, and it's time to disembark.  We're looking for a software problem.  This is the only game giving me a ration of fecal matter.  Doom, Portal, Rust, FFXIV, GTAV, obscenely-heavily modded Minecraft; this thing is a tree grinder, and it's only 14 months old.

Link to comment
Share on other sites

5 hours ago, SilverWolf said:

OGL and D3D still failed with PQS NREs, right on startup. 

In time... I'm seeing some PQS NREs on my rig when changing scenes but... Curiously enough, they aren't logged on KSP.log, only shown on screen (I activated the on screen warning and error display). This is puzzling me for some time, but since the game still goes on, I kinda letting it happen to see how deep it goes into this rabbit role.

Curiously enough, I'm playing on KSP 1.4.3 (don't ask! :P)

And I don't remember these Exceptions happening some time ago...

 

48 minutes ago, SilverWolf said:

We're looking for a software problem.

I'm prone to agree, we have exhausted the hardware hypothesis by this time.

 

48 minutes ago, SilverWolf said:

This is the only game giving me a ration of fecal matter.  Doom, Portal, Rust, FFXIV, GTAV, obscenely-heavily modded Minecraft; this thing is a tree grinder, and it's only 14 months old.

From these, only Rust uses Unity, but as far as I could find, it's using Unity 5 (like KSP 1.3). Interesting check, download KSP 1.3.1., shove it with whatever you can think it will screw the PQS (like Kopernicus and some nice looking planet pack) and see what happens.

I think that you should be able to run up to KSP 1.4.3 without problems - on KSP 1.4.4 they changed the PQS subsystem to rely more on the GPU, and this caused some troubles for me at that time, as I was using a rig pretty low on VRAM.

Finally, by the looks of the problem, I think it's not a memory leak - it's a classic Producer/Consumer desync problem - the Consumer process is trying to reach the results before the Producer delivers it.

I managed to mitigate some problems on my rigs by using the stunt explained here:

Essentially, set a global environment variable called MONO_THREADS_PER_CPU and set it to 1 (I don't remember how to do it on Windows, and on Windows 11 it should be even worse) and see of this improves something.

I'm using this on all my games using Unity (being KSP or not), and on my Deck it run a few degrees cooler and the battery lasts a bit longer. On my MacMini, it also makes the rig runs smoother (I can't watch youtube while playing KSP without this stunt) and I had detected that the Garbage Collector works slightly better (and I have at least one report that it happens the same on Windows).

Let's see if with less threads screwing up your cores with spinlocks, things works less worse for you. Your CPU, indeed, is way faster than anything that existed when Unity 2019 was launched, and it's  clear that they try to sync things by brute force.

Edited by Lisias
Kraken damned autocompletes...
Link to comment
Share on other sites

2 minutes ago, SilverWolf said:

I think it's absolutely hilarious that you mentioned 1.3.1, because that's where my main career is still saved, and where I've been doing most of my undisclosed modding.  Wild.

I do my modding on 1.4.3 first, then back port to 1.3.1 when possible. I almost didn't played on 1.3.1, KSP 1.4.0 came essentially on the same month I had bought KSP, and so I jump started on it.

And I like the new Wheels (yeah, I know... apparently it's only me, the developer that did it and their mother...). :P

Edited by Lisias
Kinda of typo...
Link to comment
Share on other sites

I've got nothing left, not even patience.  This is every log I have in my possession.

Just a review for anyone who comes along before this place spaghettifies:  PQS keeps NREing and killing the game.  Diagnostics completed:  Intel Processor Diagnostic Tool (x3.)  Windows Memory Diagnostic (x2.)  Four hours of OCCT single and combined tests.  Corrective actions attempted:  Display driver update.  Display driver downgrade.  Hyperthreading toggle.  Threaded optimization toggle.  Process affinity configuration.  Force of D3D and OpenGL.  Verification of xinput1_3.  Deletion of all mods (including my work,) and saves.  Run as administrator.  Run in compatibility for various versions of windows.  Verification of all windows updates.  BIOS update.  Firmware update.  Closedown of all background processes and services.  Variable power profiles.

Good Luck, Future.

Link to comment
Share on other sites

23 minutes ago, SilverWolf said:

Just a review for anyone who comes along before this place spaghettifies:  PQS keeps NREing and killing the game.  Diagnostics completed:  Intel Processor Diagnostic Tool (x3.)  Windows Memory Diagnostic (x2.)  Four hours of OCCT single and combined tests.  Corrective actions attempted:  Display driver update.  Display driver downgrade.  Hyperthreading toggle.  Threaded optimization toggle.  Process affinity configuration.  Force of D3D and OpenGL.  Verification of xinput1_3.  Deletion of all mods (including my work,) and saves.  Run as administrator.  Run in compatibility for various versions of windows.  Verification of all windows updates.  BIOS update.  Firmware update.  Closedown of all background processes and services.  Variable power profiles.

It just came to my mind now... Did you tried a Steam Integrity Check (if installed from Steam), or reinstall a completely pristine copy if KSP from the original packages?

(only relevant if you are running from SSD)

Link to comment
Share on other sites

5 hours ago, SilverWolf said:

 Corrective actions attempted:  Display driver update.  Display driver downgrade.  Hyperthreading toggle.  Threaded optimization toggle.  Process affinity configuration.  Force of D3D and OpenGL.  Verification of xinput1_3.  Deletion of all mods (including my work,) and saves.  Run as administrator.  Run in compatibility for various versions of windows.  Verification of all windows updates.  BIOS update.  Firmware update.  Closedown of all background processes and services.  Variable power profiles.

I had ran out of "decent" ideas. All I had left are... well... guesses. Let's try an educated one...

I had noticed that from the 3 error.log you published, two had a stackdump from the crashed thread like this:

Stack Trace of Crashed Thread 19680:
0x00007FFA5FAD2BC4 (UnityPlayer) UnityMain
0x00007FFA5FAD2D32 (UnityPlayer) UnityMain
0x00007FFA5FA97F98 (UnityPlayer) UnityMain
0x00007FFA5FC05ED8 (UnityPlayer) UnityMain
0x00007FFA5FC06F3C (UnityPlayer) UnityMain
0x00007FFA5FC06007 (UnityPlayer) UnityMain
0x00007FFA5FC06317 (UnityPlayer) UnityMain
0x00007FFA5FC07460 (UnityPlayer) UnityMain
0x00007FFA5FCF2D68 (UnityPlayer) UnityMain
0x00007FFAD205259D (KERNEL32) BaseThreadInitThunk
0x00007FFAD3AAAF38 (ntdll) RtlUserThreadStart

Not even the addresses had changed between the error.log from Crash_2024-11-18_154605485 and Crash_2024-11-20_004532304 , the only difference is the thread number: 7648 on one and 19680 on another.

So, whatever is happening, is happening inside Unity, and may not be being caused by the PQS - perhaps the PQS is the screaming victim on this ordeal: something inside Unity gets screwed, and then PQS by some reason dies on a NRE due it before Unity completely lose it and dies too.

Since on at least one of the crashes the thing happened on FAR instead of PQS, this hypothesis is not without some teeth.

Well... Now let's roll some dices.

I know that Unity makes use of spinlocks and busywaits. And I had had problem with these things in the past. Some long past, from Turbo Pascal borking on the "fast" Pentium MMX at 200 MHz to Windows 95 doing the same on the newest Pentium IV at 2GHz. The problem? There was code relying on busywaits to sync things, but with the CPU running at "lightning speeds", the loop counter couldn't hold the number of loops needed for that processor and so everything relying on that sync routines gone down in flames.

Spoiler

And the history goes even further in the past, with the routines that read Paddles in the Apple II going crazy when using the Transwarp - by exactly the same reasons, we read the paddles by kicking a strobe and entering into a loop incrementing a counter until the strobe kicks back. With the CPU running at 3.5MHz instead of the regular 1,  a 8 bits counter weren't enough anymore.

What if your problem is being caused by something like that? Do you have how to "underclock" your CPU? Throttle it down to half to see if something changes?

Ok, it's a guess, but it's not a (completely) wild one.  :)

Edited by Lisias
Kraken damned autocompletes...
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...