All of a sudden OR (the MONO version) crashes td and I get this error log and I can't figure out what that means. Please could someone in the know help?
Error: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at Orts.Simulation.RollingStocks.TrainCar.UpdateTrainDerailmentRisk() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\RollingStocks\TrainCar.cs:line 1053
at Orts.Simulation.RollingStocks.TrainCar.Update(Single elapsedClockSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\RollingStocks\TrainCar.cs:line 635
at Orts.Simulation.RollingStocks.MSTSWagon.Update(Single elapsedClockSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\RollingStocks\MSTSWagon.cs:line 1353
at Orts.Simulation.Physics.Train.physicsUpdate(Single elapsedClockSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\Physics\Train.cs:line 1702
at Orts.Simulation.AIs.AITrain.AIUpdate(Single elapsedClockSeconds, Double clockTime, Boolean preUpdate) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\AIs\AITrain.cs:line 657
at Orts.Simulation.AIs.AI.AITTUpdate(Single elapsedClockSeconds, Boolean preUpdate, Boolean& activeTrains) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\AIs\AI.cs:line 788
at Orts.Simulation.AIs.AI.TimetableUpdate(Single elapsedClockSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\AIs\AI.cs:line 678
at Orts.Simulation.Simulator.Update(Single elapsedClockSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Simulation\Simulator.cs:line 744
at Orts.Viewer3D.Viewer.Update(RenderFrame frame, Single elapsedRealTime) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Viewer.cs:line 715
at Orts.Viewer3D.Processes.GameStateViewer3D.Update(RenderFrame frame, Double totalRealSeconds) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\GameStateViewer3D.cs:line 122
at Orts.Viewer3D.Processes.UpdaterProcess.Update() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:line 129
at Orts.Viewer3D.Processes.UpdaterProcess.DoUpdate() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:line 108
at Orts.Viewer3D.Processes.UpdaterProcess.UpdaterThread() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\UpdaterProcess.cs:line 74
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Page 1 of 1
OR log error
#3
Posted 09 July 2019 - 06:32 AM
OpenRailsLog.zip (7.85K)
Number of downloads: 277
Log attached. There are a lot of warnings and errors but I could not see that they were relevant to the crash.
Btw, It would be very helpful, if there existed a helpfile listing the most important warnings and errors and a recommendation how to repair the route. I tried using route-riter, it showed me many problems, but did repair nothing (no new files in the newroute folder).
Number of downloads: 277
Log attached. There are a lot of warnings and errors but I could not see that they were relevant to the crash.
Btw, It would be very helpful, if there existed a helpfile listing the most important warnings and errors and a recommendation how to repair the route. I tried using route-riter, it showed me many problems, but did repair nothing (no new files in the newroute folder).
#5
Posted 09 July 2019 - 05:09 PM
Csantucci, on 09 July 2019 - 12:30 PM, said:
I see no log attached.
It's there.
He has a fairly new, high end machine w/ plenty of RAM.
What I noticed that looked odd was several errors like this one:
Quote
Warning: System.IO.FileLoadException: {TileX:-5595 TileZ:14750 X:568.834 Y:372.17 Z:-876.204} scenery object 754 failed to load ---> System.InvalidCastException: Das Objekt des Typs "Orts.Formats.Msts.SpeedPostItem" kann nicht in Typ "Orts.Formats.Msts.SignalItem" umgewandelt werden.
at Orts.Viewer3D.SignalShape..ctor(Viewer viewer, SignalObj mstsSignal, String path, WorldPosition position, ShapeFlags flags) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Signals.cs:line 132
at Orts.Viewer3D.WorldFile..ctor(Viewer viewer, Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 441
at Orts.Common.ORTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Common\ErrorLogger.cs:line 122
at System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
at System.Diagnostics.Trace.TraceWarning(String format, Object[] args)
at Orts.Common.ORTraceListener.WriteLine(Object o) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Common\ErrorLogger.cs:line 207
at System.Diagnostics.TraceInternal.WriteLine(Object value)
at System.Diagnostics.Trace.WriteLine(Object value)
at Orts.Viewer3D.WorldFile..ctor(Viewer viewer, Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 500
at Orts.Viewer3D.SceneryDrawer.LoadWorldFile(Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 219
at Orts.Viewer3D.SceneryDrawer.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 101
at Orts.Viewer3D.World.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\World.cs:line 92
at Orts.Viewer3D.Viewer.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Viewer.cs:line 691
at Orts.Viewer3D.Processes.GameStateViewer3D.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\GameStateViewer3D.cs:line 127
at Orts.Viewer3D.Processes.LoaderProcess.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 159
at Orts.Viewer3D.Processes.LoaderProcess.DoLoad() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 138
at Orts.Viewer3D.Processes.LoaderProcess.LoaderThread() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 109
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
at Orts.Viewer3D.SignalShape..ctor(Viewer viewer, SignalObj mstsSignal, String path, WorldPosition position, ShapeFlags flags) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Signals.cs:line 132
at Orts.Viewer3D.WorldFile..ctor(Viewer viewer, Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 441
at Orts.Common.ORTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Common\ErrorLogger.cs:line 122
at System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
at System.Diagnostics.Trace.TraceWarning(String format, Object[] args)
at Orts.Common.ORTraceListener.WriteLine(Object o) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\Orts.Simulation\Common\ErrorLogger.cs:line 207
at System.Diagnostics.TraceInternal.WriteLine(Object value)
at System.Diagnostics.Trace.WriteLine(Object value)
at Orts.Viewer3D.WorldFile..ctor(Viewer viewer, Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 500
at Orts.Viewer3D.SceneryDrawer.LoadWorldFile(Int32 tileX, Int32 tileZ, Boolean visible) in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 219
at Orts.Viewer3D.SceneryDrawer.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Scenery.cs:line 101
at Orts.Viewer3D.World.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\World.cs:line 92
at Orts.Viewer3D.Viewer.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Viewer.cs:line 691
at Orts.Viewer3D.Processes.GameStateViewer3D.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\GameStateViewer3D.cs:line 127
at Orts.Viewer3D.Processes.LoaderProcess.Load() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 159
at Orts.Viewer3D.Processes.LoaderProcess.DoLoad() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 138
at Orts.Viewer3D.Processes.LoaderProcess.LoaderThread() in D:\ADRIANA\Carlo\OR_Work\Git_ORTS_source_mio\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 109
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Hopw that helps.
#6
Posted 09 July 2019 - 09:38 PM
Hello Hannes44,
I've reviewed to log.This is reminiscent of what I had to slog through fixing the PRR-East database errors.
Before I could continue the PRR upgrade I had to fix errors just like you are showing. Before I go on there is a bit of disturbing information: After I had gotten rid of all the PRR database errors that showed in the OpenRailsLog.txt file I began PRR upgrade beginning with the removal of all track in the Philadelphia Zoo Interlocking.
When I began rebuilding There were several times new database errors were being introduced. I fixed these, mostly speedpost items and continued. I tested after every edit session using the Open Rails log file(s).At the time I communicated with Goku . . . he suggested changing this datablock
If the TSRE settings.txt file was set to true I was getting random database errors, as said mainly with speedpost items but all interactives were involved. Now due to the atrocious condition of beginning database problems on the PRR-East I've hesitated posting this as there were a lot of database problems on the PRR and I could not say for sure they were all fixed as I was using Open Rails to flag problems ... and it did this very well indeed. So the default setting "useTdbEmptyItems = true
seemed to cause new database errors on the PRR. But I can't say for sure. It may be a problem with the way TSRE handles Empty Items in the database files. It's a horribly complicated process and as I said, no more errors after the empty item was set to false.
This also raises another issue; Empty Items datablocks accumulate in the database files.
No one knows how many are 'bad' but the present PRR has over a thousand and no problem.
Empty Item blocks are generated when an interactive item is deleted. When the next interactive is placed the editor would normally use the EmptyItem block.
The PRR database is >50MB. Maybe TSRE has a problem with this? IDK.
After I set entry to "false" no more errors occurred. After reading this thread and picking through the log I'm wondering if this is a possible TSRE bug. So, what to do?
First off change the useTdbEmptyItems = setting to false.
Then make an attempt to fix each and every database error on the list. Keep some kind of record of what you do . . . a log.
I started at the top of the OR log just below the statistics. a little bit at a time each day . . . took almost a year.
You can make good use of the tools in TSRE; The Hacks menu and the ability to display TDBItems as a black cube that is selectable and deletable. Be very careful using these tools and be sure to have good backups.
Maybe you could post on Trainsim.com. Goku has a forum there.
Good luck.
regards,
vince
Posts at trainsim.com regarding database errors . . . there are more there.
https://www.trainsim...595#post1949595
https://www.trainsim...-Database-Files
https://www.trainsim...le-Crashes-TSRE
https://www.trainsim...622#post1941622
I've reviewed to log.This is reminiscent of what I had to slog through fixing the PRR-East database errors.
Before I could continue the PRR upgrade I had to fix errors just like you are showing. Before I go on there is a bit of disturbing information: After I had gotten rid of all the PRR database errors that showed in the OpenRailsLog.txt file I began PRR upgrade beginning with the removal of all track in the Philadelphia Zoo Interlocking.
When I began rebuilding There were several times new database errors were being introduced. I fixed these, mostly speedpost items and continued. I tested after every edit session using the Open Rails log file(s).At the time I communicated with Goku . . . he suggested changing this datablock
# ROUTE EDIT #createNewIfNotExist = true writeEnabled = true writeTDB = true useTdbEmptyItems = false <======<<< DATA CHANGED TO FALSE (default was true) #deleteTrWatermarks = true #deleteViewDbSpheres = true
If the TSRE settings.txt file was set to true I was getting random database errors, as said mainly with speedpost items but all interactives were involved. Now due to the atrocious condition of beginning database problems on the PRR-East I've hesitated posting this as there were a lot of database problems on the PRR and I could not say for sure they were all fixed as I was using Open Rails to flag problems ... and it did this very well indeed. So the default setting "useTdbEmptyItems = true
seemed to cause new database errors on the PRR. But I can't say for sure. It may be a problem with the way TSRE handles Empty Items in the database files. It's a horribly complicated process and as I said, no more errors after the empty item was set to false.
This also raises another issue; Empty Items datablocks accumulate in the database files.
No one knows how many are 'bad' but the present PRR has over a thousand and no problem.
Empty Item blocks are generated when an interactive item is deleted. When the next interactive is placed the editor would normally use the EmptyItem block.
The PRR database is >50MB. Maybe TSRE has a problem with this? IDK.
After I set entry to "false" no more errors occurred. After reading this thread and picking through the log I'm wondering if this is a possible TSRE bug. So, what to do?
First off change the useTdbEmptyItems = setting to false.
Then make an attempt to fix each and every database error on the list. Keep some kind of record of what you do . . . a log.
I started at the top of the OR log just below the statistics. a little bit at a time each day . . . took almost a year.
You can make good use of the tools in TSRE; The Hacks menu and the ability to display TDBItems as a black cube that is selectable and deletable. Be very careful using these tools and be sure to have good backups.
Maybe you could post on Trainsim.com. Goku has a forum there.
Good luck.
regards,
vince
Posts at trainsim.com regarding database errors . . . there are more there.
https://www.trainsim...595#post1949595
https://www.trainsim...-Database-Files
https://www.trainsim...le-Crashes-TSRE
https://www.trainsim...622#post1941622
#7
Posted 09 July 2019 - 11:17 PM
Thanks for your suggestions. I even dont have an entry "useTdbEmptyItems" in the settings.txt. But now I've inserted it and turned it to false. And I'm beginning to delete the isolated black cubes.
#8
Posted 10 July 2019 - 08:18 AM
Hannes44, on 09 July 2019 - 11:17 PM, said:
Thanks for your suggestions. I even dont have an entry "useTdbEmptyItems" in the settings.txt. But now I've inserted it and turned it to false. And I'm beginning to delete the isolated black cubes.
If you see a Signal Item (the shape) without a Black Cube unless it is an intended 'dummy' signal, you can delete them also as it's a signal shape without track database/tit entries.
These don't show in the F4 track monitor.
Good backups a requirement here and careful steps. I got through hundreds of these on the PRR you will too but it takes careful work.
regards,
vince
Page 1 of 1