[Oberon] Partitions.Show failure

eas-lab at absamail.co.za eas-lab at absamail.co.za
Tue Aug 19 20:03:31 CEST 2003


> > Vasile Rotaru wrote:
> > >   I am trying to install NO on a new comp, and after mid-clicking on
> > > Partitions.Show it barfs on me with "error 9". Any suggestions? 
> > > 
> > >   The disk is a WDC WD200BB-00DEA0 model (18 GB), and was 
> > > partioned with Debian cfdisk.
> >  
> > You don't say what version of NO.
> > I use ver 2001 and Partitions.Show always works on all/several IDE's. 
> > 
> 
>   It is the version I used before (the alpha/last one, I guess). 
> I must have somewhere other version of NO. I'll try it too, thank you.
> 
> 
> > Searching for "error" on Partitions.Mod shows:
> > ]		Texts.WriteString(w, "error "); Texts.WriteInt(w, res, 1)
> > which doesn't fit your report.
> > 
> > Nor does:
> > ]	NoSpaceAvailable = 9001;
> > ]	CoreMismatch = 9002;	(* core file on disk does not match *)
> > ]	CoreChecksumError = 9003;	(* core file checksum mismatch *)
> > ]	OutOfSlots = 9004;	(* out of primary partition slots *)
> > ]	PartitionTooSmall = 9005;	(* partition too small to create *)
> > 
> > 
> > >   Or has is anything to do with the BIOS settings (LBA, NORMAL...)?
> > If linux sees the partitions, I'd expect NO to also see them ?
> > 
> 
> As far as I know, the linux kernel does not use BIOS calls at all..., 
> but LILO (the bootloader) should use them, so I just don't know.

>   I have found an NO version 2.3.6 and have tried it.

This should be a well tested version ?
My v2.3.6s are Linux and DOSbased. Obviously yours is StandAlone ?
> 
> When I select the ATA/EIDE driver, Partition.Show fails with error 9.
> When I select the IDE(old) driver, Partition.Show/Create works OK, 
> but Partition.Check fails. (Or it fails later with the same trap if I skip 
> Partition.Check). I have tried to move the partition forth and back, 
> but it didn't help. I will have to check the disk for bad blocks :(.
> 
This looks like a BIG problem.

>   Anyway, I'm appending both traps,
> 
> Partition.Show, widh ATA/EIDE driver
> ATADisk* ==> ATADisks.Obj  Watson.ShowDef  ^
> 	PROCEDURE Install;
> 
> TRAP 17  Disk error
> ATADisk.Report  PC = 9213
> 	err = 9
> ATADisk.TransferBlocks  PC = 9806
> 	bufAdr = 1176324
> 	ctrl =  0030EC60H
> 	dev =  0030ECE0H
> 	drive = 0
> 	lba = 1
> 	num = 0
> 	num1 = 1
> 	read = TRUE
> 	res = 9
> 	try = 0
> ATADisk.GetBlocks  PC = 9854
> 	buf = L, O,  00000001X,  00000000X,  00000016X,  00000002X,  00000000X,  00000000X ...
> 	drive = 0
> 	num = 1
> 	ofs = 0
> 	start = 0
> Partition.GetHDParams  PC = 7258

Can't you look at PROC ATADisk.TransferBlocks
   using the value of the variables shown in the TRAP, and try to see
   what condition causes "err = 9"
And if need be, work your way down the 'calling-chain' as shown by the
Trap-trace: ATADisk.TransferBlock > ATADisk.GetBlocks > 
    Partition.GetHDParams > Partition.GetInfo> ....
------------------------------------------

>   Partition.Check, with IDE(old) driver
> 
> TRAP 17  Disk error
> IDEDisk.GetBlocks  PC = 4107
> 	Error.err = 0
> 	buf =  000000E9X,  000000BCX,  00000001X,  00000000X,  00000000X, h,  00000080X, % ...
> 	drive = 0
> 	err = 6013
> 	num = 16
> 	ofs = 0
> 	start = 24805896
> Partition.Check  PC = 14880
> 	ch =  00000000X
> 	date = 53009
> 	i = 1536
> 	len = 16
> 	num = 6
> 	pc = 0
> 	pr = 10
> 	seed = 5294032
> 	size = 192780
> 	start = 24804360
> 	t0 = 66935
> 	t1 = 0
> 	ticks = 83058
> Oberon.Call  PC = 4672

This one also fails with the hardware driver AFAIK ?
So it looks as if the problem is with the IDE, not the software.
Perhaps the way NO initially starts 'getting to the partition'
is a problem that linux avoids - is more tolerant to ?

>   I have allocated a partition, I have checked it with linux "badblocks". 
> No bad blocks found. But Partition. Check still fails. :(
> 
I suppose you don't have another IDE to check ?

-- Chris Glur.





More information about the Oberon mailing list