NetBSD Problem Report #32860
From dogcow@mercury.babymeat.com Fri Feb 17 08:41:05 2006
Return-Path: <dogcow@mercury.babymeat.com>
Received: from b.mail.sonic.net (b.mail.sonic.net [64.142.19.5])
by narn.netbsd.org (Postfix) with ESMTP id 326E663B873
for <gnats-bugs@gnats.NetBSD.org>; Fri, 17 Feb 2006 08:41:05 +0000 (UTC)
Message-Id: <20060217084055.815E116659@mercury.babymeat.com>
Date: Fri, 17 Feb 2006 00:40:55 -0800 (PST)
From: dogcow@babymeat.com
Reply-To: dogcow@babymeat.com
To: gnats-bugs@netbsd.org
Subject: panic in physio_done after heavy IO
X-Send-Pr-Version: 3.95
>Number: 32860
>Category: kern
>Synopsis: panic in physio_done after heavy IO
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Feb 17 08:45:00 +0000 2006
>Last-Modified: Sat Apr 14 03:09:00 +0000 2007
>Originator: Tom Spindler
>Release: NetBSD 3.99.15
>Organization:
>Environment:
System: NetBSD mercury.babymeat.com 3.99.15 NetBSD 3.99.15 (MERCURY) #5: Wed Feb 15 21:46:41 PST 2006 dogcow@mercury:/aux/obj/obj/usr/src/sys/arch/i386/compile/MERCURY i386
Architecture: i386
Machine: i386
>Description:
Under heavy I/O load (hitting multiple disks), the machine paniced.
>How-To-Repeat:
run cvs, and mplayer, and firefox.
Feb 17 00:13:16 mercury savecore: reboot after panic: panic: kernel diagnostic assertion "(bp->b_flags & B_ERROR) == 0" failed: file "/usr/src/sys/kern/kern_physio.c", line 201
(gdb) bt
#0 0xc0485000 in ?? ()
#1 0xc02668e2 in cpu_reboot (howto=256, bootstr=0x0)
at /usr/src/sys/arch/i386/i386/machdep.c:755
#2 0xc020bed7 in panic (
fmt=0xc0390ba0 "kernel %sassertion \"%s\" failed: file \"%s\", line %d")
at /usr/src/sys/kern/subr_prf.c:246
#3 0xc0302bee in __assert ()
#4 0xc01ebab4 in physio_done (wk=0xc167e6d8, dummy=0x0)
at /usr/src/sys/kern/kern_physio.c:207
#5 0xc020fe43 in workqueue_runlist (wq=0xc131b9c0, list=0xcb5a7f7c)
at /usr/src/sys/kern/subr_workqueue.c:97
#6 0xc020fed5 in workqueue_run (wq=0xc131b9c0)
at /usr/src/sys/kern/subr_workqueue.c:131
#3 0xc0302bee in __assert ()
(gdb)
#4 0xc01ebab4 in physio_done (wk=0xc167e6d8, dummy=0x0)
at /usr/src/sys/kern/kern_physio.c:207
207 wakeup(mbp);
#5 0xc020fe43 in workqueue_runlist (wq=0xc131b9c0, list=0xcb5a7f7c)
at /usr/src/sys/kern/subr_workqueue.c:97
97 (*wq->wq_func)(wk, wq->wq_arg);
#6 0xc020fed5 in workqueue_run (wq=0xc131b9c0)
at /usr/src/sys/kern/subr_workqueue.c:131
131 workqueue_runlist(wq, &tmp);
(gdb) up
#4 0xc01ebab4 in physio_done (wk=0xc167e6d8, dummy=0x0)
at /usr/src/sys/kern/kern_physio.c:207
207 wakeup(mbp);
(gdb) print *mbp
$3 = {b_u = {u_actq = {tqe_next = 0xdeadbeef, tqe_prev = 0xc167e6d8},
u_work = {wk_entry = {sqe_next = 0xdeadbeef}}}, b_interlock = {
lock_data = -1050152968}, b_flags = 8388624, b_error = 0, b_prio = 1,
b_bufsize = -559038737, b_bcount = -559038737, b_resid = -559038737,
b_dev = 4294967295can not access 0xdeadbeef, invalid translation (invalid PDE)
can not access 0xdeadbeef, invalid translation (invalid PDE)
can not access 0xdeadbeef, invalid translation (invalid PDE)
can not access 0xdeadbeef, invalid translation (invalid PDE)
can not access 0xdeadbeef, invalid translation (invalid PDE)
can not access 0xdeadbeef, invalid translation (invalid PDE)
, b_un = {
b_addr = 0xdeadbeef <Address 0xdeadbeef out of bounds>},
b_blkno = -2401053088876216593, b_rawblkno = -2401053088876216593,
b_iodone = 0xdeadbeef, b_proc = 0xdeadbeef, b_vp = 0xdeadbeef, b_dep = {
lh_first = 0x0}, b_saveaddr = 0xdeadbeef, b_fspriv = {
bf_private = 0xdeadbeef, bf_dcookie = -2401053088876216593}, b_hash = {
le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_vnbufs = {
le_next = 0xdeadbeef, le_prev = 0xdeadbeef}, b_freelist = {
tqe_next = 0xdeadbeef, tqe_prev = 0xdeadbeef}, b_lblkno = -1,
b_freelistindex = 1}
>Fix:
>Release-Note:
>Audit-Trail:
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: kern/32860: panic after heavy IO
Date: Fri, 17 Feb 2006 17:56:57 +0900
> (gdb) print *mbp
try "print *bp" instead.
what's your underlying disk driver?
YAMAMOTO Takashi
From: Tom Spindler <dogcow@babymeat.com>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: kern/32860: panic after heavy IO
Date: Fri, 17 Feb 2006 08:37:49 -0800
> > (gdb) print *mbp
> try "print *bp" instead.
(gdb) print *bp
can not access 0x800, invalid translation (invalid PTE)
can not access 0x800, invalid translation (invalid PTE)
Cannot access memory at address 0x800
> what's your underlying disk driver?
viaide.
Also, I've found that gmplayer (and not mplayer, oddly enough) will
repeatably cause the panic, so it's not I/O load related.
I can upload the corefile/netbsd.gdb to mail.netbsd.org if you like.
>Unformatted:
(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.