The International Simutrans Forum

Simutrans Extended => Simutrans-Extended development => Simutrans-Extended bug reports => Topic started by: Ranran(retired) on March 14, 2022, 03:14:22 PM

Title: Crashes related to road vehicle routing
Post by: Ranran(retired) on March 14, 2022, 03:14:22 PM
This crash has been occurring often with demo.sve for a long time now (probably more than a year).
The timing at which they occur is almost always random.
So I can't submit a save just before the crash, but it's the crash I most encounter when testing on demo.sve.

This happens even if I'm only testing the GUI, and I don't think the changes I made are related to this crash.

The coordinates of these two points are ordinary roads and appear to be connected.

EDIT:
It turns out that this happens not only in private cars but also in player's road vehicles.
Title: Re: Crashes related to privatecar routing
Post by: jamespetts on March 14, 2022, 04:35:06 PM
Interesting - thank you for the report. Can this reliably be reproduced with demo.sve running in fast forward mode for a period of time?
Title: Re: Crashes related to privatecar routing
Post by: Ranran(retired) on March 14, 2022, 09:10:34 PM
Quote from: jamespetts on March 14, 2022, 04:35:06 PMCan this reliably be reproduced with demo.sve running in fast forward mode for a period of time?
Probably no. In my experience this often occurs a few seconds after resuming from an automatic save.
If that does not occur at that time it is unlikely that it will.
Title: Re: Crashes related to road vehicle routing
Post by: Ranran(retired) on April 23, 2022, 05:09:33 PM
It turns out that this happens not only in private cars but also in player's road convoys.
I ran into this kind of crash again in demo.sve and checked the backtrace and it seems that get_weg() fails on (179,16,6) when searching for a route from (169,4,6) to (143,9,6).
However, this crash cannot always be reliably reproduced...
Title: Re: Crashes related to road vehicle routing
Post by: jamespetts on May 01, 2022, 12:22:10 PM
Hmm - it is extremely difficult to fix problems that cannot reliably be reproduced, as most types of fixing will involve repeatedly invoking the crash after making many small changes to test how each of those changes affects the processes leading to the crash.