On 19 Nov 2005 at 12:53, dhbailey wrote: > What I have noticed, when I haven't cleared out my TEMP directory > manually in a long time, is that the program foolishly reuses the old > names, as if the programmers have decided on a finite number of temp > file names and the program simply recycles them as needed.
Well, I don't know for certain what the upper limit on Finale's temp file naming routine is, but just by opening and closing Finale several times (with or without opening a file -- didn't change anything), it seems that the temp file naming convention starts out as FINxx.TMP, then after using up all the possibilities, changes to FINxxx.TMP. The numbers are hexidecimal, i.e., 0-9 then A-F, which means, I believe, that 3 places gives you 16^3 unique filenames. That's 4,096 unique file names. And Finale creates 15 temp files on my version of Finale (2K3) each time it starts (that's 273 restarts before the file names get re-used, assuming that it's limited to 3 digits; if it rolls over and adds a 4th digit, then it's likely a much higher number; because of the old 8.3 filename limits, my bet is on FINFFFFF.TMP as the upper limit, which is 1,048,575 unique filenames, BTW). Now, I don't know when Finale starts the counter over again. Strangely enough, when I started this experiment, Finale started at FIN01.TMP (it was the first time I'd run Finale since logging on today), so perhaps each Windows logon session restarts the counter. Now, if that were the case, it would stand to reason that only a very, very stupid programmer would have written a routine to create temp files without checking that the filename already existed or not, and that if it already existed, they surely wouldn't re-use existing data stored under that filename, unless they were very, very dumb programmers. If they re-use the old file, surely they zero out the content, which makes it no different than deleting it and creating a new file with the same name (which is much more likely, actually). > I don't know if things are different between macs and pcs in this > regard, but from a windows perspective: I have strong doubts that you are actually seeing files re-used, as you say. The file *names* may very well get re-used, but only an extremely poorly designed temp file subroutine would re-use the actual file content. I'm assuming that with each Windows logon session, the temp file naming starts over at FIN01.TMP, so that would mean that your normal user who starts up her computer, runs Finale, then closes Finale and shuts down the computer, then next day starts up the computer and opens Finale, will be re-using the same 15 filenames every single day. Now, I've got too much junk running to log off and test this right now, but if it's the *normal* operating case, then it would be only the stupidist of programmers who would have set it up that way. Indeed, if that were actually the case, I'm sure Finale would be far, far less stable than it is, and for me, it's always been pretty stable since 3.52. > Rather than something like myfile0001.tmp the current temp file naming > is FINDE.tmp or FIND1.tmp -- the first 3 letters are obviously enough > referring to the applicaion, the final 2 letters/numbers seem to be > hexadecimal indentifiers. Oops. I should read through to the end of messages before starting a reply. But Finale goes beyond FINFF.TMP when it hits that point, so the namespace is not as small as you seem to be implying. > I have found a strange mixture of file-creation dates when I haven't > manually cleared out the directory in a long time, and I wonder if > this re-use of the names (apparently allowing only up to 256 different > temp files and no more) is part of the problem. I would strongly doubt it. It would take a very fundamental programming error for that to happen, one that should massively destabilize Finale on a regular basis, since the orphaned temp files are very common. > Maybe they simply need to use a different file naming structure, > allowing up to 256 temp files for a single date or a single session or > a single work/date combination, and then they could finally just do a > DEL C:\TEMP\fin??????????.tmp command (or the mac > equivalent)(obviously the path would change to whatever anybody sets > the temp directory to be) everytime the program quits. I'm not interested in restarting Finale 257 more times (I already restarted it 15 times to find the rollover from 2 to 3 digits in the filenames) to see what happens after the 4,096th unique filename is re-used. But my bet is that filenam collisions are far common because of the counter restarting each time the Windows GUI initializes (which is only a guess, though, but it's based on the fact that I've run Finale in recent Windows sessions, but it still started from FIN01.TMP in my tests). And because they are so common, it is vanishingly less likely that Finale's programmers would have somehow neglected to deal with filename collisions, either by deleting and creating a new file, or by zeroing out the existing file before re-using it. -- David W. Fenton http://www.bway.net/~dfenton David Fenton Associates http://www.bway.net/~dfassoc _______________________________________________ Finale mailing list [email protected] http://lists.shsu.edu/mailman/listinfo/finale
