Path: utzoo!attcan!uunet!husc6!bloom-beacon!bu-cs!dartvax!eleazar.dartmouth.edu!ack From: ack@eleazar.dartmouth.edu (Andy J. Williams) Newsgroups: comp.sys.mac Subject: Re: I just thrashed my Hard Disk! Message-ID: <8890@dartvax.Dartmouth.EDU> Date: 14 Jun 88 15:24:14 GMT References: <3599@okstate.UUCP> Sender: news@dartvax.Dartmouth.EDU Reply-To: ack@eleazar.dartmouth.edu (Andy J. Williams) Organization: Kiewit Computation Center, Dartmouth College Lines: 123 [ Long reply ] In article <3599@okstate.UUCP> ericc@a.cs.okstate.edu (Eric Cloninger) writes: >Ok, now I'm _R_E_A_L_L_Y_ pissed! Yes, I know the feeling... >Figure this one: I'm working with LSC 2.15 on my SE HD 20. I'm writing a >compiler for Mini Language Core (you know, Ledgard and Marcotty, sp?). So >the parser works just fine, and the symbol table appears to be in order, but >I'm not sure, so I write a routine to dump it (the symbol table). It appears >to work fine, all identifiers are there, in proper order and with the right >attributes. The operative word here is "Appears" I have often written something in LSP and have it appear to work fine when in reality I have done something so screwy with some pointers and such to have actually corrupted memory. So, I get weird errors at places where there should never be errors. I am sure LSC can make the same mistakes too. It can't trap every single bad thing, some things slip by. So, you most likely had run it, corrupted your current memory into something which is barely holding together, ran it again and then your current instructions were misread by this corrupted memory and did something other than what you wanted. >Next time I run the program (in the LSC environment), not only do I get an >unsuccessful parse (where it was correct before), the program jumps into >the debugger (Macsbug). No problem, I type ES (Escape to Shell), the drive >light turns on. Ah, I think, going back to the editor. 30 seconds later, >no editor, drive light still on. Hmmmm. Your HD went byebye. But I do not think that it was damaged. Often I have seen HDs go away only because the Parameter Ram (The stuff that stores your Volume, Time, Date... etc) gets nuked and must be reset. The HD is fine, but the PRam isn't. Open control panel with CMD-OPT down and it will be reset and, if that was the trouble, voila, HD. >Anyway, I hit the reboot button, the machine restarts, and then... BOOM! >The machine requests a system disk. ACK! Don't panic. So I stick in a >system disk and I get a dialog box "This disk is damaged (picture of HD 20) >want to initialize? (CANCEL/INITIALIZE)". I hit cancel. Floppy disk comes >up, no HD 20 icon. This is one symptom of the nuked Pram. I am not saying it is the only one, you could very easily have actually written gibberish to your HD when you tried to Exittoshell with corrupted memory. >Disk First Aid can't verify the volume. Fedit+, MacTools 6.4, and anything >else I can think of can't even find the volume. After several hours of >asking knowledgable friends what to do, and a lot of messing around with >various utilities, I gave up. I selected the Initialize button. I figured >that it would puke as soon as it figured out it was initializing a hard disk. Why should it? It is designed to initialize them too. I use it to init my HD, no problems there. >1) I wrote very damaging code, and I don't have the slightest idea why. > This very same code (with minor changes to account for volumes instead > of UNIX pathnames) worked fine on our System V machine. I would guess corrupted memory. Running once seems ok, maybe a simple bug which is the usual every day forgot a bracket or a missing quote... but your memory got corrupted by a random bug in the program that LSC missed and when you next run it... boom. >2) The system didn't realize it was initializing a hard disk. It does know, that's how it knew to give you 19+ megs and not 800k. >3) Dr. George isn't gonna believe me when I tell him my hard disk ate > my program. I think I'll move to New Guinea or something. Usually people understand. If they don't, they are damaged, initialize them. >4) And the answer is: NO! I don't have a backup. Lesson learned... I learned the hard way when I didn't have a back up of my HD and got the Scores Virus in all its glory on my HD. >Oop! Ack! Pfht! This is too bizarre. Regardless of the recent traffic about >its debated usefulness, is this where MacZap could've been used? Yeah ACK! Bill n Opus in '88! I do not think MacZap would have done any better than the others. But don't quote me on that. >I truly don't know what to think. At this point, I'm tired and I'm very pissed. >I just wanna get drunk. If anyone could offer a suggestion, I'll toast your >health. Check your code very carefully and make sure it is not writing into areas of memory it should not be touching. If all else fails, a good Screwdriver or Fuzzy Navel should do the job. :-) :-) >Chuq? Rich? anybody? Chuq, Rich, anybody: please correct me if I got anything wrong or absurd. >Thanks, Hope it helps... >Eric Cloninger -Andy J. Williams >========================================================================= >UUCP : {cbatt,cbosgd,ihnp4,rutgers,seismo,uiucdcs}!okstate!ericc >Internet : ericc@a.cs.okstate.edu >USnail : 219 Math Sciences Bldg., OSU, Stillwater, Oklahoma 74075 >AT & T : (405) 624-5668 >========================================================================= > "Back off, man! I'm a scientist!" - Peter Venkman. Andy J. Williams '90 |Ack Systems: ack@eleazar.dartmouth.edu| _ /| Software Development +--------------------------------------+ \`o_O' ACK! Kiewit Computation Ctr |Hello. Set $NAME='Iinigo Montoya' You | ( ) / Dartmouth College |kill -9 my process. Prepare to vi. | U