Subject: port-vax/26138: kernel crashes on microvax when you use RX50 floppy drive
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <kirk.russell@acm.org>
List: netbsd-bugs
Date: 07/02/2004 01:42:16
>Number:         26138
>Category:       port-vax
>Synopsis:       kernel crashes on microvax when you use RX50 floppy drive
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-vax-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 02 01:43:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Kirk Russell
>Release:        1.6.1, 1.6.2 and 2.0_BETA 200406230000
>Organization:
Bridlewood Software Testers Guild  http://members.rogers.com/bstg/
>Environment:
NetBSD simhvax 1.6.1 NetBSD 1.6.1 (GENERIC) #0: Wed Apr  9 05:42:03 UTC 2003  autobuild@tgm.daemon.org:/autobuild/netbsd-1-6/vax/OBJ/autobuild/netbsd-1-6/src/sys/arch/vax/compile/GENERIC vax
>Description:
The 1.6.1, 1.6.2 and 2.0_BETA 200406230000 netbsd kernel crashes when you use
the RX50 floppy drive.  This used to work with 1.6, so I assume this is a
regression.


I used putr.com (http://www.dbit.com/pub/putr/) to:
- format a 5.25" DS/DD floppy -- same floppies I used on an apple2
    format b: /foreign /rx50
- copy the NetBSD 1.3.2 RX50 boot image to the floppy disk
    $ cksum rx50-bootdisk-132
    2534065445 262144 rx50-bootdisk-132
- take an image of the entire floppy
    $ cksum vaxboot.bin
    74898937 409600 vaxboot.bin

I booted this floppy on a microVAX -- KA640-A with a RQDX1.  And on the simh
V3.2-0 VAX emulator.  In both cases, I got the ":" prompt, ran "copy" and
got the "read from?" prompt.  For more info, about the use of this floppy,
see http://vaxine.bitcon.no/section3.html.  And when I booted the NetBSD 1.6
GENERIC kernel, on the simh/VAX emulator and the microVAX, I am able to use
the RX50 floppy okay:
    simhvax# uname -a
    NetBSD simhvax 1.6 NetBSD 1.6 (GENERIC) #0: Wed Sep 11 10:14:37 UTC 2002  autobuild@tgm.daemon.org:/autobuild/vax/OBJ/autobuild/src/sys/arch/vax/compile/GENERIC vax
    simhvax# cksum /dev/rx0a
    74898937 409600 /dev/rx0a
So, I assume that:
- the floppy disk is okay
- the simh/VAX configuration is okay
- the microVAX hardware configuration is okay
- the RQDX1 appears to be supported with NetBSD 1.6

When I boot the NetBSD 1.6.2 or 1.6.1 GENERIC kernel on the simh/VAX emulator,
the kernel crashes when I try to use the RX50 floppy image.  On the microVAX,
I get returned to the console >>> prompt during the cksum command.
    simhvax# uname -a
    NetBSD simhvax 1.6.1 NetBSD 1.6.1 (GENERIC) #0: Wed Apr  9 05:42:03 UTC 2003  autobuild@tgm.daemon.org:/autobuild/netbsd-1-6/vax/OBJ/autobuild/netbsd-1-6/src/sys/arch/vax/compile/GENERIC vax
    simhvax# cksum /dev/rx0a
    ra0: dk_busy < 0
    panic: disk_unbusy
    Stopped at      disk_unbusy+0x37:       mfpr    $18, r2
    db> trace
    panic: disk_unbusy
    Stack traceback :
    0x80353ab8: disk_unbusy+0x37(0x885e1c2c,0x800)
    0x80353b14: rriodone+0x44(0x885e1900,0x89a124c8)
    0x80353b34: mscp_dorsp+0x32b(0x885dfc00)
    0x80353b6c: mscp_intr+0x23(0x885dfc00)
    0x80353ba0: udaintr+0x24(0x885d4d00)
    0x80353bc4: eidsptch+0x17(0x8061ea80)
    0x8a9b6cf8: bpendtsleep+0x0(0x89a124c8,0x11,0x8015a46f,0,0)
    0x8a9b6d24: biowait+0x28(0x89a124c8)
    0x8a9b6d68: bread+0x6a(0x816dbd78,0,0x800,0xffffffff,0x8a9b6dcc)
    0x8a9b6d8c: spec_read+0x16c(0x8a9b6e28)
    0x8a9b6dd8: ufsspec_read+0x33(0x8a9b6e28)
    0x8a9b6e0c: VOP_READ+0x3f(0x816dbd78,0x8a9b6eb8,0,0x88634200)
    0x8a9b6e3c: vn_read+0x78(0x80683340,0x80683368,0x8a9b6eb8,0x88634200,0x1)
    0x8a9b6e64: dofileread+0x79(0x8061ea80,0x3,0x80683340,0x7fffbbac,0x4000,0x80683368,0x1,0x8a9b6f58)
    0x8a9b6ed8: sys_read+0x43(0x8061ea80,0x8a9b6f60,0x8a9b6f58)
    0x8a9b6f20: syscall+0x103(0x8a9b6fb4)
    db>

Here is the 2.0_BETA GENERIC 200406230000 kernel on the simh/VAX emulator
and the microVAX.  The kernel crashes when I try to use the RX50 floppy
drive:
    # uname -a
    NetBSD  2.0_BETA NetBSD 2.0_BETA (GENERIC) #0: Mon Jun 28 07:27:40 UTC 2004  autobuild@tgm.netbsd.org:/autobuild/netbsd-2-0/vax/OBJ/autobuild/netbsd-2-0/src/sys/arch/vax/compile/GENERIC vax
    # cksum /dev/rx0a
    panic: Segv in kernel mode: pc 8013f38b addr a8
    Stopped in pid 13.1 (cksum) at  netbsd:trap+0x297:      movl    $2, -72(fp)
    db> trace
    panic: Segv in kernel mode: pc %x addr %x
    Stack traceback :
    0x849eeb5c: trap+0x297(0x849eec30)
    0x849eec30: trap type=0x4c code=0xa8 pc=0x8013f38b psl=0xd70004
    0x849eebfc: rrfillin+0x8f(0x806c370c,0x803d5948)
    0x849eec7c: mscp_kickaway+0xc1(0x82835c00)
    0x849eecb0: mscp_strategy+0x23(0x806c370c,0x82835c00)
    0x849eecdc: rxstrategy+0xca(0x806c370c)
    0x849eed04: spec_strategy+0xee(0x849eed54)
    0x849eed2c: VOP_STRATEGY+0x2f(0x806bd714,0x806c370c)
    0x849eed60: bread+0x64(0x806bd714,0,0,0x800,0xffffffff,0x849eedcc)
    0x849eed80: spec_read+0x16e(0x849eee28)
    0x849eedd8: ufsspec_read+0x33(0x849eee28)
    0x849eee0c: VOP_READ+0x3f(0x806bd714,0x849eeeb8,0,0x82808e80)
    0x849eee3c: vn_read+0x78(0x80472070,0x80472098,0x849eeeb8,0x82808e80,0x1)
    0x849eee64: dofileread+0x7f(0x80424960,0x3,0x80472070,0x7fffbbd0,0x4000,0x80472098,0x1,0x849eef58)
    0x849eeed8: sys_read+0x47(0x8042b2e8,0x849eef60,0x849eef58)
    0x849eef20: syscall+0xdc(0x849eefb4)

>How-To-Repeat:
Put RX50 floppy in drive.
Boot 1.6.1 or newer kernel on microvax
run "cksum /dev/rx0a"

>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted: