Admin
|
Where did this cool tool come from ? A short history.... Quite a few years ago (seems like yesterday), I had a very strange problem with one of my ecco files. A view tab that simply would not be deleted. I asked others about the issue, but it seemed like was the only one in the world with that problem. Occasionally other users would ask about strange issues, like vanishing parts of their outline, strange memory errors, 'ghost' items, and a whole host of 'odd' ecco issues that no one else seemed to share. A few years ago (it really does seem like yesterday) one of the slang extension doc files would 'self-destruct'. The cause turns out to be related to opening a temporary view for a 'system' folder in the file, and then reverting the folder to its 'system' status. It turns out that caused the internal pointers in ecco to become corrupted, and when accessed, promptly 'exploded'! Once we figured out what was up with the 'exploding documentation file', a light flashed and I pulled out my old non-destructible view file. Sure enough, looking at the internal structure it had in a different place the SAME TYPE OF POINTER CORRUPTION. While this was able to be seen manually on a single file by watching step by step as ecco loaded & processed the file in the debugger, there was no clear way to test for the condition. It was a HUGE effort to figure out a way to reliably test for internal pointer corruptions in any .eco/.ect file. (At the time I was on a frantic search to figure out the cause of frequent, but inexplicable ecco crashing. As fate would have it it turned out that internal pointer corruption was the cause of ALL OF THE HEADACHES my ecco was having since SLANG had me using ecco about ten times as much as I had in the past. The cause of those headaches-- ALL OF MY .ECO FILES WERE 'INFECTED' with the internal corruption.). {well, some headaches relate to Ecco's failure to release pointers in some operations [partially fixed by Slang extension], and so sometimes ecco needs a 'reboot' to clear unreleased pointers in order to load new files after complex files are loaded. those issues are 'session' based and not relating to physical file structure.} After a HUGE effort we thought we came up with a good test but.. in doing a 'control' test on a brand new file... the testing process seemed to be a failure--- it reported new, clean files as being corrupt. Another HUGE effort went into finding the 'bug' in the testing process. Finally, working though a new file manually with the testing process-- to see where the testing was going astray, we realized that the testing was good. The control file was bad. It turns out that before releasing the default.ect someone at Netmanage must have done something akin to what was done with the exploding Slang doc file, causing a corruption of the internal file pointers buried deep within. (Ecco is 'blind' to internal pointer issues as it 'sees' that the data is good-- using corrupted pointers all is logical from the inside.) Indeed, the default.ect file from which all "New File" (unless shift or control is held down) were created. Ie., ALL OF THE NORMALLY CREATED FILES IN USE based on the corrupted template are corrupt. (Including the other template files that are included with the standard Ecco install). So, after another HUGE effort, a process was developed to reliably diagnose & repair, and when possible, to minimize or even eliminate data loss (in files where the corruption was not yet too extensively manifest). The result is this tool. IF YOU USE THIS TOOL SOON ENOUGH YOU WILL PREVENT DATA LOSS. and, of course, also be sure to use the updated, fixed default.ect template. (just put it in the directory where ecco32.exe resides.) [If you want to use a template that shipped with Ecco, use one from the 'single directory' Ecco version on the EccoTools.com board. Those templates have been repaired with the EM-ADT tool]. A healthy file can be repeatedly tested and will always report healthy. If you repair and retest only to find that multiple testing ends up with a corruption warning-- read the instructions. Some very deeply buried corruption issues on complex files require the 'opposite' fix than most other files. Please be sure to carefully read the tool's instructions *BEFORE USE*. (Note: there are 100% safe parts of the EM-ADT tool you can use without looking at the instructions, for example the automatic test for folder capacity which will warn of any folders over, or in danger of soon becoming over Ecco's internal capacity to handle their memory pointer requirements. DeGhosting and fixing orphans are also 'safe' for 'play'.)
|