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:

NetBSD Home
NetBSD PR Database Search

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