panic: non-current pmap on RPI3 on CURRENT (GENERIC) #4 r356366

Ralf Wenk iz-rpi03 at hs-karlsruhe.de
Mon Jan 13 14:40:32 UTC 2020


Hi,

On 2020-01-09 at 13:51 +0200 Konstantin Belousov wrote:
> On Wed, Jan 08, 2020 at 03:56:30PM -0800, bob prohaska wrote:
> > A Pi3 running FreeBSD 13.0-CURRENT (GENERIC) #4 r356366 reported,
> > while compiling www/chromium:
> > 
> > panic: non-current pmap 0xfffffd000385f5a0
> [...]
> > db> 

While doing "mergemaster -F -m /usr/src" one of my RPi3s experienced
the same kind of panic:

panic: non-current pmap 0xfffffd0001bca2a0
cpuid = 1
time = 1578921150
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff000000736b3c  lr = 0xffff000000106814
         sp = 0xffff00005a1782b0  fp = 0xffff00005a1784c0

db_trace_self_wrapper() at vpanic+0x18c
         pc = 0xffff000000106814  lr = 0xffff000000408600
         sp = 0xffff00005a1784d0  fp = 0xffff00005a178580

vpanic() at panic+0x44
         pc = 0xffff000000408600  lr = 0xffff0000004083b0
         sp = 0xffff00005a178590  fp = 0xffff00005a178610

panic() at pmap_remove_pages+0x8b4
         pc = 0xffff0000004083b0  lr = 0xffff00000074d890
         sp = 0xffff00005a178620  fp = 0xffff00005a1786e0

pmap_remove_pages() at vmspace_exit+0xc0
         pc = 0xffff00000074d890  lr = 0xffff0000006d3710
         sp = 0xffff00005a1786f0  fp = 0xffff00005a178720

vmspace_exit() at exit1+0x4f8
         pc = 0xffff0000006d3710  lr = 0xffff0000003c2ab4
         sp = 0xffff00005a178730  fp = 0xffff00005a1787a0

exit1() at sys_sys_exit+0x10
         pc = 0xffff0000003c2ab4  lr = 0xffff0000003c25b8
         sp = 0xffff00005a1787b0  fp = 0xffff00005a1787b0

sys_sys_exit() at do_el0_sync+0x514
         pc = 0xffff0000003c25b8  lr = 0xffff000000753c44
         sp = 0xffff00005a1787c0  fp = 0xffff00005a178860

do_el0_sync() at handle_el0_sync+0x90
         pc = 0xffff000000753c44  lr = 0xffff000000739224
         sp = 0xffff00005a178870  fp = 0xffff00005a178980

handle_el0_sync() at 0x403ef6bc
         pc = 0xffff000000739224  lr = 0x00000000403ef6bc
         sp = 0xffff00005a178990  fp = 0x0000ffffffffd7c0

KDB: enter: panic
[ thread pid 44425 tid 100460 ]
Stopped at      0x4040ddfc
db> 
db> bt
Tracing pid 44425 tid 100460 td 0xfffffd000fff5560
db_trace_self() at db_stack_trace+0xf8
         pc = 0xffff000000736b3c  lr = 0xffff000000103c58
         sp = 0xffff00005a177e80  fp = 0xffff00005a177eb0

db_stack_trace() at db_command+0x228
         pc = 0xffff000000103c58  lr = 0xffff0000001038d0
         sp = 0xffff00005a177ec0  fp = 0xffff00005a177fa0

db_command() at db_command_loop+0x58
         pc = 0xffff0000001038d0  lr = 0xffff000000103678
         sp = 0xffff00005a177fb0  fp = 0xffff00005a177fd0

db_command_loop() at db_trap+0xf4
         pc = 0xffff000000103678  lr = 0xffff00000010697c
         sp = 0xffff00005a177fe0  fp = 0xffff00005a178200

db_trap() at kdb_trap+0x1d8
         pc = 0xffff00000010697c  lr = 0xffff00000044fa74
         sp = 0xffff00005a178210  fp = 0xffff00005a1782c0

kdb_trap() at do_el1h_sync+0xf4
         pc = 0xffff00000044fa74  lr = 0xffff0000007535b8
         sp = 0xffff00005a1782d0  fp = 0xffff00005a178300

do_el1h_sync() at handle_el1h_sync+0x78
         pc = 0xffff0000007535b8  lr = 0xffff000000739078
         sp = 0xffff00005a178310  fp = 0xffff00005a178420

handle_el1h_sync() at kdb_enter+0x34
         pc = 0xffff000000739078  lr = 0xffff00000044f0c0
         sp = 0xffff00005a178430  fp = 0xffff00005a1784c0

kdb_enter() at vpanic+0x1a8
         pc = 0xffff00000044f0c0  lr = 0xffff00000040861c
         sp = 0xffff00005a1784d0  fp = 0xffff00005a178580

vpanic() at panic+0x44
         pc = 0xffff00000040861c  lr = 0xffff0000004083b0
         sp = 0xffff00005a178590  fp = 0xffff00005a178610

panic() at pmap_remove_pages+0x8b4
         pc = 0xffff0000004083b0  lr = 0xffff00000074d890
         sp = 0xffff00005a178620  fp = 0xffff00005a1786e0

pmap_remove_pages() at vmspace_exit+0xc0
         pc = 0xffff00000074d890  lr = 0xffff0000006d3710
         sp = 0xffff00005a1786f0  fp = 0xffff00005a178720

vmspace_exit() at exit1+0x4f8
         pc = 0xffff0000006d3710  lr = 0xffff0000003c2ab4
         sp = 0xffff00005a178730  fp = 0xffff00005a1787a0

exit1() at sys_sys_exit+0x10
         pc = 0xffff0000003c2ab4  lr = 0xffff0000003c25b8
         sp = 0xffff00005a1787b0  fp = 0xffff00005a1787b0

sys_sys_exit() at do_el0_sync+0x514
         pc = 0xffff0000003c25b8  lr = 0xffff000000753c44
         sp = 0xffff00005a1787c0  fp = 0xffff00005a178860

do_el0_sync() at handle_el0_sync+0x90

         pc = 0xffff000000753c44  lr = 0xffff000000739224
         sp = 0xffff00005a178870  fp = 0xffff00005a178980

handle_el0_sync() at 0x403ef6bc
         pc = 0xffff000000739224  lr = 0x00000000403ef6bc
         sp = 0xffff00005a178990  fp = 0x0000ffffffffd7c0

db> 
db> show pcpu
cpuid        = 1
dynamic pcpu = 0x3fea1f00
curthread    = 0xfffffd000fff5560: pid 44425 tid 100460 critnest 1 "install"
curpcb       = 0xffff00005a178aa0
fpcurthread  = 0xfffffd000fff5560: pid 44425 "install"
idlethread   = 0xfffffd0000aaa560: tid 100004 "idle: cpu1"
curvnet      = 0
spin locks held:
db> 

> It would be useful to see both the curcpu pc_curpmap content,
> and dump both *(struct pmap *)0xfffffd000385f5a0 and *pc_curpmap
> from the vmcore.

I do not know the exact kernel debugger commands to print/show the
"curcpu pc_curpmap content" or dump "*(struct pmap *)0xfffffd0001bca2a0"
and "*pc_curpmap" to help, but this RPi3 can stay in the kernel debugger
for a while.

If you can tell me the neccessary kernel debugger commands I will execute
them and mail the results.

As there is no swap-space configured, I think I am unable to procude a
kernel coredump which could be analysed later.

The panic happend during an update to a CURRENT of today, but I saved
former state in a boot environment.

Ralf



More information about the freebsd-arm mailing list