What is an invalid ASID ?

bob prohaska fbsd at www.zefox.net
Fri Nov 15 02:07:43 UTC 2019


On Thu, Nov 14, 2019 at 06:40:55AM -0500, Ed Maste wrote:
> On Mon, 11 Nov 2019 at 14:47, Mark Millard via freebsd-arm
> <freebsd-arm at freebsd.org> wrote:
> >
> > Address Space ID (ASID)
> 
> Yes this is the correct acronym; ASID support was just added to
> FreeBSD/arm64 on Nov 3 (r354286). I tried it on an eMAG system before
> and after commit with both buildworlds and full (33k queued package)
> poudriere runs and saw no issue.
> 
> > It looks like a backtrace from such a panic might be of interest to the
> > folks dealing with such areas.
> 
> Yes indeed.

Ok, here we go 8-(

This is on 13.0-CURRENT (GENERIC) #11 r354632 compiling r354667 with no alterations.

panic: invalid ASID
cpuid = 1
time = 1573782085
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
	 pc = 0xffff0000007289bc  lr = 0xffff000000103df4
	 sp = 0xffff00005191d0e0  fp = 0xffff00005191d2f0

db_trace_self_wrapper() at vpanic+0x18c
	 pc = 0xffff000000103df4  lr = 0xffff0000003fe430
	 sp = 0xffff00005191d300  fp = 0xffff00005191d3b0

vpanic() at panic+0x44
	 pc = 0xffff0000003fe430  lr = 0xffff0000003fe1e0
	 sp = 0xffff00005191d3c0  fp = 0xffff00005191d440

panic() at pmap_remove_all+0x70c
	 pc = 0xffff0000003fe1e0  lr = 0xffff00000073ad24
	 sp = 0xffff00005191d450  fp = 0xffff00005191d4c0

pmap_remove_all() at vm_page_try_remove_all+0x80
	 pc = 0xffff00000073ad24  lr = 0xffff0000006df7f4
	 sp = 0xffff00005191d4d0  fp = 0xffff00005191d4f0

vm_page_try_remove_all() at vm_pageout_worker+0x93c
	 pc = 0xffff0000006df7f4  lr = 0xffff0000006e3728
	 sp = 0xffff00005191d500  fp = 0xffff00005191d8d0

vm_pageout_worker() at vm_pageout+0x1b0
	 pc = 0xffff0000006e3728  lr = 0xffff0000006e2dd8
	 sp = 0xffff00005191d8e0  fp = 0xffff00005191d940

vm_pageout() at fork_exit+0x7c
	 pc = 0xffff0000006e2dd8  lr = 0xffff0000003be784
	 sp = 0xffff00005191d950  fp = 0xffff00005191d980

fork_exit() at fork_trampoline+0x10
	 pc = 0xffff0000003be784  lr = 0xffff000000744b0c
	 sp = 0xffff00005191d990  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 21 tid 100066 ]
Stopped at      0
db> bt
Tracing pid 21 tid 100066 td 0xfffffd0000d85560
db_trace_self() at db_stack_trace+0xf8
         pc = 0xffff0000007289bc  lr = 0xffff000000101238
         sp = 0xffff00005191ccb0  fp = 0xffff00005191cce0

db_stack_trace() at db_command+0x228
         pc = 0xffff000000101238  lr = 0xffff000000100eb0
         sp = 0xffff00005191ccf0  fp = 0xffff00005191cdd0

db_command() at db_command_loop+0x58
         pc = 0xffff000000100eb0  lr = 0xffff000000100c58
         sp = 0xffff00005191cde0  fp = 0xffff00005191ce00

db_command_loop() at db_trap+0xf4
         pc = 0xffff000000100c58  lr = 0xffff000000103f5c
         sp = 0xffff00005191ce10  fp = 0xffff00005191d030

db_trap() at kdb_trap+0x1d8
         pc = 0xffff000000103f5c  lr = 0xffff0000004469c8
         sp = 0xffff00005191d040  fp = 0xffff00005191d0f0
        
kdb_trap() at do_el1h_sync+0xf4
         pc = 0xffff0000004469c8  lr = 0xffff000000744d80
         sp = 0xffff00005191d100  fp = 0xffff00005191d130

do_el1h_sync() at handle_el1h_sync+0x78
         pc = 0xffff000000744d80  lr = 0xffff00000072b078
         sp = 0xffff00005191d140  fp = 0xffff00005191d250

handle_el1h_sync() at kdb_enter+0x34
         pc = 0xffff00000072b078  lr = 0xffff000000446014
         sp = 0xffff00005191d260  fp = 0xffff00005191d2f0

kdb_enter() at vpanic+0x1a8
         pc = 0xffff000000446014  lr = 0xffff0000003fe44c
         sp = 0xffff00005191d300  fp = 0xffff00005191d3b0

vpanic() at panic+0x44
         pc = 0xffff0000003fe44c  lr = 0xffff0000003fe1e0
         sp = 0xffff00005191d3c0  fp = 0xffff00005191d440
        
panic() at pmap_remove_all+0x70c
         pc = 0xffff0000003fe1e0  lr = 0xffff00000073ad24
         sp = 0xffff00005191d450  fp = 0xffff00005191d4c0

pmap_remove_all() at vm_page_try_remove_all+0x80
         pc = 0xffff00000073ad24  lr = 0xffff0000006df7f4
         sp = 0xffff00005191d4d0  fp = 0xffff00005191d4f0

vm_page_try_remove_all() at vm_pageout_worker+0x93c
         pc = 0xffff0000006df7f4  lr = 0xffff0000006e3728
         sp = 0xffff00005191d500  fp = 0xffff00005191d8d0

vm_pageout_worker() at vm_pageout+0x1b0
         pc = 0xffff0000006e3728  lr = 0xffff0000006e2dd8
         sp = 0xffff00005191d8e0  fp = 0xffff00005191d940

vm_pageout() at fork_exit+0x7c
         pc = 0xffff0000006e2dd8  lr = 0xffff0000003be784
         sp = 0xffff00005191d950  fp = 0xffff00005191d980
        
fork_exit() at fork_trampoline+0x10
         pc = 0xffff0000003be784  lr = 0xffff000000744b0c
         sp = 0xffff00005191d990  fp = 0x0000000000000000

db> 

I don't know enough to do more that type bt at the prompt.
Please let me know if better-considered actions exist.

Thanks for reading,

bob prohaska



More information about the freebsd-arm mailing list