Upcoming Games


Full list
Add a game

Upcoming Events

We are not planning any more in-person events until the COVID-19 situation has improved.

Update (06/10/20)

You are here: Home > Forum > General > Temporary postings > Update (06/10/20)

Page 1 of 1

Update (06/10/20) 06/10/2020 at 17:25 #132920
headshot119
Avatar
3786 posts
Online
A loader update landed in the early hours of this morning, a quick run down on the changes, this update was primarily to resolve a fatal race condition discovered during some in development test games, while we've had no reports from general users, we wanted to get it fixed as soon as possible. All other changes where relatively minor.

- Improvement to ACOA messages in simulations which use Custom Signal Aspects (Mainly Australian sims)
- Better display of acceptable path, platform and line codes when prompting that the user has selected an inappropriate combination (Minor display issue)
- Adjustment to TORR logic to cope better with exiting none track circuited sidings and leaving a train behind
- Fatal race condition between a train activity (Arriving, departing, or passing a location) while viewing the timetable window for that train.

5.8 available via the check for updates.

"As the last track dropped, and the route became free, came the cry BROMLEY " - Opinions are my own and not those of my employer
Log in to reply
The following users said thank you: jc92, DonRiver, ccobh
Update (06/10/20) 06/10/2020 at 20:21 #132921
danners430
Avatar
62 posts
Online
This fatal race condition, it's not related to the occasional issue when you click a train headcode at the same instant it moves up a berth, causing the timetable editor to search for "" and close with an error (timetable for "" not found)?
Log in to reply
Update (06/10/20) 06/10/2020 at 20:24 #132922
headshot119
Avatar
3786 posts
Online
danners430 in post 132921 said:
This fatal race condition, it's not related to the occasional issue when you click a train headcode at the same instant it moves up a berth, causing the timetable editor to search for "" and close with an error (timetable for "" not found)?
It isn't no.

"As the last track dropped, and the route became free, came the cry BROMLEY " - Opinions are my own and not those of my employer
Log in to reply
The following user said thank you: danners430
Update (06/10/20) 07/10/2020 at 08:01 #132929
ajax103
Avatar
821 posts
Online
For those of us who considers software coding to be a foreign language, what do you mean by Fatal race condition between a train activity (Arriving, departing, or passing a location) while viewing the timetable window for that train?
Log in to reply
Update (06/10/20) 07/10/2020 at 08:20 #132930
swiftaw
Avatar
126 posts
A race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence in order to be done correctly. So my guess would be that there were issues where Simsig was processing things in the wrong order causing problems. (Obviously since it was described as fatal).
Last edited: 07/10/2020 at 08:21 by swiftaw
Reason: None given

Log in to reply
The following user said thank you: postal
Update (06/10/20) 07/10/2020 at 11:01 #132934
clive
Avatar
2159 posts
Online
More generally, a race condition is where two or more things happen and the exact order affects the results in a way that you care about. I haven't looked at this particular bug, but here's an example of the sort of thing that I've run into in the past.

Action 1 finds a train and leaves a pointer to it lying in an agreed place.
Action 2 edits the train details (this might not be user editing; it can happen when a train moves or carries out an activity), which involves altering the train object and therefore changing where in memory the object is stored.
Action 3 needs so memory for something and reuses the location where the train object used to be since it's now spare.
Action 4 looks at the train object, but since it's moved it gets a piece of rubbish which, if you're lucky, causes a crash. (When you're unlucky, you don't discover the problem for months, when a user does something that causes odd behaviour that they can't reproduce.)

Actions 1 and 2 are the race; 3 and 4 are the consequences of it.

[If any developers are reading this, this is why I can't "just" make a key a variant. I have to check for race conditions in changing which visual classes are active and this can be difficult because they aren't always obvious. Ask me on the dev forum if you want to know more.]

Log in to reply
Update (06/10/20) 07/10/2020 at 11:39 #132936
DonRiver
Avatar
42 posts
danners430 in post 132921 said:
This fatal race condition, it's not related to the occasional issue when you click a train headcode at the same instant it moves up a berth, causing the timetable editor to search for "" and close with an error (timetable for "" not found)?
Just on the topic - for those of us with "Multiple pop-up TT windows" turned off - clicking on a bad TD will show a "Cannot find timetable for ASDF" messagebox, and then close the timetable window I'd carefully and deliberately positioned. The v4 loader didn't do this - it would show the messagebox but leave the TT window alone.

Could this be addressed? Ideally if I click on a bad TD the timetable window would show the TD I clicked on and a "No timetable data" message where the timing points would go.

(Also on my wishlist - a way to see the full timetable in the popup TT window, not just the timing points not yet departed from. If TRUST shows that kind of thing anyway!)

Log in to reply
The following user said thank you: danners430
Update (06/10/20) 07/10/2020 at 13:01 #132938
bill_gensheet
Avatar
555 posts
As one of those who reported it, the term 'Fatal' while no doubt correct in software-speak was not that bad from a user viewpoint.

Yes the sim clock stops and you get a 'fatal exception error' message box full of hexadecimals, which meant something to someone, but once the box was closed the sim carried on with no ill effects on running or the save made.

The sim did not crash out and close like some Windows programmes would.

Log in to reply
The following user said thank you: DonRiver
Update (06/10/20) 07/10/2020 at 13:04 #132939
DonRiver
Avatar
42 posts
New bug then: fatal errors do not cause the sim to crash
Log in to reply
The following users said thank you: danners430, Albert
Update (06/10/20) 07/10/2020 at 13:26 #132940
headshot119
Avatar
3786 posts
Online
bill_gensheet in post 132938 said:
As one of those who reported it, the term 'Fatal' while no doubt correct in software-speak was not that bad from a user viewpoint.

Yes the sim clock stops and you get a 'fatal exception error' message box full of hexadecimals, which meant something to someone, but once the box was closed the sim carried on with no ill effects on running or the save made.

The sim did not crash out and close like some Windows programmes would.
Another user who reproduced it suffered fatal results, hence we got a fix out ASAP.

"As the last track dropped, and the route became free, came the cry BROMLEY " - Opinions are my own and not those of my employer
Log in to reply
The following user said thank you: bill_gensheet
Update (06/10/20) 07/10/2020 at 13:26 #132941
y10g9
Avatar
652 posts
Online
bill_gensheet in post 132938 said:
As one of those who reported it, the term 'Fatal' while no doubt correct in software-speak was not that bad from a user viewpoint.

Yes the sim clock stops and you get a 'fatal exception error' message box full of hexadecimals, which meant something to someone, but once the box was closed the sim carried on with no ill effects on running or the save made.

The sim did not crash out and close like some Windows programmes would.
There were reports from other users that the sim wasn't recoverable with the sim crashing. So while the error wasn't fatal for some, it was fatal for others.

Log in to reply
Update (06/10/20) 07/10/2020 at 14:54 #132942
bill_gensheet
Avatar
555 posts
OK, almost interesting in itself.

So once racing the hamster can come flying off the wheel in any direction, not just into the hay :-)

Log in to reply
Update (06/10/20) 07/10/2020 at 18:01 #132945
GeoffM
Avatar
5272 posts
In this case it is believed (since I could not reliably reproduce it) that as a train passed/departed a location with the Show Timetable window open, if those happened at the same time, then the window would be trying to access something that was no longer existing in the train's data. Generally SimSig is single threaded but the user interface is, by Windows design, a separate thread so we have to be careful that one is not trying to compete with the other - and I spotted one place where this was missed. Amusingly enough one way this can be done is with semaphores - literally one thread in section at a time
SimSig Boss
Log in to reply
The following user said thank you: Albert
Update (06/10/20) 07/10/2020 at 18:11 #132946
Albert
Avatar
852 posts
GeoffM in post 132945 said:
(since I could not reliably reproduce it)
For those not in the know, this in itself is in software development often an indicator that you're dealing with a race condition. The winner of a race between two threads may depend on the speed of someone's CPU and other random factors such as other applications running on the same machine. (It becomes even worse if one of the threads is reading/writing files, then the harddisk also gets involved in the race. I doubt that that is the case in SimSig though, as I think the harddisk is only used while loading or saving the simulation.)

I believe I found another ugly bug in the previous loader however, namely a memory leak. I'll check whether it is still there with the new loader and post a thread if it is!

AJP in games
Last edited: 07/10/2020 at 18:15 by Albert
Reason: None given

Log in to reply
Update (06/10/20) 07/10/2020 at 18:34 #132947
ajax103
Avatar
821 posts
Online
bill_gensheet in post 132942 said:
OK, almost interesting in itself.

So once racing the hamster can come flying off the wheel in any direction, not just into the hay :-)
Interesting anology!

Log in to reply
Update (06/10/20) 07/10/2020 at 18:55 #132948
Edgemaster
Avatar
300 posts
Albert in post 132946 said:
I believe I found another ugly bug in the previous loader however, namely a memory leak. I'll check whether it is still there with the new loader and post a thread if it is!
I think I tripped over this in a previous loader version, which subsequently left SimSig unable to allocate any memory to take a save game, it helpfully saved as an empty zip file, which I only realised when coming back to reload it the other day.

Twitter
Log in to reply
Update (06/10/20) 11/10/2020 at 02:11 #133030
BarryM
Avatar
2149 posts
IINBME. Noted a nice little addition to the front of the Loader: A % Load Indicator.

Thank you Boss.

Barry, Sydney, New South Wales, Australia
Log in to reply
Update (06/10/20) 11/10/2020 at 02:13 #133031
headshot119
Avatar
3786 posts
Online
BarryM in post 133030 said:
IINBME. Noted a nice little addition to the front of the Loader: A % Load Indicator.

Thank you Boss.
That's been present since version 5.0 of the loader

"As the last track dropped, and the route became free, came the cry BROMLEY " - Opinions are my own and not those of my employer
Log in to reply