From: d.w.obrien@larc.nasa.gov (Dan O'Brien)
Newsgroups: comp.sys.sun.admin
Subject: Unfixable bad blocks on a Sun 3/280 running SunOS 4.0.3
Date: 8 Jan 1993 19:28:25 GMT
Organization: NASA Langley Research Center, Hampton, VA  USA
Distribution: world
NNTP-Posting-Host: cscsun2.larc.nasa.gov
Keywords: Bad blocks, format, Sun 3/280



    The system is a sun 3/280 running SunOS 4.0.3.  Currently there
   are two Xylogics controllers (7053 and 450/451).  The root disk (xy0)
   (and /usr) are located on the disk attached to the 450/451 controller
   and it is a Fujitsu-M2361 Eagle disk.  Two other disks (xd0, xd1) are 
   attached to the 7053 controller and they are Fujitsu-M2382K drives.  

    The problem starts with messages I note in the system log:

   vmunix:  xy0h: read restore (disk sequencer error) -- blk #707755,
       abs blk #950295

    This happens for all three disks (xy0, xd0, xd1), but most frequently
   with the xy0 disk.  Even more disturbing is that the system will
   crash occasionally right after spitting out some of these messages
   (sometimes it continues to run fine after these messages though).  
   On the reboot I am forced to fsck the xy0h partition by hand and
   this often results in the loss of files or directories. 

    So, I figure I have bad spots on the disk that are causing these 
   problems and I have a pretty good idea where they are.  I boot the
   machine from another machine and thus I can muck with the root and
   other disks at my whim.  I've read the manual discussion on this
   and also a discussion posted to the net several times so I try to
   isolate the errors (I did run a complete analyze with purge on each
   of the disks 18 times but only uncovered 1 error and not the one
   that I get most frequently).   In isolating the errors I use the
   setup function of the analyze program (in format) and set things to
   check only the cylinders surrounding the expected error (I've used
   show to determine the error location).  This is to make sure that
   the error isn't a few blocks away from where the kernel says it is.
   Also, I restrict the checks to one block at a time (which really
   slows things down so I can't realistically do this for the whole
   disk).  Anyway, I have it loop continuously through passes and the 
   following occurs.  Most of the time I get a complete pass with no 
   errors.  But, once in a while I get the following error

   Data miscompare error (expecting 0x55555555, got 0xaaaaaaaa) at 
         711/0/0, offset = 0x4.
  
   Once this starts it continues for EVERY block in the entire pass, on
   the next pass it may work fine.  The manual says what I expect--that
   it is probably a failed write so it's supposed to fix the error
   automatically (it can, since It has in the past).  But it does
   NOT fix any of the reported blocks.  This miscompare error occurs on 
   all three disks and in any random location without fixing the supposed
   bad block, so I don't think it's a real bad block.  

     Since I can't find the bad block I'm reluctant to restore the filesystems
   after a reformat, because they will probably just end up in the same
   shape as before.  Is my problem really with bad blocks?  Can it be
   hardware if it occurs the same on two separate controllers and on 
   three separate disks?  What must I do to get these disks back in
   working order?   


     Any help would greatly be appreciated.  Many thanks in advance to
   all those who can help (and to those who actually read this 
   whole thing).  Please email me and I will post a summary.  If you
   can't reach me than please post.  I'm desperate and I need to get
   things back in shape by Monday.  Thank you.

Dan O'Brien
Computer Sciences Corporation
NASA Langley Research Center
Hampton, VA

email:    d.w.obrien@larc.nasa.gov  or d.w.obrien%larc.nasa.gov@relay1.uu.net