Talk:TADDaemon

From TrainzOnline
Revision as of 05:16, 18 November 2013 by Shaneturner12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This whole section is not relevant to this wiki. The wiki is intended as a source of factual information, not a general discussion area where people discuss the pros/cons of various possible implementations. Please move this to the forums if you want to continue. Windwalkr (talk) 11:15, 21 August 2013 (EST)

Flawed design

If this is true about the shut-down

... which it isn't.
Hard killing any database is problematic, and this is no exception. But in normal usage this condition won't be encountered. You'd have to either 'end task' or hard power the machine off with the database still running. You've got a window of about 5 seconds between Trainz or CM closing and TADDaemon shutting down. Even then, TADdaemon generally just does a quick database repair and picks up where it left off. A full repair is very rarely necessary.
Same issue was seen before we split the database into TADDaemon - sometimes Trainz would just take forever to start with a black screen, normally associated with a game crash. At least if Trainz does manage to crash now TADDaemon (and the database) is still fine.
Oh, and TADDaemon existing means running Trainz and CM at the same time (or even multiple copies of CM) is absolutely fine. Previously it would be a whole nasty series of black screen pauses waiting for access to the files. Jamesmoody (talk)

You need to modify it so there is a busy indication visible in widows and a popup reminder message requiring a Button click to leave Trainz screens... telling the user to not shut down window until and unless the TADDaemon tab closes is good programming. Leaving people guessing when they may need to reboot is (profanity removed) programming.


... also a completely untrue statement. Doing a normal shut down (i.e. just clicking 'shut down' and waiting) is fine. Trainz and CM honour the normal windows requested shutdown commands, and TADDaemon will quit before Windows gets to the prompt for 'end task'. I've tested this - I /know/ it works. However, Immediately hard-powering off the machine (not shutting down) going through task manager and doing an 'end task' on TADDaemon will cause a database repair on next startup. Jamesmoody (talk)


  • Another case of (... please quit it with the profanity already... ) programming: Both ASSETS.* files were killed and Zero length on my tower July 3rd by an unexpected line surge, causing a hard computer shut down. Please note, the CM 3.3 version running had been up CONSTANTLY for over 36 hours, with no activity asked for or requested. I never got back to look at it. IT WAS TOTALLY IDLE AND should never have updated anything!

WHAT USE IS A BACKUP THAT IS OPEN AT THE AME TIME AS A SOURCE/USE FILE!

  1. You should start Trainz renaming Assets.bku to a safe name
  2. COPYING the current unchanged Assets.tdx (ONLY ONCE IT'S about to be CHANGED!) to the Assets.bku name in the cache.
  3. Then play with Assets.tdx and leave the .BKU alone.

You programmers need to leave windows files with the right time stamps in general. There is no excuse to be affecting modification time WHATEVER unless CM is writing the file with an auto-fix. CM doesn't do that and shouldn't outside of Hot fixes and service packs. // FrankB 14:05, 5 July 2013 (EST)

We don't modify Windows timestamps. Windwalkr (talk) 11:15, 21 August 2013 (EST)


There are many stages between code calling flush and actually getting a solid representation on disk. Most of them an arms race between reliability, performance, and over use of the various flush calls that have happened between 1976 and now. No modern operating system fully respects the original intention of Flush() any more - and even the hardware doesn't truly do that any more. SSD's "write" data into a circular buffer, and then go and re-write it into the actual location later, for example. There has been reports of specific SSDs bricking if hard powered off at exactly the wrong moment. You'd hope they'd have enough capacitors in them to avoid that - but apparently not even that is guaranteed.
Also, please note that one unfortunate incident for one user where a power surge required an (apparently extended) DB repair isn't something to be adding to our official documentation. Particularly in what appears to be a profanity filled rant. Nor, when I delete said rant, is it to be restored citing "vandalism"... Jamesmoody (talk)

A note regarding the 'End Task' as you refer to it - Windows Vista/7/8 doesn't throw up that box and simply terminates the process on shutdown. What you should really be doing is to set a flag on the TADDaemon process that prevents Windows from shutting down/restarting until the process has closed, especially for Trainz 2009 SP4 and Trainz 2010 since they take a few minutes to actually close TADDaemon. (yes, that is possible). Shaneturner12 (talk) 05:10, 18 November 2013 (EST)

Personal tools