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:

NetBSD Home
NetBSD PR Database Search

(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.