The International Simutrans Forum

 

Author Topic: FATAL: Bad runway reservation logic.  (Read 327 times)

0 Members and 1 Guest are viewing this topic.

Offline DrSuperGood

  • Dev Team
  • Devotee
  • *
  • Posts: 2549
  • Languages: EN
FATAL: Bad runway reservation logic.
« on: August 26, 2018, 02:06:15 PM »
On the server I decided to upgrade my air fleet to newer faster planes. These shiny new planes needed longer runways. No big deal I extended them. During this a zepalin landed using one of the runways (since they need to use them to land but not take off?) and also soon after I accidently sent a plane to the wrong airport so I ordered it back half way down the runway.

A month later I check back to find all my aircraft circling around one of the runways, none landing or taking off. Looking at the reservations arcraft number 914 was the cause. Trying to use the block reservation free tool does nothing. Eventually I had enough of this buggy airplane so I sent it to depot. Despite being in the depot it still has reservation tiles on the runway. At this point a thought save/load cycling would help, but nope 914 still has reservation over the runway.

Eventually I was annoyed so decided I would rebuild the runway, after all this is costing me upwards of 70,000 per month anyway. Upon deleting the runway the server immediately crashed, and as soon as the client disconnected the client also immediately crashed. This crash is 100% reproduceable. It does not even give a reason for the crash it is so bad, the application literally closes.

Now I understand recreating the cause that made the bad reservation would be better, but even still a convoy that is inside a depot should not be able to own any reserved tiles and this is a pretty serious crash.

Airport with the problem is @1359,2569, The aircraft with the broken reservation is (914) Ford Trimotor. To produce the crash, use the runway removal tool and drag select the entire runway. The game will hang and then close.

Due to the cost this has on my company I cannot leave the server in this state. For this reason I have captured the save and uploaded it to DropBox below. This link will last many months but may be eventually removed.
https://www.dropbox.com/s/6yp9eqofwav0ri6/Runway%20Reservation%20Crash.sve?dl=0

I will now try to fix it without crashing on the server.

EDIT: To fix the problem without crashing the game one has to sell the aircraft, in this case (914) Ford Trimotor.
« Last Edit: September 10, 2018, 01:09:48 AM by DrSuperGood »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 18030
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: FATAL: Bad runway reservation logic.
« Reply #1 on: August 26, 2018, 05:31:59 PM »
Thank you for your report: I believe that I have now pushed a fix for the two reproducible problems, being the crash and the inability manually to unreserve the runway. If you are able to reproduce the conditions in which the stuck reservation come to be created in the first place, I should be grateful if you could post a separate report in a different thread with the reproduction case for that.

The fix should be applied with to-morrow's nightly build.

Offline DrSuperGood

  • Dev Team
  • Devotee
  • *
  • Posts: 2549
  • Languages: EN
Re: FATAL: Bad runway reservation logic.
« Reply #2 on: September 10, 2018, 01:08:47 AM »
Have yet to run into this crash again, and it does appear that the reservation removal tool does work on aircraft now. Marking as solved.
« Last Edit: September 10, 2018, 02:00:36 AM by DrSuperGood »

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 18030
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: FATAL: Bad runway reservation logic.
« Reply #3 on: September 10, 2018, 01:14:48 AM »
Splendid, thank you for confirming.