NetBSD Problem Report #57098
From martin@aprisoft.de Tue Dec 6 16:34:10 2022
Return-Path: <martin@aprisoft.de>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 193871A921F
for <gnats-bugs@gnats.NetBSD.org>; Tue, 6 Dec 2022 16:34:10 +0000 (UTC)
Message-Id: <20221206163400.A8A535CC7A1@emmas.aprisoft.de>
Date: Tue, 6 Dec 2022 17:34:00 +0100 (CET)
From: martin@NetBSD.org
Reply-To: martin@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: KASSERT firing on macppc: rw lock not held in trap?
X-Send-Pr-Version: 3.95
>Number: 57098
>Category: port-powerpc
>Synopsis: KASSERT firing on macppc: rw lock not held in trap?
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-powerpc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Dec 06 16:35:00 +0000 2022
>Last-Modified: Tue Dec 06 17:00:02 +0000 2022
>Originator: Martin Husemann
>Release: NetBSD 9.99.108
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD gethsemane.aprisoft.de 9.99.108 NetBSD 9.99.108 (GETHSEMANE) #229: Tue Dec 6 12:33:26 CET 2022 martin@seven-days-to-the-wolves.aprisoft.de:/work/src/sys/arch/macppc/compile/GETHSEMANE macppc
Architecture: powerpc
Machine: macppc
>Description:
While running ATF tests on a dual G4 macppc:
[ 9110.7294796] panic: kernel diagnostic assertion "uobj == NULL || rw_lock_held(uobj->vmobjlock)" failed: file "../../../../uvm/uvm_page.c", line 2073
[ 9110.7495000] cpu1: Begin traceback...
[ 9110.7594993] 0x1bdf6c80: at vpanic+0x158
[ 9110.7694978] 0x1bdf6cb0: at kern_assert+0x60
[ 9110.7795031] 0x1bdf6cf0: at uvm_pagereadonly_p+0xe0
[ 9110.7895118] 0x1bdf6d10: at uvm_fault_internal+0x1408
[ 9110.7995214] 0x1bdf6e60: at trap+0x164
[ 9110.8095283] 0x1bdf6f20: user ISI trap by 0xfdc02de8: srr1=0x4000d032
[ 9110.8195242] r1=0xffffd670 cr=0x24028422 xer=0x20000000 ctr=0xfdc02de8
[ 9110.8395417] cpu1: End traceback...
Stopped in pid 27240.27240 (sh) at netbsd:vpanic+0x15c: or r3, r26,
r26
>How-To-Repeat:
n/a
>Fix:
n/a
>Release-Note:
>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-powerpc/57098: KASSERT firing on macppc: rw lock not held
in trap?
Date: Tue, 6 Dec 2022 17:55:45 +0100
Additional info:
(gdb) list *(uvm_fault_internal+0x1408)
0x6ec64c is in uvm_fault_internal (../../../../uvm/uvm_fault.c:2047).
2042 static void
2043 uvm_fault_lower_neighbor(
2044 struct uvm_faultinfo *ufi, const struct uvm_faultctx *flt,
2045 vaddr_t currva, struct vm_page *pg)
2046 {
2047 const bool readonly = uvm_pagereadonly_p(pg) || pg->loan_count > 0;
2048 UVMHIST_FUNC(__func__); UVMHIST_CALLED(maphist);
2049
2050 /* locked: maps(read), amap(if there), uobj */
2051
(gdb) list *(trap+0x164)
0x138ad4 is in trap (../../../../arch/powerpc/powerpc/trap.c:325).
320 break;
321 }
322
323 ftype = VM_PROT_EXECUTE;
324 KASSERT(pcb->pcb_onfault == NULL);
325 rv = uvm_fault(map, trunc_page(tf->tf_srr0), ftype);
326 if (rv == 0) {
327 break;
328 }
329 ci->ci_ev_isi_fatal.ev_count++;
Martin
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2022
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.