Skylines-MetroOverhaulMod icon indicating copy to clipboard operation
Skylines-MetroOverhaulMod copied to clipboard

Array index error in MOM detour

Open originalfoo opened this issue 4 years ago • 11 comments

Full log: http://m.uploadedit.com/beth/1586289652925.txt

Simulation error: Array index is out of range.
at MetroOverhaul.Detours.PassengerTrainAIDetour.StartPathFind (uint16,Vehicle&) <0x004fc>
at PassengerTrainAI.SetTarget (uint16,Vehicle&,uint16) <0x00122>
at DepotAI.ProduceGoods (uint16,Building&,Building/Frame&,int,int,Citizen/BehaviourData&,int,int,int,int,int,int) <0x00827>
at TransportStationAI.ProduceGoods (uint16,Building&,Building/Frame&,int,int,Citizen/BehaviourData&,int,int,int,int,int,int) <0x0008f>
at PlayerBuildingAI.SimulationStepActive (uint16,Building&,Building/Frame&) <0x009cb>
at CommonBuildingAI.SimulationStep (uint16,Building&,Building/Frame&) <0x00e71>
at PlayerBuildingAI.SimulationStep (uint16,Building&,Building/Frame&) <0x0002f>
at DepotAI.SimulationStep (uint16,Building&,Building/Frame&) <0x0002a>
at TransportStationAI.SimulationStep (uint16,Building&,Building/Frame&) <0x002f8>
at BuildingAI.SimulationStep (uint16,Building&) <0x00060>
at (wrapper dynamic-method) CommonBuildingAI.SimulationStep_Patch1 (object,uint16,Building&) <0x00055>
at BuildingManager.SimulationStepImpl (int) <0x00675>
at SimulationManagerBase`2.SimulationStep (int) <0x0004c>
at BuildingManager.ISimulationManager.SimulationStep (int) <0x00024>
at SimulationManager.SimulationStep () <0x00693>
at SimulationManager.SimulationThread () <0x0018a>
  [Core]

The error above seems to trigger a recurring error as follows:

Simulation error: Array index is out of range.
  at TransportLine.GetPrevSegment (UInt16 stop) [0x00000] in <filename unknown>:0 
  at TransportLine.CanLeaveStop (UInt16 nextStop, Int32 waitTime) [0x00000] in <filename unknown>:0 
  at PassengerTrainAI.CanLeave (UInt16 vehicleID, .Vehicle& vehicleData) [0x00000] in <filename unknown>:0 
  at PassengerTrainAI.SimulationStep (UInt16 vehicleID, .Vehicle& vehicleData, .Frame& frameData, UInt16 leaderID, .Vehicle& leaderData, Int32 lodPhysics) [0x00000] in <filename unknown>:0 
  at VehicleAI.SimulationStep (UInt16 vehicleID, .Vehicle& vehicleData, UInt16 leaderID, .Vehicle& leaderData, Int32 lodPhysics) [0x00000] in <filename unknown>:0 
  at TrafficManager.Custom.AI.CustomTrainAI.CustomSimulationStep (UInt16 vehicleId, .Vehicle& vehicleData, Vector3 physicsLodRefPos) [0x00000] in <filename unknown>:0 
  at VehicleManager.SimulationStepImpl (Int32 subStep) [0x00000] in <filename unknown>:0 
  at SimulationManagerBase`2[Manager,Properties].SimulationStep (Int32 subStep) [0x00000] in <filename unknown>:0 
  at VehicleManager.ISimulationManager.SimulationStep (Int32 subStep) [0x00000] in <filename unknown>:0 
  at SimulationManager.SimulationStep () [0x00000] in <filename unknown>:0 
  at SimulationManager.SimulationThread () [0x00000] in <filename unknown>:0   [Core]

originalfoo avatar Apr 07 '20 20:04 originalfoo

Another log with this error from differnet user: mom_output_log.txt

https://steamcommunity.com/app/255710/discussions/0/1750147885670168992/#c2146470329514392919

originalfoo avatar Apr 08 '20 02:04 originalfoo

Entire log file:output_log.txt

Simulation error: Array index is out of range.
at MetroOverhaul.Detours.PassengerTrainAIDetour.StartPathFind (uint16,Vehicle&) <0x004fc>
at PassengerTrainAI.SetTarget (uint16,Vehicle&,uint16) <0x00122>
at DepotAI.ProduceGoods (uint16,Building&,Building/Frame&,int,int,Citizen/BehaviourData&,int,int,int,int,int,int) <0x00827>
at TransportStationAI.ProduceGoods (uint16,Building&,Building/Frame&,int,int,Citizen/BehaviourData&,int,int,int,int,int,int) <0x0008f>
at PlayerBuildingAI.SimulationStepActive (uint16,Building&,Building/Frame&) <0x009cb>
at CommonBuildingAI.SimulationStep (uint16,Building&,Building/Frame&) <0x00e6d>
at PlayerBuildingAI.SimulationStep (uint16,Building&,Building/Frame&) <0x0002f>
at DepotAI.SimulationStep (uint16,Building&,Building/Frame&) <0x0002a>
at TransportStationAI.SimulationStep (uint16,Building&,Building/Frame&) <0x002f8>
at BuildingAI.SimulationStep (uint16,Building&) <0x00060>
at (wrapper dynamic-method) CommonBuildingAI.SimulationStep_Patch1 (object,uint16,Building&) <0x00055>
at BuildingManager.SimulationStepImpl (int) <0x00675>
at SimulationManagerBase`2.SimulationStep (int) <0x0004c>
at BuildingManager.ISimulationManager.SimulationStep (int) <0x00024>
at SimulationManager.SimulationStep () <0x00693>
at SimulationManager.SimulationThread () <0x0018a>
  [Core]

pinnaval avatar Apr 10 '20 18:04 pinnaval

Had the same error. I could solve the problem by

  1. pausing the game (must be quick, between closing error-popup and next error-popup),
  2. closing the error-popup like 20 times until it did not appear again,
  3. deleting all traffic (TM:PE) and then disabling Inter-City-Traffic on the metro-parts of my (modular) railway/metro-station (and then unpausing). Seems working so far, playing 1h without error :)

Edit: Played now for several hours and error did not occur again, so this seems to fix it.

StefanHue avatar Apr 24 '20 22:04 StefanHue

I had the same issue, @StefanHue's solution worked for me. However, now CS just crashes whenever I try saving.

I'm getting this line heaps of times right before the crash:

Error with BUILDING_SHORT_DESC[1412775439.Elevated - Glass - Station_Data_XANALOGX_Metro]:0: The id was not found in the localization files.  [Localization - Internal]
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

It's about a train station that I set up as a metrostation instead, and where I had to disable intercity trains.

Full log: output_log.txt

15six avatar May 13 '20 20:05 15six

@15six That's just missing translation of the station name; it shouldn't cause any issues.

If CS is crashing while saving, it could be lack of RAM. Try reducing number of assets to free RAM, and if you have Loading Screen Mod make sure all it's sharing/optimisation features are enabled.

originalfoo avatar May 13 '20 21:05 originalfoo

@aubergine10 I'll try removing some assets (should've done that ages ago anyways), but I doubt the RAM's the issue. It's saving fine before I apply @StefanHue's workaround, but when I try to save right after disabling intercity traffic it just crashes.

15six avatar May 14 '20 18:05 15six

Another approach could be to use "Safe Mode" options in loading screen mod, load the save (all traffic will be cleared by LSM safe mode), then disable inter-city traffic on metro stations?

I'm just guessing, but it's likely that the game was trying to send trains to what it perceives to be intercity stations, only to find that they are now metro stations that don't accept intercity trains.

originalfoo avatar May 14 '20 18:05 originalfoo

I eventually found that another metro station which I used near the edge of the map was the culprit. It still had intercity trains checked. It's been working fine ever since. Thanks for the help!

15six avatar May 16 '20 15:05 15six

I eventually found that another metro station which I used near the edge of the map was the culprit. It still had intercity trains checked. It's been working fine ever since. Thanks for the help!

Metro Overhaul Mod should disable intercity traffic for metro tracks by default.

Monniasza avatar Aug 12 '20 18:08 Monniasza

@StefanHue Thank you it worked! Though I only cleared the traffic in TM:PE.

jakejcheng avatar Dec 03 '20 22:12 jakejcheng

I've encountered this issue as well, though I need my station (a metro & train hybrid) to be able to accept both intercity and innercity trains. Is it possible to get a fix on this? @bloodypenguin

wusatosi avatar Aug 22 '21 11:08 wusatosi