NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/54045: mpii driver triggers panic on timeout in physio
>Number: 54045
>Category: kern
>Synopsis: kernel diagnostic assertion "bp->b_error == 0" failed: file "/src/NetBSD/cur/src/sys/kern/kern_physio.c", line 179
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Mar 06 10:50:00 +0000 2019
>Originator: Frank Kardel
>Release: NetBSD 8.99.34
>Organization:
>Environment:
System: NetBSD admin1 8.99.34 NetBSD 8.99.34 (GENERIC_SCSIDEBUG) #5: Wed Mar 6 08:51:34 CET 2019 kardel@Andromeda:/usr/src/obj.amd64/sys/arch/amd64/compile/GENERIC_SCSIDEBUG amd64
Architecture: x86_64
Machine: amd64
>Description:
Timeouts on SCSI WRITE/READ commands in the mpii driver cause physio to panic with:
kernel diagnostic assertion "bp->b_error == 0" failed: file "/src/NetBSD/cur/src/sys/kern/kern_physio.c", line 179
Root cause is the improper setting of bp->resid in the error case triggering the physio assertion that
fully completed transfers must not indicate error conditions.
>How-To-Repeat:
Force a timeout on READ/WRITE in the mpii driver (tape drives with bad tapes are a
good test candidate) and observe the panic on a DIAGNOSTIC kernel.
>Fix:
Align values of xs->error, xs->resid and xs->status with the expectations of the scsipi subsystem.
Home |
Main Index |
Thread Index |
Old Index