In certain map attempting to find the last reachSpec returned something as Start and End but their names were... "None" instead of another string. Here I believe it was a data corruption losing some objects from account. As result I had to adjust data returned by Trash Lord and to stop immediately if an actor exists referenced but is called None - lol, or indeed is None and only referenced doing damage when a code wants to work with it.
What was good ? By only opening such a map and applying XC Cleaner, then saving map and closing Editor, in next examination stage all lousy things have been vanished and crashes have been gone for good. I think I recommend for any final stage of any map such a cleaning task operated in a single session dedicated for this task. I'm not sure if a map having lousy things inside won't do damage sooner or later as long as screwed up objects sitting in memory with no purpose are only a charge and a mess.
The fact is that such maps with screwed things I see "Saved" by UGold227h which it's crashing itself during last reachSpec hunt because the None was not exactly None - only as a name "None" - definitely there was something referenced. After working at map's reachSpecs bytes, it looks like the XC Cleaner is a MUST DO after these UG227 patches right in UT ignoring how messed up is this Editor in original.
Introducing logs for map DM-300kB3ShaneBlast
Scanning in UT:
Code: Select all
...
ExpectingCrash: Bork at reachSpec 307
BreakingCycle: Attempt STOPPING reachSpecs Finder...
Reporting: ---------------------------------------------------
MaxNumFound: I found 307 reachspecs, from 0 to 306.
Code: Select all
SpecContent: ReachSpec 306 data:
Data: - Start = InventorySpot279
Data: - End = PathNode18
Data: - ReachFlags = Walk=1
Data: - Distance = 483
:
Critical: UObject::ProcessEvent
Critical: (MapGarbage Transient.MapGarbage2, Function MapGarbage.MapGarbage.Build)
Critical: WDlgBrushBuilder::OnBuild
Critical: WButton::InterceptControlCommand
Critical: WM_HSCROLL
Critical: WWindow::WndProc
Critical: WWindow::StaticDlgProc
Critical: WWindow::WndProc
Critical: WWindow::StaticProc
Critical: DispatchMessage
Critical: 001D02D6 514
Critical: MessagePump
Critical: MainLoop
Exit: Executing UObject::StaticShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: UD3D9RenderDevice::ShutdownAfterError
Exit: Exiting.
UT report:
Code: Select all
SpecContent: ReachSpec 174 data:
Data: - Start = InventorySpot276
Data: - End = InventorySpot277
Data: - ReachFlags = Jump Walk=9
Data: - Distance = 386
:
MaxNumFound: I found 175 reachspecs, from 0 to 174.
And then UGold227 has logged this:
Code: Select all
SpecContent: ReachSpec 174 data:
Data: - Start = InventorySpot276
Data: - End = InventorySpot277
Data: - ReachFlags = Jump Walk=9
Data: - Distance = 386
:
MaxNumFound: I found 175 reachspecs, from 0 to 174.