NetBSD Problem Report #57020
From www@netbsd.org Sat Sep 24 06:48:04 2022
Return-Path: <www@netbsd.org>
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 497831A923A
for <gnats-bugs@gnats.NetBSD.org>; Sat, 24 Sep 2022 06:48:04 +0000 (UTC)
Message-Id: <20220924064800.A87D81A923B@mollari.NetBSD.org>
Date: Sat, 24 Sep 2022 06:48:00 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: kernel diagnostic assertion "!RB_SENTINEL_P(tree->rbt_root)" failed: file "/home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c", line 2261
X-Send-Pr-Version: www-1.0
>Number: 57020
>Category: kern
>Synopsis: kernel diagnostic assertion "!RB_SENTINEL_P(tree->rbt_root)" failed: file "/home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c", line 2261
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Sep 24 06:50:00 +0000 2022
>Closed-Date: Wed Apr 17 19:06:16 +0000 2024
>Last-Modified: Wed Apr 17 19:06:16 +0000 2024
>Originator: Taylor R Campbell
>Release: current
>Organization:
The pmapBSD Foundation
>Environment:
NetBSD singbulli 9.99.100 NetBSD 9.99.100 (GENERIC) #38: Fri Sep 23 17:56:58 UTC 2022 root@singbulli:/home/riastradh/netbsd/current/obj.amd64/sys/arch/amd64/compile/GENERIC amd64
>Description:
System panicked: kernel diagnostic assertion "!RB_SENTINEL_P(tree->rbt_root)" failed: file "/home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c", line 2261
kern_reboot() at sys_reboot
vpanic() at vpanic+0x18d
kern_assert() at __x86_indirect_thunk_rax
pmap_lookup_pv() at pmap_lookup_pv+0xc1
pmap_remove_pte() at pmap_remove_pte+0x12a
pmap_remove() at pmap_remove+0x189
uvm_unmap_remove() at uvm_unmap_remove+0x292
sys_munmap() at sys_munmap+0x9e
syscall() at syscall+0x196
--- syscall (number 73) ---
Process was X. rbtree for ptp is empty:
(gdb) print ptp->mdpage.mp_pp.pp_u.rb
$8 = {rbt_root = 0x0, rbt_ops = 0xffffffff8123d2c0 <pmap_rbtree_ops>,
rbt_minmax = {0x0, 0x0}}
Crash dump available.
>How-To-Repeat:
unsure -- possibly related to new x86 efi runtime logic, which touches pmap, but that seems unlikely because it doesn't have anything to do with pv tracking or ptp data structures
>Fix:
Yes, please!
>Release-Note:
>Audit-Trail:
From: Taylor R Campbell <riastradh@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/57020: kernel diagnostic assertion "!RB_SENTINEL_P(tree->rbt_root)" failed: file "/home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c", line 2261
Date: Sat, 24 Sep 2022 07:09:31 +0000
(gdb) fr 0
#0 0xffffffff80239b25 in cpu_reboot (howto=3Dhowto@entry=3D260,
bootstr=3Dbootstr@entry=3D0x0)
at /home/riastradh/netbsd/current/src/sys/arch/amd64/amd64/machdep.c:721
721 dumpsys();
(gdb) fr 1
#1 0xffffffff80ddcf2f in kern_reboot (howto=3Dhowto@entry=3D260,
bootstr=3Dbootstr@entry=3D0x0)
at /home/riastradh/netbsd/current/src/sys/kern/kern_reboot.c:73
73 cpu_reboot(howto, bootstr);
(gdb) fr 2
#2 0xffffffff80e246ed in vpanic (
fmt=3D0xffffffff81397f38 "kernel %sassertion \"%s\" failed: file \"%s\"=
, line %d ", ap=3Dap@entry=3D0xffffdb909ee09d68)
at /home/riastradh/netbsd/current/src/sys/kern/subr_prf.c:293
293 kern_reboot(bootopt, NULL);
(gdb) fr 3
#3 0xffffffff80fe87ef in kern_assert (
fmt=3Dfmt@entry=3D0xffffffff81397f38 "kernel %sassertion \"%s\" failed:=
file \"%s\", line %d ")
at /home/riastradh/netbsd/current/src/sys/lib/libkern/kern_assert.c:51
51 vpanic(fmt, ap);
(gdb) fr 4
#4 0xffffffff8059a027 in pmap_lookup_pv (pmap=3Dpmap@entry=3D0xffffc6905d6=
ffe00,
ptp=3Dptp@entry=3D0xffffdb802a7cd800, old_pp=3Dold_pp@entry=3D0xffffdb8=
02fd94158,
va=3Dva@entry=3D140187557449728)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c:2261
2261 KASSERT(!RB_SENTINEL_P(tree->rbt_root));
(gdb) fr 5
#5 0xffffffff8059b712 in pmap_remove_pte (pmap=3Dpmap@entry=3D0xffffc6905d=
6ffe00,
ptp=3Dptp@entry=3D0xffffdb802a7cd800, pte=3Dpte@entry=3D0xfffffe3fbffac=
828,
va=3Dva@entry=3D140187557449728)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c:4263
4263 pve =3D pmap_lookup_pv(pmap, ptp, pp, va);
(gdb) fr 6
#6 0xffffffff8059f2d3 in pmap_remove_ptes (endva=3D140187558477824,
startva=3D<optimized out>, ptpva=3D<optimized out>, ptp=3D0xffffdb802a7=
cd800,
pmap=3D0xffffc6905d6ffe00)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c:4183
4183 (void)pmap_remove_pte(pmap, ptp, pte, startva);
(gdb) fr 7
#7 pmap_remove_locked (eva=3D140187558883328, sva=3D<optimized out>,
pmap=3D0xffffc6905d6ffe00)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c:4336
4336 pmap_remove_ptes(pmap, ptp, (vaddr_t)&ptes[pl1_i(va=
)], va,
(gdb) fr 8
#8 pmap_remove (pmap=3D0xffffc6905d6ffe00, sva=3D<optimized out>,
eva=3D140187558883328)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/pmap.c:4362
4362 pmap_remove_locked(pmap, sva, eva);
(gdb) fr 9
#9 0xffffffff80d7cf37 in uvm_unmap_remove (map=3Dmap@entry=3D0xffffc6905b6=
3e480,
start=3D<optimized out>, start@entry=3D140187557310464,
end=3Dend@entry=3D140187558883328,
entry_list=3Dentry_list@entry=3D0xffffdb909ee09f68, flags=3Dflags@entry=
=3D0)
at /home/riastradh/netbsd/current/src/sys/uvm/uvm_map.c:2336
2336 pmap_remove(map->pmap, entry->start, entry-=
>end);
(gdb) fr 10
#10 0xffffffff80d843b6 in sys_munmap (l=3D<optimized out>, uap=3D<optimized=
out>,
retval=3D<optimized out>)
at /home/riastradh/netbsd/current/src/sys/uvm/uvm_mmap.c:576
576 uvm_unmap_remove(map, addr, addr + size, &dead_entries, 0);
(gdb) fr 11
#11 0xffffffff805a536e in sy_call (rval=3D0xffffdb909ee09fb0,
uap=3D0xffffdb909ee0a000, l=3D0xffffc69061266700,
sy=3D0xffffffff818867d8 <sysent+1752>)
at /home/riastradh/netbsd/current/src/sys/sys/syscallvar.h:65
65 error =3D (*sy->sy_call)(l, uap, rval);
(gdb) fr 12
#12 sy_invoke (code=3D73, rval=3D0xffffdb909ee09fb0, uap=3D0xffffdb909ee0a0=
00,
l=3D0xffffc69061266700, sy=3D0xffffffff818867d8 <sysent+1752>)
at /home/riastradh/netbsd/current/src/sys/sys/syscallvar.h:94
94 error =3D sy_call(sy, l, uap, rval);
(gdb) fr 13
#13 syscall (frame=3D0xffffdb909ee0a000)
at /home/riastradh/netbsd/current/src/sys/arch/x86/x86/syscall.c:138
138 error =3D sy_invoke(callp, l, args, rval, code);
(gdb) fr 14
#14 0xffffffff8021025d in handle_syscall ()
(gdb)=20
State-Changed-From-To: open->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 17 Apr 2024 19:06:16 +0000
State-Changed-Why:
chalking this up to bad RAM
>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-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.