head -r323246 Pine64+ 2GB boot time context: acquiring blockable sleep lock with spinlock or critical section held for data_abort calling pmap_fault calling __mtx_lock_flags

Mark Millard markmi at dsl-only.net
Sun Sep 10 22:25:29 UTC 2017


[I got a boot-time panic with a debug kernel that
reported a "acquiring blockable sleep lock with
spinlock or critical section held (sleep mutex)".
This was for data_abort calling pmap_fault calling
__mtx_lock_flags . I first include prior non-debug
kernel reports in case they are related.]

On 2017-Sep-10, at 1:34 AM, Mark Millard <markmi at dsl-only.net> wrote:

> . . .
> 
> Booting with the non-debug kernel appears to hang for
> a bit and then gets to a db> prompt and a bt showed
> (for example):
> (The console output for the register dump seems
> to always be incomplete and there is a wait to
> end up at the db> prompt. Note the data_abort
> closest to the fork_exit .)
> 
> . . .
> Release APs
> APs not started
> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
> Instruction Set Attributes 0 = <AES+PMULL,SHA1,SHA2,CRC32>
> Instruction Set Attributes 1 = <0>
>         Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
>         Processor Features 1 = <0>
>      Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
>      Memory Model Features 1 = <>
>             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
>             Debug Features 1 = <0>
>         Auxiliary Features 0 = <0>
>         Auxiliary Features 1 = <0>
> CPU  1: (null) (null) r0p0 affinity:  0
> CPU  2: (null) (null) r0p0 affinity:  0
> CPU  3: (null) (null) r0p0 affinity:  0
>  x0: ffff000000a1c000
>  x1: fffffd000103a[ thread pid 0 tid 100057 ]
> Stopped at      thread_lock_flags_+0x298:       ldr     w4, [x3, #156]
> db> bt
> Tracing pid 0 tid 100057 td 0xfffffd000103a000
> db_trace_self() at db_stack_trace+0xec
>         pc = 0xffff000000613688  lr = 0xffff000000084db4
>         sp = 0xffff0000698f4260  fp = 0xffff0000698f4290
> 
> db_stack_trace() at db_command+0x224
>         pc = 0xffff000000084db4  lr = 0xffff000000084a3c
>         sp = 0xffff0000698f42a0  fp = 0xffff0000698f4380
> 
> db_command() at db_command_loop+0x60
>         pc = 0xffff000000084a3c  lr = 0xffff0000000847fc
>         sp = 0xffff0000698f4390  fp = 0xffff0000698f43b0
> 
> db_command_loop() at db_trap+0xf4
>         pc = 0xffff0000000847fc  lr = 0xffff000000087964
>         sp = 0xffff0000698f43c0  fp = 0xffff0000698f45e0
> 
> db_trap() at kdb_trap+0x180
>         pc = 0xffff000000087964  lr = 0xffff0000003693e0
>         sp = 0xffff0000698f45f0  fp = 0xffff0000698f4650
> 
> kdb_trap() at do_el1h_sync+0x90
>         pc = 0xffff0000003693e0  lr = 0xffff00000062956c
>         sp = 0xffff0000698f4660  fp = 0xffff0000698f4690
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff00000062956c  lr = 0xffff000000615074
>         sp = 0xffff0000698f46a0  fp = 0xffff0000698f47b0
> 
> handle_el1h_sync() at kdb_enter+0x38
>         pc = 0xffff000000615074  lr = 0xffff000000368ac8
>         sp = 0xffff0000698f47c0  fp = 0xffff0000698f4850
> 
> kdb_enter() at vpanic+0x180
>         pc = 0xffff000000368ac8  lr = 0xffff000000326dd8
>         sp = 0xffff0000698f4860  fp = 0xffff0000698f48d0
> 
> vpanic() at panic+0x48
>         pc = 0xffff000000326dd8  lr = 0xffff000000326c54
>         sp = 0xffff0000698f48e0  fp = 0xffff0000698f4960
> 
> panic() at data_abort+0x21c
>         pc = 0xffff000000326c54  lr = 0xffff0000006298e8
>         sp = 0xffff0000698f4970  fp = 0xffff0000698f4a20
> 
> data_abort() at do_el1h_sync+0xfc
>         pc = 0xffff0000006298e8  lr = 0xffff0000006295d8
>         sp = 0xffff0000698f4a30  fp = 0xffff0000698f4a60
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff0000006295d8  lr = 0xffff000000615074
>         sp = 0xffff0000698f4a70  fp = 0xffff0000698f4b80
> 
> handle_el1h_sync() at thread_lock_flags_+0x1a8
>         pc = 0xffff000000615074  lr = 0xffff000000309060
>         sp = 0xffff0000698f4b90  fp = 0xffff0000698f4c80
> 
> thread_lock_flags_() at statclock_cnt+0x11c
>         pc = 0xffff000000309060  lr = 0xffff0000002c5b90
>         sp = 0xffff0000698f4c90  fp = 0xffff0000698f4cb0
> 
> statclock_cnt() at handleevents+0x108
>         pc = 0xffff0000002c5b90  lr = 0xffff00000064ad84
>         sp = 0xffff0000698f4cc0  fp = 0xffff0000698f4d00
> 
> handleevents() at timercb+0xe0
>         pc = 0xffff00000064ad84  lr = 0xffff00000064b51c
>         sp = 0xffff0000698f4d10  fp = 0xffff0000698f4d80
> 
> timercb() at arm_tmr_intr+0x58
>         pc = 0xffff00000064b51c  lr = 0xffff000000600e5c
>         sp = 0xffff0000698f4d90  fp = 0xffff0000698f4d90
> 
> arm_tmr_intr() at intr_event_handle+0x64
>         pc = 0xffff000000600e5c  lr = 0xffff0000002edd50
>         sp = 0xffff0000698f4da0  fp = 0xffff0000698f4dd0
> 
> intr_event_handle() at intr_isrc_dispatch+0x30
>         pc = 0xffff0000002edd50  lr = 0xffff00000064d8ec
>         sp = 0xffff0000698f4de0  fp = 0xffff0000698f4df0
> 
> intr_isrc_dispatch() at arm_gic_intr+0xf0
>         pc = 0xffff00000064d8ec  lr = 0xffff000000601848
>         sp = 0xffff0000698f4e00  fp = 0xffff0000698f4e50
> 
> arm_gic_intr() at intr_irq_handler+0x60
>         pc = 0xffff000000601848  lr = 0xffff00000064d6e0
>         sp = 0xffff0000698f4e60  fp = 0xffff0000698f4e80
> 
> intr_irq_handler() at handle_el1h_irq+0x70
>         pc = 0xffff00000064d6e0  lr = 0xffff000000615130
>         sp = 0xffff0000698f4e90  fp = 0xffff0000698f4fa0
> 
> handle_el1h_irq() at ns8250_putc+0x2c
>         pc = 0xffff000000615130  lr = 0xffff00000019a570
>         sp = 0xffff0000698f4fb0  fp = 0xffff0000698f5050
> 
> ns8250_putc() at ns8250_putc+0x2c
>         pc = 0xffff00000019a570  lr = 0xffff00000019a570
>         sp = 0xffff0000698f5060  fp = 0xffff0000698f5080
> 
> ns8250_putc() at uart_cnputc+0x94
>         pc = 0xffff00000019a570  lr = 0xffff0000001a0860
>         sp = 0xffff0000698f5090  fp = 0xffff0000698f50c0
> 
> uart_cnputc() at cnputc+0x90
>         pc = 0xffff0000001a0860  lr = 0xffff0000002cb3a8
>         sp = 0xffff0000698f50d0  fp = 0xffff0000698f5120
> 
> cnputc() at cnputs+0xb4
>         pc = 0xffff0000002cb3a8  lr = 0xffff0000002cb7c8
>         sp = 0xffff0000698f5130  fp = 0xffff0000698f5150
> 
> cnputs() at putchar+0x158
>         pc = 0xffff0000002cb7c8  lr = 0xffff00000036f04c
>         sp = 0xffff0000698f5160  fp = 0xffff0000698f51e0
> 
> putchar() at kvprintf+0xda8
>         pc = 0xffff00000036f04c  lr = 0xffff00000036ec70
>         sp = 0xffff0000698f51f0  fp = 0xffff0000698f5300
> 
> kvprintf() at vprintf+0x7c
>         pc = 0xffff00000036ec70  lr = 0xffff00000036f838
>         sp = 0xffff0000698f5310  fp = 0xffff0000698f5420
> 
> vprintf() at printf+0x48
>         pc = 0xffff00000036f838  lr = 0xffff00000036f7ac
>         sp = 0xffff0000698f5430  fp = 0xffff0000698f54b0
> 
> printf() at print_registers+0x4c
>         pc = 0xffff00000036f7ac  lr = 0xffff00000062966c
>         sp = 0xffff0000698f54c0  fp = 0xffff0000698f54f0
> 
> print_registers() at data_abort+0x1f0
>         pc = 0xffff00000062966c  lr = 0xffff0000006298bc
>         sp = 0xffff0000698f5500  fp = 0xffff0000698f55b0
> 
> data_abort() at do_el1h_sync+0xfc
>         pc = 0xffff0000006298bc  lr = 0xffff0000006295d8
>         sp = 0xffff0000698f55c0  fp = 0xffff0000698f55f0
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff0000006295d8  lr = 0xffff000000615074
>         sp = 0xffff0000698f5600  fp = 0xffff0000698f5710
> 
> handle_el1h_sync() at sched_switch+0x54c
>         pc = 0xffff000000615074  lr = 0xffff000000351dd4
>         sp = 0xffff0000698f5720  fp = 0xffff0000698f5800
> 
> sched_switch() at mi_switch+0x118
>         pc = 0xffff000000351dd4  lr = 0xffff000000330c14
>         sp = 0xffff0000698f5810  fp = 0xffff0000698f5830
> 
> mi_switch() at taskqgroup_binder+0x74
>         pc = 0xffff000000330c14  lr = 0xffff000000367864
>         sp = 0xffff0000698f5840  fp = 0xffff0000698f5860
> 
> taskqgroup_binder() at gtaskqueue_run_locked+0x160
>         pc = 0xffff000000367864  lr = 0xffff000000367710
>         sp = 0xffff0000698f5870  fp = 0xffff0000698f58e0
> 
> gtaskqueue_run_locked() at gtaskqueue_thread_loop+0xcc
>         pc = 0xffff000000367710  lr = 0xffff0000003672c8
>         sp = 0xffff0000698f58f0  fp = 0xffff0000698f5910
> 
> gtaskqueue_thread_loop() at fork_exit+0x94
>         pc = 0xffff0000003672c8  lr = 0xffff0000002eab20
>         sp = 0xffff0000698f5920  fp = 0xffff0000698f5950
> 
> fork_exit() at fork_trampoline+0x10
>         pc = 0xffff0000002eab20  lr = 0xffff00000062934c
>         sp = 0xffff0000698f5960  fp = 0x0000000000000000
> 
> 
> Booting with a debug kernel worked fine. (This matches up
> with past reports about "recent" pine64+ handling.)
> 
> But trying to have the root file system on a USB SSD
> drive failed to see the USB drive at all. (This matches
> up with past reports about "recent" pine64+ handling.)
> 
> 
> From a separate non-debug kernel boot attempt:
> (remember the "thread_lock_flags_+0x298: ldr w4, [x3, #156]"
> but also note x8 in addition to x3)
> 
> db> show reg
> spsr        0x96000004000003c5
> x0          0xffff00000069b000  $d.2+0x1ac
> x1                         0x2
> x2          0xffff00000069ba48  $d.5+0x1d
> x3                  0xdeadc0d8 <<<<<<<<< Note the "0xdeadc0d8"
> x4                         0x3
> x5          0xffff000000610cf0  generic_bs_barrier
> x6                           0
> x7                        0x40  $d.14
> x8                  0xdeadc0de <<<<<<<<< Note the "0xdeadc0de"
> x9                           0
> x10                 0x975c860b
> x11                 0x975c860b
> x12                  0x51eb850
> x13                        0x4
> x14                       0x66  $d.9+0x26
> x15         0xffff0000007004ce  hex2ascii_data
> x16                          0
> x17                          0
> x18         0xffff00006990ec10
> x19         0xfffffd000103a000
> x20         0xffff000000bcee70  blocked_lock+0x18
> x21         0xffff00000080e5a8  sdt_lockstat___spin__release
> x22                  0x3938700
> x23         0xfffffd000103a000
> x24         0xffff000000bcee58  blocked_lock
> x25                        0x4
> x26                   0x98967f
> x27         0xffff0000009ef000  next_to_notify
> x28         0xffff000000bb9000  proc0+0x4f8
> x29         0xffff00006990ec80
> lr          0xffff000000309064  thread_lock_flags_+0x1ac
> elr         0xffff000000309154  thread_lock_flags_+0x29c
> sp          0xffff00006990ec10
> thread_lock_flags_+0x298:       ldr     w4, [x3, #156]
> db> bt
> Tracing pid 0 tid 100057 td 0xfffffd000103a000
> db_trace_self() at db_stack_trace+0xec
>         pc = 0xffff000000613688  lr = 0xffff000000084db4
>         sp = 0xffff00006990e260  fp = 0xffff00006990e290
> 
> db_stack_trace() at db_command+0x224
>         pc = 0xffff000000084db4  lr = 0xffff000000084a3c
>         sp = 0xffff00006990e2a0  fp = 0xffff00006990e380
> 
> db_command() at db_command_loop+0x60
>         pc = 0xffff000000084a3c  lr = 0xffff0000000847fc
>         sp = 0xffff00006990e390  fp = 0xffff00006990e3b0
> 
> db_command_loop() at db_trap+0xf4
>         pc = 0xffff0000000847fc  lr = 0xffff000000087964
>         sp = 0xffff00006990e3c0  fp = 0xffff00006990e5e0
> 
> db_trap() at kdb_trap+0x180
>         pc = 0xffff000000087964  lr = 0xffff0000003693e0
>         sp = 0xffff00006990e5f0  fp = 0xffff00006990e650
> 
> kdb_trap() at do_el1h_sync+0x90
>         pc = 0xffff0000003693e0  lr = 0xffff00000062956c
>         sp = 0xffff00006990e660  fp = 0xffff00006990e690
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff00000062956c  lr = 0xffff000000615074
>         sp = 0xffff00006990e6a0  fp = 0xffff00006990e7b0
> 
> handle_el1h_sync() at kdb_enter+0x38
>         pc = 0xffff000000615074  lr = 0xffff000000368ac8
>         sp = 0xffff00006990e7c0  fp = 0xffff00006990e850
> 
> kdb_enter() at vpanic+0x180
>         pc = 0xffff000000368ac8  lr = 0xffff000000326dd8
>         sp = 0xffff00006990e860  fp = 0xffff00006990e8d0
> 
> vpanic() at panic+0x48
>         pc = 0xffff000000326dd8  lr = 0xffff000000326c54
>         sp = 0xffff00006990e8e0  fp = 0xffff00006990e960
> 
> panic() at data_abort+0x21c
>         pc = 0xffff000000326c54  lr = 0xffff0000006298e8
>         sp = 0xffff00006990e970  fp = 0xffff00006990ea20
> 
> data_abort() at do_el1h_sync+0xfc
>         pc = 0xffff0000006298e8  lr = 0xffff0000006295d8
>         sp = 0xffff00006990ea30  fp = 0xffff00006990ea60
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff0000006295d8  lr = 0xffff000000615074
>         sp = 0xffff00006990ea70  fp = 0xffff00006990eb80
> 
> handle_el1h_sync() at thread_lock_flags_+0x1a8
>         pc = 0xffff000000615074  lr = 0xffff000000309060
>         sp = 0xffff00006990eb90  fp = 0xffff00006990ec80
> 
> thread_lock_flags_() at statclock_cnt+0x11c
>         pc = 0xffff000000309060  lr = 0xffff0000002c5b90
>         sp = 0xffff00006990ec90  fp = 0xffff00006990ecb0
> 
> statclock_cnt() at handleevents+0x108
>         pc = 0xffff0000002c5b90  lr = 0xffff00000064ad84
>         sp = 0xffff00006990ecc0  fp = 0xffff00006990ed00
> 
> handleevents() at timercb+0xe0
>         pc = 0xffff00000064ad84  lr = 0xffff00000064b51c
>         sp = 0xffff00006990ed10  fp = 0xffff00006990ed80
> 
> timercb() at arm_tmr_intr+0x58
>         pc = 0xffff00000064b51c  lr = 0xffff000000600e5c
>         sp = 0xffff00006990ed90  fp = 0xffff00006990ed90
> 
> arm_tmr_intr() at intr_event_handle+0x64
>         pc = 0xffff000000600e5c  lr = 0xffff0000002edd50
>         sp = 0xffff00006990eda0  fp = 0xffff00006990edd0
> 
> intr_event_handle() at intr_isrc_dispatch+0x30
>         pc = 0xffff0000002edd50  lr = 0xffff00000064d8ec
>         sp = 0xffff00006990ede0  fp = 0xffff00006990edf0
> 
> intr_isrc_dispatch() at arm_gic_intr+0xf0
>         pc = 0xffff00000064d8ec  lr = 0xffff000000601848
>         sp = 0xffff00006990ee00  fp = 0xffff00006990ee50
> 
> arm_gic_intr() at intr_irq_handler+0x60
>         pc = 0xffff000000601848  lr = 0xffff00000064d6e0
>         sp = 0xffff00006990ee60  fp = 0xffff00006990ee80
> 
> intr_irq_handler() at handle_el1h_irq+0x70
>         pc = 0xffff00000064d6e0  lr = 0xffff000000615130
>         sp = 0xffff00006990ee90  fp = 0xffff00006990efa0
> 
> handle_el1h_irq() at ns8250_putc+0x2c
>         pc = 0xffff000000615130  lr = 0xffff00000019a570
>         sp = 0xffff00006990efb0  fp = 0xffff00006990f050
> 
> ns8250_putc() at ns8250_putc+0x2c
>         pc = 0xffff00000019a570  lr = 0xffff00000019a570
>         sp = 0xffff00006990f060  fp = 0xffff00006990f080
> 
> ns8250_putc() at uart_cnputc+0x94
>         pc = 0xffff00000019a570  lr = 0xffff0000001a0860
>         sp = 0xffff00006990f090  fp = 0xffff00006990f0c0
> 
> uart_cnputc() at cnputc+0x90
>         pc = 0xffff0000001a0860  lr = 0xffff0000002cb3a8
>         sp = 0xffff00006990f0d0  fp = 0xffff00006990f120
> 
> cnputc() at cnputs+0xb4
>         pc = 0xffff0000002cb3a8  lr = 0xffff0000002cb7c8
>         sp = 0xffff00006990f130  fp = 0xffff00006990f150
> 
> cnputs() at putchar+0x158
>         pc = 0xffff0000002cb7c8  lr = 0xffff00000036f04c
>         sp = 0xffff00006990f160  fp = 0xffff00006990f1e0
> 
> putchar() at kvprintf+0xda8
>         pc = 0xffff00000036f04c  lr = 0xffff00000036ec70
>         sp = 0xffff00006990f1f0  fp = 0xffff00006990f300
> 
> kvprintf() at vprintf+0x7c
>         pc = 0xffff00000036ec70  lr = 0xffff00000036f838
>         sp = 0xffff00006990f310  fp = 0xffff00006990f420
> 
> vprintf() at printf+0x48
>         pc = 0xffff00000036f838  lr = 0xffff00000036f7ac
>         sp = 0xffff00006990f430  fp = 0xffff00006990f4b0
> 
> printf() at print_registers+0x4c
>         pc = 0xffff00000036f7ac  lr = 0xffff00000062966c
>         sp = 0xffff00006990f4c0  fp = 0xffff00006990f4f0
> 
> print_registers() at data_abort+0x1f0
>         pc = 0xffff00000062966c  lr = 0xffff0000006298bc
>         sp = 0xffff00006990f500  fp = 0xffff00006990f5b0
> 
> data_abort() at do_el1h_sync+0xfc
>         pc = 0xffff0000006298bc  lr = 0xffff0000006295d8
>         sp = 0xffff00006990f5c0  fp = 0xffff00006990f5f0
> 
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc = 0xffff0000006295d8  lr = 0xffff000000615074
>         sp = 0xffff00006990f600  fp = 0xffff00006990f710
> 
> handle_el1h_sync() at sched_switch+0x54c
>         pc = 0xffff000000615074  lr = 0xffff000000351dd4
>         sp = 0xffff00006990f720  fp = 0xffff00006990f800
> 
> sched_switch() at mi_switch+0x118
>         pc = 0xffff000000351dd4  lr = 0xffff000000330c14
>         sp = 0xffff00006990f810  fp = 0xffff00006990f830
> 
> mi_switch() at taskqgroup_binder+0x74
>         pc = 0xffff000000330c14  lr = 0xffff000000367864
>         sp = 0xffff00006990f840  fp = 0xffff00006990f860
> 
> taskqgroup_binder() at gtaskqueue_run_locked+0x160
>         pc = 0xffff000000367864  lr = 0xffff000000367710
>         sp = 0xffff00006990f870  fp = 0xffff00006990f8e0
> 
> gtaskqueue_run_locked() at gtaskqueue_thread_loop+0xcc
>         pc = 0xffff000000367710  lr = 0xffff0000003672c8
>         sp = 0xffff00006990f8f0  fp = 0xffff00006990f910
> 
> gtaskqueue_thread_loop() at fork_exit+0x94
>         pc = 0xffff0000003672c8  lr = 0xffff0000002eab20
>         sp = 0xffff00006990f920  fp = 0xffff00006990f950
> 
> fork_exit() at fork_trampoline+0x10
>         pc = 0xffff0000002eab20  lr = 0xffff00000062934c
>         sp = 0xffff00006990f960  fp = 0x0000000000000000

[Another issue was modern boot1.efi (as bootaa64.efi)
not working and so I'm using an old one (2016-Nov-7)
that I found that allows getting this far.]

A boot attempt with a older boot1.efi that works and a
debug kernel got:

. . .
Release APs
APs not started
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
 Instruction Set Attributes 0 = <AES+PMULL,SHA1,SHA2,CRC32>
 Instruction Set Attributes 1 = <0>
         Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <0>
      Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
      Memory Model Features 1 = <>
             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
             Debug Features 1 = <0>
         Auxiliary Features 0 = <0>
         Auxiliary Features 1 = <0>
CPU  1: (null) (null) r0p0 affinity:  0
CPU  2: (null) (null) r0p0 affinity:  0
CPU  3: (null) (null) r0p0 affinity:  0
panic: acquiring blockable sleep lock with spinlock or critical section held (sleep mutex) pmap @ /usr/src/sys/arm64/arm64/pmap.c:4710
cpuid = 0
time = 13
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff0000005efc78  lr = 0xffff000000088094
         sp = 0xffff000069850080  fp = 0xffff000069850290

db_trace_self_wrapper() at vpanic+0x164
         pc = 0xffff000000088094  lr = 0xffff00000031764c
         sp = 0xffff0000698502a0  fp = 0xffff000069850310

vpanic() at kassert_panic+0x15c
         pc = 0xffff00000031764c  lr = 0xffff0000003174e4
         sp = 0xffff000069850320  fp = 0xffff0000698503e0

kassert_panic() at witness_checkorder+0x160
         pc = 0xffff0000003174e4  lr = 0xffff000000374990
         sp = 0xffff0000698503f0  fp = 0xffff000069850470

witness_checkorder() at __mtx_lock_flags+0xa8
         pc = 0xffff000000374990  lr = 0xffff0000002f8b7c
         sp = 0xffff000069850480  fp = 0xffff0000698504b0

__mtx_lock_flags() at pmap_fault+0x40
         pc = 0xffff0000002f8b7c  lr = 0xffff000000606994
         sp = 0xffff0000698504c0  fp = 0xffff0000698504e0

pmap_fault() at data_abort+0xb8
         pc = 0xffff000000606994  lr = 0xffff000000608a9c
         sp = 0xffff0000698504f0  fp = 0xffff0000698505a0

data_abort() at do_el1h_sync+0xfc
         pc = 0xffff000000608a9c  lr = 0xffff0000006088f0
         sp = 0xffff0000698505b0  fp = 0xffff0000698505e0

do_el1h_sync() at handle_el1h_sync+0x74
         pc = 0xffff0000006088f0  lr = 0xffff0000005f1874
         sp = 0xffff0000698505f0  fp = 0xffff000069850700

handle_el1h_sync() at sched_switch+0x2a8
         pc = 0xffff0000005f1874  lr = 0xffff00000033f0c8
         sp = 0xffff000069850710  fp = 0xffff0000698507f0

sched_switch() at mi_switch+0x1b8
         pc = 0xffff00000033f0c8  lr = 0xffff00000032161c
         sp = 0xffff000069850800  fp = 0xffff000069850820

mi_switch() at taskqgroup_binder+0x7c
         pc = 0xffff00000032161c  lr = 0xffff00000035510c
         sp = 0xffff000069850830  fp = 0xffff000069850860

taskqgroup_binder() at gtaskqueue_run_locked+0x104
         pc = 0xffff00000035510c  lr = 0xffff000000354f74
         sp = 0xffff000069850870  fp = 0xffff0000698508e0

gtaskqueue_run_locked() at gtaskqueue_thread_loop+0x9c
         pc = 0xffff000000354f74  lr = 0xffff000000354d10
         sp = 0xffff0000698508f0  fp = 0xffff000069850910

gtaskqueue_thread_loop() at fork_exit+0x7c
         pc = 0xffff000000354d10  lr = 0xffff0000002dbd3c
         sp = 0xffff000069850920  fp = 0xffff000069850950

fork_exit() at fork_trampoline+0x10
         pc = 0xffff0000002dbd3c  lr = 0xffff000000608664
         sp = 0xffff000069850960  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 0 tid 100058 ]
Stopped at      sched_switch+0x2b8:     ldrb    w9, [x8, #894]
db> 

Unfortunately it was not taking console input so that is
all I got.

===
Mark Millard
markmi at dsl-only.net




More information about the freebsd-arm mailing list