NetBSD Problem Report #39245
From stix@stix.id.au Tue Jul 29 10:35:12 2008
Return-Path: <stix@stix.id.au>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 6687363B99A
for <gnats-bugs@gnats.NetBSD.org>; Tue, 29 Jul 2008 10:35:12 +0000 (UTC)
Message-Id: <20080729103507.B678967FA3@stix.id.au>
Date: Tue, 29 Jul 2008 20:35:07 +1000 (EST)
From: stix@stix.id.au
Reply-To: stix@stix.id.au
To: gnats-bugs@gnats.NetBSD.org
Subject: kernel panic writing at EOT/EOM
X-Send-Pr-Version: 3.95
>Number: 39245
>Category: kern
>Synopsis: kernel panic writing at EOT/EOM
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jul 29 10:40:01 +0000 2008
>Originator: Paul Ripke
>Release: NetBSD 4.0_STABLE
>Organization:
>Environment:
System: NetBSD zion.stix.org.au 4.0_STABLE NetBSD 4.0_STABLE (ZION) #1: Sun Jul 27 18:58:48 EST 2008 stix@zion.stix.org.au:/export/netbsd/netbsd-4/obj.i386/export/netbsd/netbsd-4/src/sys/arch/i386/compile/ZION i386
Architecture: i386
Machine: i386
>Description:
Kernel panics when writing to a tape and reaching end-of-tape (EOT),
end-of-media (EOM).
Tape drive and controller are:
ahc0 at pci2 dev 10 function 0: Adaptec 29160B Ultra160 SCSI adapter
ahc0: interrupting at ioapic0 pin 22 (irq 10)
ahc0: aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus0 at ahc0: 16 targets, 8 luns per target
st0 at scsibus0 target 6 lun 0: <HP, Ultrium 1-SCSI, E16V> tape removable
st0: density code 64, variable blocks, write-enabled
st0: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers
Panic is:
panic: kernel diagnostic assertion "(bp->b_flags & B_ERROR) == 0" failed: file "/export/netbsd/netbsd-4/src/sys/kern/kern_physio.c", line 201
Stopped in pid 116.1 (physiod) at netbsd:cpu_Debugger+0x4: popl %ebp
cpu_Debugger(c05345b0,cc688be8,cd03d3e0,c05a2ce0,3ea) at netbsd:cpu_Debugger+0x4
panic(c059058c,c0522931,c052f15a,c056e718,c9) at netbsd:panic+0x146
__assert(c0522931,c056e718,c9,c052f15a,10000) at netbsd:__assert+0x2e
physio_done(c1dc9bd0,0,c052f0f8,0,cc628450) at netbsd:physio_done+0xf5
workqueue_worker(cc628450,0,c01002d2,fbff,c01002d2) at netbsd:workqueue_worker+0x8c
I haven't tried this with current sources, but looking at the code, I
can't see any major divergencies.
st was running with default configuration, which seems to imply variable
block size and no early warning at EOM.
>How-To-Repeat:
Generate enough data to fill a tape, and keep writing. In the case
above, I was writing 64 KB blocks.
>Fix:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.