john@wpi.wpi.edu (John F Stoffel) (06/24/89)
Sorry to post this to here, but I couldn't get my site to mail to Dave Haynie directly so... I'm going to post this here. Dave, A guy over on Bitnet on the Info-Amiga news group asked me to send you a bug report for DiskSalv 1.32 and AmigaDOS. The error has been repeated. Here's the original message. Thanks for your help!! ==============================his message============================== Hello, and have a nice day. (Probably not after reading this 8) ) Well, it seems i have found a bug in DiskSalv 1.32, but maybe this is a bug of the Workbench, so i ask u all to take a blank formatted disk, and follow theese steps: 1. Boot up your Amiga from Kickstart 1.3 (I didn't test 1.2, so if someone would be so kind...), and Workbench 1.3. 2. LoadWB 3. Format a disk (either CLI or WB) 4. Click twice on the Disk-Icon (i'll call it 'Foo:') 5. Now get your Empty-drawer from the original workbench and drag it into the open Foo:-window. 6. Choose 'Duplicate' from the menu, and duplicate the Empty-drawer. 7. There should be an 'Empty' and a 'copy of Empty' on your Foo:-disk. 8. Open both of them. 9. And now let us be cruel 8). Drag the Empty-drawer into the 'copy of Empty'-Window, and drag the 'copy of Empty'-drawer into the Empty- Window. Got it? Cruel isn't it? 8) 10.Close both drawers. Hehehehehehe. <Poooooof> 11.O.K. Your Drawers are gone, diskspace is wasted and gone, too. This is an easy method to hide files, wich will NEVER be used again. It's a kind of 'diskspacelimited/dev/null'. But! Don't use Disksalv 1.32 on a disk like that!!!! I thought: "Well that was funny, all my files are gone! Taadaaa, where's DiskSalv ?! Ahhhh, here it is..." I typed : 1> mount rad: 1> disksalv df1: to rad: DiskSlave V1.32 by Dave Haynie... (ooops DiskSalv i mean) ...[Y] ? Y ...and DiskSalv begun it's work, not knowing that somewhere on this disk a little trap was waiting for it. As it approached the directory-structure it didn't find a way out of this labyrinth of drawers and presented me a guru-party. Is this a way to protect disks from being salvaged? (good idea it seems) Is this a bug of DiskSalv or AmigaDos? (the guru, not the disapearing drawers) By playing around a little bit with this kind of stuff, i discovered another bug, probably one of the Workbench. Here it comes: When dragging the Empty-drawer into the RAM:-disk, i was able to duplicate it there, but 'copy of Empty' could not be opened. Well, it works on DH0:, DF0:, DF1: and RAD: but not in RAM:. I discovered that only the Empty.info file was duplicated, not the Empty-directory. I didn't play around with this one, but this seems to me like a very very big bug. My Configuration: A1000 (PAL), 2 MB, NEC 1036a, A.L.F + ST4096 Seagate Kickstart 1.3, Workbench 1.3, ARP 1.3, AShell Any suggestions, reports, flames are welcome. If someone can reach Dave Haynie (..!cbmvax!daveh or BIX: hazy), please report this bug. Everything i wrote maybe discussed before, but my limited diskspace (80 MB) doesn't allow me to store the whole I-AMIGA-discussion, so please be indulgent. (nice english word, i found it in a german->english book 8))) _____________________________________________________________________ / / / o | via BITNET: IFF189@DJUKFA11 : | /|/| # | uucp-BITNET: ..!tmpmbx!DJUKFA11.Bitnet!IFF189 | | Peter/_/_|Marquardt | uucp - uucp: ..!unido!altger!hermann.UUCP | | : :/ /| | # | | | :/:/ | | m # g a | " Waddaya mean, user error ! ! ? " | :___________________/ :________ <KABOOOOOOOOOOOOOOOM> ______________/ :_______________________/
daveh@cbmvax.UUCP (Dave Haynie) (06/29/89)
in article <2980@wpi.wpi.edu>, john@wpi.wpi.edu (John F Stoffel) says: > Keywords: DiskSalv 1.32, AmigaDOS, HELP, BIG problem > Well, it seems i have found a bug in DiskSalv 1.32, but maybe this is > a bug of the Workbench, so i ask u all to take a blank formatted disk, > and follow theese steps: > 1. [...] 9. And now let us be cruel 8). Drag the Empty-drawer into the > 'copy of Empty'-Window, and drag the 'copy of Empty'-drawer > into the Empty-Window. Got it? Cruel isn't it? 8) So Workbench lets you cross link directories, eh? Sounds like one bug there that's not mine, but onward... > But! Don't use Disksalv 1.32 on a disk like that!!!! [...] ...and DiskSalv > begun it's work, not knowing that somewhere on this disk a little trap was > waiting for it. As it approached the directory-structure it didn't find a > way out of this labyrinth of drawers and presented me a guru-party. Yup, that's just what's happening. DiskSalv V1.32 will try to walk the directory tree to print the directory name during recovery (also to get the names of directories to create). Any kind of directory loops will be tragic, as the string will just grow and grow, with accompanying function recursions, until you crash. > Is this a way to protect disks from being salvaged? (good idea it seems) No longer... > Is this a bug of DiskSalv or AmigaDos? (the guru, not the disapearing drawers) The Guru is DiskSalv's. Fortunately, this is fixed in DiskSalv V1.40. The fix was rather simple. When DiskSalv finds a file or directory, it checks it's internal tree for the existence of that item's directory. If there isn't a directory for it yet, you get an entry in the LOOSE-BLOCKS directory. As the scanning proceeds, more directories may be found, and if so, they're moved from the LOOSE-BLOCKS directory to where they belong. Only now, before inserting a directory anywhere, I check to make sure that it's not referenced as a parent of it's intended parent directory. If it is, it'll have it's name updated, but it'll still be kept in the LOOSE-BLOCKS directory. In the event of self-referential directories, one will wind up as a child of the other, based on the order they're found on disk, but the looping will be eliminated. > Any suggestions, reports, flames are welcome. > If someone can reach Dave Haynie (..!cbmvax!daveh or BIX: hazy), please > report this bug. Thanks anyway for the bug report. Someone beat you to it, but actually had to send me a disk to examine; you've apparently found a reliable (least till 1.4) way to create such loops that I didn't know about. > | Peter/_/_|Marquardt | uucp - uucp: ..!unido!altger!hermann.UUCP | -- Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: D-DAVE H BIX: hazy Be careful what you wish for -- you just might get it