Subject: Re: Knackered floppy causes kernel panic
To: Chris Cowdery <chris@cowdery.demon.co.uk>
From: Mark Brinicombe <mark@causality.com>
List: port-arm32
Date: 08/24/1998 22:04:26
On Mon, 24 Aug 1998, Chris Cowdery wrote:

> In message <Pine.NEB.3.96.980824030456.5026D-100000@loneshark.causality.com> you wrote:
> 
> > On Sat, 22 Aug 1998, Chris Cowdery wrote:
> > 
> > > I've got a floppy disc (DOS 1.44M) which has some kind of defect
> > > on it. Windows reads garbage, RiscOS complains that the cluster chain
> > > is not consistent, but NetBSD/arm32 suffers a kernel panic and drops
> > > to the debug prompt.
> > > 
> > > I'm using a fresh install of NetBSD 1.3.2 from the ftp site, so
> > > everything is as per the 1.3.2 binary install.
> > > 
> > > If anyone wants more info, let me know.
> > 
> > A trace from the debugger may be useful.
> 
> Right then, here goes (typos excepted!).
> 
> dibbler# cd ppp
> panic: pmap_enter_pv: already in pv_tab pind=0366 pv 0xf1077660: f1f57000/0xf0143a64/0x0
> stopped at _Debugger+0x10: ldmdb r11,{r11,r13,r15}
> db> trace
> _Debugger(_Debugger+0x10)
> _panic(_panic+0x14)
> _pmap_enter_pv(_pmap_enter_pv+0x10)
> _pmap_enter(_pmap_enter+0x10)
> _vm_fault(_vm_fault_0x10)
> _data_abort_handler(_data_abort_handler+0x10)
> _pcbmap(_pcbmap_0x10)
> _deget(_deget+0x10)
> _msdosfs_lookup(_msdosfs_lookup+0x10)
> _lookup(_lookup+0x10)
> _namei(_namei+0x10)
> _sys_chroot(_sys_chroot+0x9c)
> _sys_chdir(_sys_chdir+0x10)
> _syscall(_syscall+0x10)
> db>
Hmm, 
   Ok this at first glance this looks like the stuffed filesystem on the
disk may be triggering a bug in msdosfs. From the traceback it can be seen
that a data abort is occurring within the msdos filesystem. That for
starters should not happen. Why the kernel tries to pmap_enter a mapping
that is already mapped is another question.

Can the disc be raw-read ? i.e.

dd if=/dev/rfd0a of=file bs-9216

If so it would be useful if you could send me the image of the disk so I
can try recreating the problem and tracing it.

Cheers,
				Mark