Has anyone solved the severe Surveyor hang problem?

Small breakthrough. I set up my firewall so that TADDaemon had very limited access to the Internet by creating a new set of rules for it. This seemed to keep the freezes at bay for much longer periods of time. When they came, they lasted barely three or four seconds. Next, I went into 'Options' for the game (not in CM) and cleared my username/password. Although they use the same pop-up to store this info, I think it is handled differently as Trainz itself didn't complain I had no username/password - it just told me I was "offline" on the button menu.

CM starts up and immediately demands a username/password. If you ignore it (Cancel) then the red band at the bottom informs me I was in offline mode. As long as you don't click on the red band you won't be bothered by the pop-up. Of course, you cannot download anything in this state either. But, if all you want to do is work on content, then this is the best way to go.

Shutting down my network to keep Trainz from accessing the Internet is a bad idea as I have lots of little programs that need to connect to other computers in my home LAN. Killing the connection upsets them. At the moment, I can't think of a way to have my LAN remain, but stop Internet access on just my gaming computer. Windows obviously know how to do it, because it tells you 'local or local & Internet', but That is apparently a secret to us lowly users. i am sure there is some sort of flag in the Registry that does this, and I'm not afraid to mess with the Registry, but I don't know where to look.

Bill

Interesting... I'm going to try a loopback on Google Analytics and see if that helps any. I doubt it and it'll probably make things worse, but it's worth a try.

I agree we'll never see a patch for TS12 at this stage in the game. They've since moved on to bigger fish to fry so a simple patch for TS12 is no out of the picture. Isn't it more fun to work on new projects anyway!

I'm going to check the network settings for Windows and applications. This kind of access, me thinks, is probably controlled by the Group Policy or Security Policy settings. It beats editing the registry as this would get you the same kinds of things you're looking for. You can check this yourself by opening a command prompt with admin rights and type the following:

gpedit

and press enter.

This will bring up the group policy scripts which can be used to lock down system components such as the network access, etc.

secpol

Security Policy lets you do advanced tasks on the Firewall and account policies, etc. This might be the one you're after.

I suggest you tread carefully with these as this can make your machine inaccessible, possibly break your network connections, steal beer from the fridge, or who knows what else.

John
 
Oh, I am fully aware of what those two do, John. They, along with the 'net' commands are the most powerful command apps that Windows has. I've looked at GP and didn't find anything that really addresses the problem, but, there are loads of policies that have not been Enabled yet, so they sit there inert - neither enabled or disabled. I hesitate to mess with them unless I am absolutely sure of what I am doing.

Bill
 
Just wondering, how much content do you have that needs this verifying? I suppose that would be DLC and other payware? Perhaps because I don't have any that I miss out on all the verifying fun and games even with SP1 and HF4. Or is it something else that triggers this behavior on some computers?
 
Beats me. I have absolutely NO payware on my system (except for the game itself). I have around 150,000 assets and a very fast (except for Trainz) 64-bit gaming computer.

FSX whizzes right along. I can't make it stutter at all no matter how rapidly I jimk around and change views/attitudes. And that is with a yoke and pedals connected.

Removing my username/password seems to have done some good. It'll be a pain in the rear to enter them again when I need to download content, but if I can get the game to run smoothly, so be it.

Bill
 
It could be related to N3V updating content for TANE. This can also cause a validation because it's not validating the DLC, but more likely the currently installed content versus what's newly updated built-in content on the server. The past week we had issues because the servers were mucked with, and this caused things to get stuffed.

John
 
It has been almost two weeks now and I have gathered lots of data. One of the primary things I've found after deleting my username and password from Trainz is that I still have periods of severe freezing. But they are not consistent. I go for perhaps three days with hardly a freeze and then struggle through two days of pure hell with freezes happening every 30 seconds to a minute. What is even more interesting is that if I only have CM open (in offline mode) every two minutes like clockwork TADDaemon reports that the database is written. Now, why in heck would it keep writing over and over for hours when NOTHING is being done to anything. In fact, I've left that computer and use my other one. Stands to reason that without ANY input at all, there is no reason for the DB to keep getting written. TADDaemon has no interface with the Internet and, yet this still occurs.

Second observation: If I run Trainz in a window and monitor TADDaemon, it will suddenly, for no reason at all, begin validating assets. Where did these assets come from? I haven't a clue. Freezes will occur at random intervals approximately one to two minutes apart and last for upwards of 10 to 30 seconds during this 'validation' process. This, I am sure, is yet another manifestation of poor thread programming by allowing one thread to block the execution of others.

Now that we are being graced by T:ANE, there isn't a prayer of getting any of this fixed. It is a matter of just trying to live with it. Bummer.

BIll
 
Just a little conspiracy theory. It is a little strange that all these things with TS12 and SP1 suddenly got a lot worse the nearer we got to T ANE.
Maybe it is to get everyone to change to the newer version because the old ones are a pain in the butt.
I have Avast Pro installed and it has a setup to block sites checking up on my browsing. It always tells me that a site has been blocked every time I am on this forum.
cheers,
Mike
 
Last edited:
I agree, Mike. I've been programming computers for over 50 years now, and every year somebody says to me "Software doesn't get 'tired'. It can't." And every time I have to correct the statement with an addendum: It isn't the original programming, or even the patches. Once they stop, entropy takes over and the way the program works with the OS and all the hardware makes the difference. If Microsoft would stop updating their OS, then Trainz, with it's 12-year-old Jet engine, might be working more efficiently. But, no changes (other than a few patches - probably NOT to the basic engine), means your computer has moved along and your game hasn't. That's what sells new games.

A couple of years ago, just for the heck of it, I set up a virtual PC and installed Windows XP. I did NOT let it connect to the Internet and thus it didn't get clobbered with updates. I installed Trainz 2012 (bare - no patches or SP1). It ran wall, no halts or anything else. The video was choppy because of the emulated video card, but otherwise the whole thing ran smoothly.

I fear that TS2012 will just keep getting worse and worse no matter what we do. When it finally grinds to a halt, so will I. I'll let the fires go cold, bleed off the steam and air, and retire the game back to the dusty shelf in my closet where I keep all the other stuff that has outlived its useful life.

Bill
 
I agree, Mike. I've been programming computers for over 50 years now, and every year somebody says to me "Software doesn't get 'tired'. It can't." And every time I have to correct the statement with an addendum: It isn't the original programming, or even the patches. Once they stop, entropy takes over and the way the program works with the OS and all the hardware makes the difference. If Microsoft would stop updating their OS, then Trainz, with it's 12-year-old Jet engine, might be working more efficiently. But, no changes (other than a few patches - probably NOT to the basic engine), means your computer has moved along and your game hasn't. That's what sells new games.

A couple of years ago, just for the heck of it, I set up a virtual PC and installed Windows XP. I did NOT let it connect to the Internet and thus it didn't get clobbered with updates. I installed Trainz 2012 (bare - no patches or SP1). It ran wall, no halts or anything else. The video was choppy because of the emulated video card, but otherwise the whole thing ran smoothly.

I fear that TS2012 will just keep getting worse and worse no matter what we do. When it finally grinds to a halt, so will I. I'll let the fires go cold, bleed off the steam and air, and retire the game back to the dusty shelf in my closet where I keep all the other stuff that has outlived its useful life.

Bill

I've been running into this problem since the release of SP1-HF4, so did some investigating. In my case these delays in Surveyor were caused by a number of commands that are issues to TADDaemon which cause it to backup the in-memory TAD database. (command=21 or command=20 for example)

What happens when this command is issued is TADDaemon locks the TAD then writes out a copy of the in-memory database to disk. Its this locking of the TAD that is causing the hang in surveyor (it essentially "stops the world" to perform the backup). Under normal circumstances these commands take milliseconds to complete, but over time the call to lock the database starts to take longer and longer, reaching as much as 20 seconds from every two minutes of work time (similar to the results you have seen). Once the lock is taken the write of assets.tdx continues to take milliseconds. A further side effect of this problem seems to be an increase in the false read only errors when trying to save a route or session.

A full database repair restored the original performance, so it certainly seems that the issues we're seeing are being caused by degredation of the database over time which is in turn causing a massive increase in the time taken to obtain a lock. I suspect the more intensively you use the database (downloading, editing, committing assets etc), then the more likely you are to run into this issue.

As for what causes TADDaemon' paranoia with writing out the TAD database so often? I'm not sure, I generally don't see this behaviour if I work on a small, non-intensive route, but as soon as I load a "heavy" route I can set my watch by the pauses - my hunch is its related to the Trainz crash protection, and Trainz is issuing the commands to TADDaemon asking it to backup the asset database when it thinks there is a danger of a crash.

Incidentally, there is a further bug in TADDaemon thread handling, which causes threads to spin occasionally when a client disconnects. You can spot this by watching the usage of TADDaemon in Task Manager, if it sits consuming 25% of your CPU even though Trainz etc is idle then you are experiencing this bug. A side effect of this is a severe delay in TADDaemon shutting down, or a complete hang - as it pauses waiting for the hung thread to exit.

I doubt this will ever be fixed, but with an awareness of the causes/solutions then the frustration can be minimised!
 
Last edited:
That pretty much echoes what I've been finding, Stoon. If it didn't take over two hours for a full DB repair, I'd do that before every session. It is entirely too bad that we can't execute TADDaemon directly and hand it a command string that would cause a DB repair. If this were possible, then I could set up a task to run at, say, 0200, which would then be done by the time I'm ready to do some work.

I've see the 'disconnected client' bug happen. The delay as it waits for connection is WAY too long. In CPU time, a delay of over a second is an eternity. To hang around to 10 to 15 seconds is stupid and counterproductive.

Bill
 
That very much sums up the issues as I have observed as well.

The database repair, quick or full for that matter, will re-index the database. This will speed things up as it removes the empty spaces and compresses the data bit.

The problem doesn't exist in T:ANE because some of these issues were addressed. Chris W even acknowledged there were things that needed addressing which were made very obvious in TS12 SP1 HF4.

I too would perform a repair/reindex option more often if the process didn't take 2 hours or more just for the repair and not counting the equivalent time for validation.

John
 
The repair of the database can be done by using the program TrainzUtil (located in the bin folder of the Trainz installation). The command is TrainzUtil repairdatabase.

TrainzUtil help will give a list of all TrainzUtil commands.

Peter
 
Your TADDaemon window has your answer.
If it can't reach its server, presumably to check your license, (sarcasm), it will repeat the process every 60 seconds FOREVER.
It mayneed to check the server if you use multi-player. I do not use multi-player and resent the performance hit I take because you can not isolate this function.
 
Thanks, but TADDaemon doesn't even try to reach the server if it has nothing in the username/password fields. There is not even an original call to "check username" against the Auran user database, which there would be if I had plugged in the information.

Bill
 
Thanks, but TADDaemon doesn't even try to reach the server if it has nothing in the username/password fields. There is not even an original call to "check username" against the Auran user database, which there would be if I had plugged in the information.

Bill
Seems to be doing something here. Every minute while in driver and/or surveyor.

? 0:07.1 : ~TADServerTransaction> command=102 duration=6185
? 0:08.6 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com
/games/gamefiles/trainz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=201405
04&FORMAT=4'. Retrying in 1 minute.
? 1:08.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 2:09.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 3:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 4:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 5:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 6:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 7:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 8:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 9:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 10:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 11:10.2 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 12:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 13:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 14:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 15:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 16:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 17:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 18:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 19:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 20:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 21:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 22:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 23:10.3 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 24:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 25:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 26:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 27:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 28:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 29:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 30:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 31:10.4 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 32:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 33:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 34:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 35:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 36:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
? 37:10.7 : TADDownloadStation::Idle> Asset update failed 'http://www.auran.com/games/gamefiles/tra
inz/scripts/RecordManager/client.php?LASTRECEIVEDFILE=20140504&FORMAT=4'. Retrying in 1 minute.
 
Hmmmm. I don't get that at all in my TADDaemon window. If I'm doing nothing at all but watching the window, then all I see are database writes every 2 minutes and an occasional Command=20 (whatever that is).

Bill
 
Back
Top