Elvas Tower: Server Crash Again - Elvas Tower

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Server Crash Again Rate Topic: -----

#1 User is offline   alifatico 

  • Hostler
  • Group: Status: Active Member
  • Posts: 92
  • Joined: 25-April 19
  • Gender:Male
  • Simulator:open rails
  • Country:

Posted 07 September 2021 - 12:02 AM

Good morning, last night playing a multiplayer game, the private server crashed again.

We were 8 players with two Dispacher and we had all checked the disable TCS server box.

I am sending you the text of the error that appeared and a copy of the .log in case you see something worth mentioning.

It would be very interesting if the time in which the errors occurred would appear in the .log, so you could try to narrow down the possible cause.

Thank you very much in advance.

Error: Orts.Viewer3D.Processes.ThreadHangException: Thread 'Updater Process' has hung; the consistent stack trace is shown below:
en Orts.Common.ORTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args) en C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Common\ErrorLogger.cs:línea 123
en System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
en Orts.Common.ORTraceListener.WriteLine(Object o) en C:\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Common\ErrorLogger.cs:línea 205
en System.Diagnostics.TraceInternal.WriteLine(Object value)
en Orts.Viewer3D.Processes.WatchdogProcess.WatchdogThread() en C:\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\WatchdogProcess.cs:línea 132
en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
en System.Threading.ThreadHelper.ThreadStart()

Attached File(s)



#2 User is offline   alifatico 

  • Hostler
  • Group: Status: Active Member
  • Posts: 92
  • Joined: 25-April 19
  • Gender:Male
  • Simulator:open rails
  • Country:

Posted 07 September 2021 - 01:09 AM

We all use material from a common folder to avoid server crashes.

The last crashes of the server have coincided with uncoupling of wagons, or perhaps with changes of track by the dispachers and of course if a player enters with foreign or defective material.

Thanks again

#3 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Status: Elite Member
  • Posts: 6,996
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 07 September 2021 - 07:12 AM

This is another type of crash, that has nothing to do with TCS scripts. It is a thread hang crash: the Updater process entered an endless loop or was too slow, and the watchdog process has intervened and aborted the OR execution.
My personal opinion and experience are that endless loops in OR are very, very rare (I don't remember the last one I got), while cases where a process slows considerably down are much more frequent (and I can imagine that a multiplayer server may be under stress under some circumstances).
For this reason I since long time have introduced in OR NewYear MG a menu option to enable/disable the watchdog (I always run with disabled watchdog). So, if you want to avoid or substantially reduce this type of crashes, I suggest you to try using OR NewYear MG instead of the official testing release.
Maybe not everyone agrees with these sentences, but this is my humble opinion.

I agree with you that having a time stamp in the log messages is sometimes very useful.

#4 User is offline   alifatico 

  • Hostler
  • Group: Status: Active Member
  • Posts: 92
  • Joined: 25-April 19
  • Gender:Male
  • Simulator:open rails
  • Country:

Posted 07 September 2021 - 08:05 AM

Thanks Carlo, you don't know what helps us.

In the next meeting to play, we will try to do it according to your recommendation and I will gladly comment on the results.

Again, thank you very much.

Pedro.

#5 User is offline   alifatico 

  • Hostler
  • Group: Status: Active Member
  • Posts: 92
  • Joined: 25-April 19
  • Gender:Male
  • Simulator:open rails
  • Country:

Posted 07 September 2021 - 11:12 PM

Hi Carlo. Last night we did the multiplayer test by disabling the Whatchdog and the TCS Script.

We intervene 6 players, one of them starts the private server and acts as a dispacher and the other 5 travel the route, this time the dispacher gave permission and anyone else could also act as a dispacher.

The test ran for 4 hours without incident, (only some complaint about the behavior of the signals).

At one point in a station, two trains were stopped waiting to be passed by a third, when this third train arrived it did not obey the changes and its path was diverted to one of the parked trains.

But the funny thing is that the one who was the dispacher saw the maneuver well, but the other dispacher (the one who started the private server) saw that his train had deviated and entered a busy track and at that moment the server fell.

I'm sending you the .log in case you see something worth mentioning, and again thank you very much for your attention.

Kind regards.

Pedro

Attached File(s)



#6 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Status: Elite Member
  • Posts: 6,996
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 08 September 2021 - 12:09 AM

Hi Pedro,
I'm happy that you had the crash only after 4 hours: I think that's a good result for a multiplayer session, at least for my experience, that is however a bit dated: maybe the environment is more stable now.
As for the crash itself, in fact it is something related to directions in switches that caused the crash; however I'm not very knowledgeable about how this part of the code works, and so I can't help you much on this specific crash. Maybe you could try, also in single player mode, if you get a crash if you run a train over the switch that caused the crash, with the direction that was set for the train that caused the issue. But I fear you won't find problems.

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users