NetBSD Problem Report #39898

From bernd@arresum.veego.de  Tue Nov 11 19:41:25 2008
Return-Path: <bernd@arresum.veego.de>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id F0FB763B898
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 11 Nov 2008 19:41:24 +0000 (UTC)
Message-Id: <200811111941.mABJfFW5001481@arresum.veego.de>
Date: Tue, 11 Nov 2008 20:41:15 +0100 (CET)
From: Bernd Ernesti <pr200822@veego.de>
Reply-To: Bernd Ernesti <pr200822@veego.de>
To: gnats-bugs@gnats.NetBSD.org
Subject: wapbl kernel diagnostic assertion "head == off"
X-Send-Pr-Version: 3.95

>Number:         39898
>Category:       port-i386
>Synopsis:       kernel diagnostic assertion "head == off"
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    joerg
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Nov 11 19:45:00 +0000 2008
>Closed-Date:    Tue Nov 18 01:12:08 +0000 2008
>Last-Modified:  Tue Nov 18 01:12:08 +0000 2008
>Originator:     Bernd Ernesti
>Release:        NetBSD 5.99.01
>Organization:

>Environment:
System: NetBSD 5.99.01
Architecture: i386
Machine: i386
>Description:

panic: kernel diagnostic assertion "head == off" failed: file "/src/sys/kern/vfs_wapbl.c", line 1398
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c053d9ac cs 8 eflags 246 cr2 bb923010 ilevel 0
stopped in pid 0.55 (system) at netbsd: breakpoint+0x4: popl %ebp

wapbl_flush
ffs_sync
VFS_SYNC
sync_fsync
VOP_FSYNC 
sched_sync

No crash dump because sync didn't return.

>How-To-Repeat:
	Do some file activities.
>Fix:

>Release-Note:

>Audit-Trail:
From: Bernd Ernesti <pr200822@veego.de>
To: gnats-bugs@NetBSD.org
Cc: joerg@NetBSD.org
Subject: Re: port-i386/39898: wapbl kernel diagnostic assertion "head == off"
Date: Sun, 16 Nov 2008 17:00:14 +0100

 The panic was indroduced on Nov, 10th between 20:00 and 22:00 UTC.

 I did track the panic down by doing a lot of cvs updates between Nov 4 and
 Nov 10. Between "10 Nov 2008 20:00 UTC" and "10 Nov 2008 22:00 UTC" and one
 of the following changes cause this panic (the ident diff between this
 two kernels):

 -     $NetBSD: ffs_vfsops.c,v 1.239 2008/10/30 17:03:09 joerg Exp $
 +     $NetBSD: ffs_vfsops.c,v 1.240 2008/11/10 20:12:13 joerg Exp $
 -     $NetBSD: ffs_wapbl.c,v 1.6 2008/09/08 03:16:43 joerg Exp $
 +     $NetBSD: ffs_wapbl.c,v 1.7 2008/11/10 20:12:13 joerg Exp $
 -     $NetBSD: vfs_bio.c,v 1.211 2008/11/04 16:08:41 reinoud Exp $
 +     $NetBSD: vfs_bio.c,v 1.212 2008/11/10 21:02:15 joerg Exp $
 -     $NetBSD: vfs_wapbl.c,v 1.3 2008/08/11 02:45:27 yamt Exp $
 +     $NetBSD: vfs_wapbl.c,v 1.5 2008/11/10 20:30:31 joerg Exp $

 And these are the files which changed btween 20:00 and 22:00 UTC:

 U arch/evbarm/stand/board/nullcom.c
 P arch/evbarm/stand/gzboot/GEMINI_dram_0x01600000/Makefile
 P kern/vfs_bio.c
 P kern/vfs_wapbl.c
 P sys/wapbl.h
 P ufs/ffs/ffs_vfsops.c
 P ufs/ffs/ffs_wapbl.c

 where sys/wapbl.h is an additional file which didn't show up in the ident
 output and the arch/evbarm changes are irrelevant since this is a i386
 kernel.

 Bernd

From: Bernd Ernesti <pr200822@veego.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-i386/39898: wapbl kernel diagnostic assertion "head == off"
Date: Sun, 16 Nov 2008 17:55:49 +0100

 The handling for WAPBL_INTERNAL looks wrong.

 sys/mount.h has
 	struct wapbl_replay *mnt_wapbl_replay; /* replay support XXX: what? */

 wapbl_replay is protected in sys/wapbl.h by WAPBL_INTERNAL

 kern/vfs_bio.c and ufs/ffs/ffs_vfsops.c uses mnt_wapbl_replay but I can't see
 where WAPBL_INTERNAL is defined and so they get an empty wapbl_replay.

Responsible-Changed-From-To: port-i386-maintainer->joerg
Responsible-Changed-By: joerg@NetBSD.org
Responsible-Changed-When: Sun, 16 Nov 2008 18:54:14 +0000
Responsible-Changed-Why:
Wokring on it.


From: Joerg Sonnenberger <joerg@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/39898 CVS commit: src/sys/kern
Date: Sun, 16 Nov 2008 19:34:19 +0000 (UTC)

 Module Name:	src
 Committed By:	joerg
 Date:		Sun Nov 16 19:34:19 UTC 2008

 Modified Files:
 	src/sys/kern: vfs_bio.c

 Log Message:
 Backout revision 1.212 and add a comment that short-cutting the WAPBL
 case is not possible. The buffer length has changed and the rounded size
 may not have, essentially changing the transaction size. Reported by
 various users and in PR 39898.


 To generate a diff of this commit:
 cvs rdiff -r1.213 -r1.214 src/sys/kern/vfs_bio.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Tue, 18 Nov 2008 01:12:08 +0000
State-Changed-Why:
Should be fixed now. Thanks for the PR.


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