Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Sep 2017 15:25:25 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   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
Message-ID:  <9DB26517-E4E0-4B2A-9855-9F7381AD4C66@dsl-only.net>
In-Reply-To: <8419C238-702D-4BF7-89DB-EC649CD405A5@dsl-only.net>
References:  <8419C238-702D-4BF7-89DB-EC649CD405A5@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
[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:

> . . .
>=20
> 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 .)
>=20
> . . .
> Release APs
> APs not started
> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
> Instruction Set Attributes 0 =3D <AES+PMULL,SHA1,SHA2,CRC32>
> Instruction Set Attributes 1 =3D <0>
>         Processor Features 0 =3D <AdvSIMD,Float,EL3 32,EL2 32,EL1 =
32,EL0 32>
>         Processor Features 1 =3D <0>
>      Memory Model Features 0 =3D <4k Granule,64k =
Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
>      Memory Model Features 1 =3D <>
>             Debug Features 0 =3D <2 CTX Breakpoints,4 Watchpoints,6 =
Breakpoints,PMUv3,Debug v8>
>             Debug Features 1 =3D <0>
>         Auxiliary Features 0 =3D <0>
>         Auxiliary Features 1 =3D <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 =3D 0xffff000000613688  lr =3D 0xffff000000084db4
>         sp =3D 0xffff0000698f4260  fp =3D 0xffff0000698f4290
>=20
> db_stack_trace() at db_command+0x224
>         pc =3D 0xffff000000084db4  lr =3D 0xffff000000084a3c
>         sp =3D 0xffff0000698f42a0  fp =3D 0xffff0000698f4380
>=20
> db_command() at db_command_loop+0x60
>         pc =3D 0xffff000000084a3c  lr =3D 0xffff0000000847fc
>         sp =3D 0xffff0000698f4390  fp =3D 0xffff0000698f43b0
>=20
> db_command_loop() at db_trap+0xf4
>         pc =3D 0xffff0000000847fc  lr =3D 0xffff000000087964
>         sp =3D 0xffff0000698f43c0  fp =3D 0xffff0000698f45e0
>=20
> db_trap() at kdb_trap+0x180
>         pc =3D 0xffff000000087964  lr =3D 0xffff0000003693e0
>         sp =3D 0xffff0000698f45f0  fp =3D 0xffff0000698f4650
>=20
> kdb_trap() at do_el1h_sync+0x90
>         pc =3D 0xffff0000003693e0  lr =3D 0xffff00000062956c
>         sp =3D 0xffff0000698f4660  fp =3D 0xffff0000698f4690
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff00000062956c  lr =3D 0xffff000000615074
>         sp =3D 0xffff0000698f46a0  fp =3D 0xffff0000698f47b0
>=20
> handle_el1h_sync() at kdb_enter+0x38
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000368ac8
>         sp =3D 0xffff0000698f47c0  fp =3D 0xffff0000698f4850
>=20
> kdb_enter() at vpanic+0x180
>         pc =3D 0xffff000000368ac8  lr =3D 0xffff000000326dd8
>         sp =3D 0xffff0000698f4860  fp =3D 0xffff0000698f48d0
>=20
> vpanic() at panic+0x48
>         pc =3D 0xffff000000326dd8  lr =3D 0xffff000000326c54
>         sp =3D 0xffff0000698f48e0  fp =3D 0xffff0000698f4960
>=20
> panic() at data_abort+0x21c
>         pc =3D 0xffff000000326c54  lr =3D 0xffff0000006298e8
>         sp =3D 0xffff0000698f4970  fp =3D 0xffff0000698f4a20
>=20
> data_abort() at do_el1h_sync+0xfc
>         pc =3D 0xffff0000006298e8  lr =3D 0xffff0000006295d8
>         sp =3D 0xffff0000698f4a30  fp =3D 0xffff0000698f4a60
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff0000006295d8  lr =3D 0xffff000000615074
>         sp =3D 0xffff0000698f4a70  fp =3D 0xffff0000698f4b80
>=20
> handle_el1h_sync() at thread_lock_flags_+0x1a8
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000309060
>         sp =3D 0xffff0000698f4b90  fp =3D 0xffff0000698f4c80
>=20
> thread_lock_flags_() at statclock_cnt+0x11c
>         pc =3D 0xffff000000309060  lr =3D 0xffff0000002c5b90
>         sp =3D 0xffff0000698f4c90  fp =3D 0xffff0000698f4cb0
>=20
> statclock_cnt() at handleevents+0x108
>         pc =3D 0xffff0000002c5b90  lr =3D 0xffff00000064ad84
>         sp =3D 0xffff0000698f4cc0  fp =3D 0xffff0000698f4d00
>=20
> handleevents() at timercb+0xe0
>         pc =3D 0xffff00000064ad84  lr =3D 0xffff00000064b51c
>         sp =3D 0xffff0000698f4d10  fp =3D 0xffff0000698f4d80
>=20
> timercb() at arm_tmr_intr+0x58
>         pc =3D 0xffff00000064b51c  lr =3D 0xffff000000600e5c
>         sp =3D 0xffff0000698f4d90  fp =3D 0xffff0000698f4d90
>=20
> arm_tmr_intr() at intr_event_handle+0x64
>         pc =3D 0xffff000000600e5c  lr =3D 0xffff0000002edd50
>         sp =3D 0xffff0000698f4da0  fp =3D 0xffff0000698f4dd0
>=20
> intr_event_handle() at intr_isrc_dispatch+0x30
>         pc =3D 0xffff0000002edd50  lr =3D 0xffff00000064d8ec
>         sp =3D 0xffff0000698f4de0  fp =3D 0xffff0000698f4df0
>=20
> intr_isrc_dispatch() at arm_gic_intr+0xf0
>         pc =3D 0xffff00000064d8ec  lr =3D 0xffff000000601848
>         sp =3D 0xffff0000698f4e00  fp =3D 0xffff0000698f4e50
>=20
> arm_gic_intr() at intr_irq_handler+0x60
>         pc =3D 0xffff000000601848  lr =3D 0xffff00000064d6e0
>         sp =3D 0xffff0000698f4e60  fp =3D 0xffff0000698f4e80
>=20
> intr_irq_handler() at handle_el1h_irq+0x70
>         pc =3D 0xffff00000064d6e0  lr =3D 0xffff000000615130
>         sp =3D 0xffff0000698f4e90  fp =3D 0xffff0000698f4fa0
>=20
> handle_el1h_irq() at ns8250_putc+0x2c
>         pc =3D 0xffff000000615130  lr =3D 0xffff00000019a570
>         sp =3D 0xffff0000698f4fb0  fp =3D 0xffff0000698f5050
>=20
> ns8250_putc() at ns8250_putc+0x2c
>         pc =3D 0xffff00000019a570  lr =3D 0xffff00000019a570
>         sp =3D 0xffff0000698f5060  fp =3D 0xffff0000698f5080
>=20
> ns8250_putc() at uart_cnputc+0x94
>         pc =3D 0xffff00000019a570  lr =3D 0xffff0000001a0860
>         sp =3D 0xffff0000698f5090  fp =3D 0xffff0000698f50c0
>=20
> uart_cnputc() at cnputc+0x90
>         pc =3D 0xffff0000001a0860  lr =3D 0xffff0000002cb3a8
>         sp =3D 0xffff0000698f50d0  fp =3D 0xffff0000698f5120
>=20
> cnputc() at cnputs+0xb4
>         pc =3D 0xffff0000002cb3a8  lr =3D 0xffff0000002cb7c8
>         sp =3D 0xffff0000698f5130  fp =3D 0xffff0000698f5150
>=20
> cnputs() at putchar+0x158
>         pc =3D 0xffff0000002cb7c8  lr =3D 0xffff00000036f04c
>         sp =3D 0xffff0000698f5160  fp =3D 0xffff0000698f51e0
>=20
> putchar() at kvprintf+0xda8
>         pc =3D 0xffff00000036f04c  lr =3D 0xffff00000036ec70
>         sp =3D 0xffff0000698f51f0  fp =3D 0xffff0000698f5300
>=20
> kvprintf() at vprintf+0x7c
>         pc =3D 0xffff00000036ec70  lr =3D 0xffff00000036f838
>         sp =3D 0xffff0000698f5310  fp =3D 0xffff0000698f5420
>=20
> vprintf() at printf+0x48
>         pc =3D 0xffff00000036f838  lr =3D 0xffff00000036f7ac
>         sp =3D 0xffff0000698f5430  fp =3D 0xffff0000698f54b0
>=20
> printf() at print_registers+0x4c
>         pc =3D 0xffff00000036f7ac  lr =3D 0xffff00000062966c
>         sp =3D 0xffff0000698f54c0  fp =3D 0xffff0000698f54f0
>=20
> print_registers() at data_abort+0x1f0
>         pc =3D 0xffff00000062966c  lr =3D 0xffff0000006298bc
>         sp =3D 0xffff0000698f5500  fp =3D 0xffff0000698f55b0
>=20
> data_abort() at do_el1h_sync+0xfc
>         pc =3D 0xffff0000006298bc  lr =3D 0xffff0000006295d8
>         sp =3D 0xffff0000698f55c0  fp =3D 0xffff0000698f55f0
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff0000006295d8  lr =3D 0xffff000000615074
>         sp =3D 0xffff0000698f5600  fp =3D 0xffff0000698f5710
>=20
> handle_el1h_sync() at sched_switch+0x54c
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000351dd4
>         sp =3D 0xffff0000698f5720  fp =3D 0xffff0000698f5800
>=20
> sched_switch() at mi_switch+0x118
>         pc =3D 0xffff000000351dd4  lr =3D 0xffff000000330c14
>         sp =3D 0xffff0000698f5810  fp =3D 0xffff0000698f5830
>=20
> mi_switch() at taskqgroup_binder+0x74
>         pc =3D 0xffff000000330c14  lr =3D 0xffff000000367864
>         sp =3D 0xffff0000698f5840  fp =3D 0xffff0000698f5860
>=20
> taskqgroup_binder() at gtaskqueue_run_locked+0x160
>         pc =3D 0xffff000000367864  lr =3D 0xffff000000367710
>         sp =3D 0xffff0000698f5870  fp =3D 0xffff0000698f58e0
>=20
> gtaskqueue_run_locked() at gtaskqueue_thread_loop+0xcc
>         pc =3D 0xffff000000367710  lr =3D 0xffff0000003672c8
>         sp =3D 0xffff0000698f58f0  fp =3D 0xffff0000698f5910
>=20
> gtaskqueue_thread_loop() at fork_exit+0x94
>         pc =3D 0xffff0000003672c8  lr =3D 0xffff0000002eab20
>         sp =3D 0xffff0000698f5920  fp =3D 0xffff0000698f5950
>=20
> fork_exit() at fork_trampoline+0x10
>         pc =3D 0xffff0000002eab20  lr =3D 0xffff00000062934c
>         sp =3D 0xffff0000698f5960  fp =3D 0x0000000000000000
>=20
>=20
> Booting with a debug kernel worked fine. (This matches up
> with past reports about "recent" pine64+ handling.)
>=20
> 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.)
>=20
>=20
> =46rom 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)
>=20
> 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 =3D 0xffff000000613688  lr =3D 0xffff000000084db4
>         sp =3D 0xffff00006990e260  fp =3D 0xffff00006990e290
>=20
> db_stack_trace() at db_command+0x224
>         pc =3D 0xffff000000084db4  lr =3D 0xffff000000084a3c
>         sp =3D 0xffff00006990e2a0  fp =3D 0xffff00006990e380
>=20
> db_command() at db_command_loop+0x60
>         pc =3D 0xffff000000084a3c  lr =3D 0xffff0000000847fc
>         sp =3D 0xffff00006990e390  fp =3D 0xffff00006990e3b0
>=20
> db_command_loop() at db_trap+0xf4
>         pc =3D 0xffff0000000847fc  lr =3D 0xffff000000087964
>         sp =3D 0xffff00006990e3c0  fp =3D 0xffff00006990e5e0
>=20
> db_trap() at kdb_trap+0x180
>         pc =3D 0xffff000000087964  lr =3D 0xffff0000003693e0
>         sp =3D 0xffff00006990e5f0  fp =3D 0xffff00006990e650
>=20
> kdb_trap() at do_el1h_sync+0x90
>         pc =3D 0xffff0000003693e0  lr =3D 0xffff00000062956c
>         sp =3D 0xffff00006990e660  fp =3D 0xffff00006990e690
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff00000062956c  lr =3D 0xffff000000615074
>         sp =3D 0xffff00006990e6a0  fp =3D 0xffff00006990e7b0
>=20
> handle_el1h_sync() at kdb_enter+0x38
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000368ac8
>         sp =3D 0xffff00006990e7c0  fp =3D 0xffff00006990e850
>=20
> kdb_enter() at vpanic+0x180
>         pc =3D 0xffff000000368ac8  lr =3D 0xffff000000326dd8
>         sp =3D 0xffff00006990e860  fp =3D 0xffff00006990e8d0
>=20
> vpanic() at panic+0x48
>         pc =3D 0xffff000000326dd8  lr =3D 0xffff000000326c54
>         sp =3D 0xffff00006990e8e0  fp =3D 0xffff00006990e960
>=20
> panic() at data_abort+0x21c
>         pc =3D 0xffff000000326c54  lr =3D 0xffff0000006298e8
>         sp =3D 0xffff00006990e970  fp =3D 0xffff00006990ea20
>=20
> data_abort() at do_el1h_sync+0xfc
>         pc =3D 0xffff0000006298e8  lr =3D 0xffff0000006295d8
>         sp =3D 0xffff00006990ea30  fp =3D 0xffff00006990ea60
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff0000006295d8  lr =3D 0xffff000000615074
>         sp =3D 0xffff00006990ea70  fp =3D 0xffff00006990eb80
>=20
> handle_el1h_sync() at thread_lock_flags_+0x1a8
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000309060
>         sp =3D 0xffff00006990eb90  fp =3D 0xffff00006990ec80
>=20
> thread_lock_flags_() at statclock_cnt+0x11c
>         pc =3D 0xffff000000309060  lr =3D 0xffff0000002c5b90
>         sp =3D 0xffff00006990ec90  fp =3D 0xffff00006990ecb0
>=20
> statclock_cnt() at handleevents+0x108
>         pc =3D 0xffff0000002c5b90  lr =3D 0xffff00000064ad84
>         sp =3D 0xffff00006990ecc0  fp =3D 0xffff00006990ed00
>=20
> handleevents() at timercb+0xe0
>         pc =3D 0xffff00000064ad84  lr =3D 0xffff00000064b51c
>         sp =3D 0xffff00006990ed10  fp =3D 0xffff00006990ed80
>=20
> timercb() at arm_tmr_intr+0x58
>         pc =3D 0xffff00000064b51c  lr =3D 0xffff000000600e5c
>         sp =3D 0xffff00006990ed90  fp =3D 0xffff00006990ed90
>=20
> arm_tmr_intr() at intr_event_handle+0x64
>         pc =3D 0xffff000000600e5c  lr =3D 0xffff0000002edd50
>         sp =3D 0xffff00006990eda0  fp =3D 0xffff00006990edd0
>=20
> intr_event_handle() at intr_isrc_dispatch+0x30
>         pc =3D 0xffff0000002edd50  lr =3D 0xffff00000064d8ec
>         sp =3D 0xffff00006990ede0  fp =3D 0xffff00006990edf0
>=20
> intr_isrc_dispatch() at arm_gic_intr+0xf0
>         pc =3D 0xffff00000064d8ec  lr =3D 0xffff000000601848
>         sp =3D 0xffff00006990ee00  fp =3D 0xffff00006990ee50
>=20
> arm_gic_intr() at intr_irq_handler+0x60
>         pc =3D 0xffff000000601848  lr =3D 0xffff00000064d6e0
>         sp =3D 0xffff00006990ee60  fp =3D 0xffff00006990ee80
>=20
> intr_irq_handler() at handle_el1h_irq+0x70
>         pc =3D 0xffff00000064d6e0  lr =3D 0xffff000000615130
>         sp =3D 0xffff00006990ee90  fp =3D 0xffff00006990efa0
>=20
> handle_el1h_irq() at ns8250_putc+0x2c
>         pc =3D 0xffff000000615130  lr =3D 0xffff00000019a570
>         sp =3D 0xffff00006990efb0  fp =3D 0xffff00006990f050
>=20
> ns8250_putc() at ns8250_putc+0x2c
>         pc =3D 0xffff00000019a570  lr =3D 0xffff00000019a570
>         sp =3D 0xffff00006990f060  fp =3D 0xffff00006990f080
>=20
> ns8250_putc() at uart_cnputc+0x94
>         pc =3D 0xffff00000019a570  lr =3D 0xffff0000001a0860
>         sp =3D 0xffff00006990f090  fp =3D 0xffff00006990f0c0
>=20
> uart_cnputc() at cnputc+0x90
>         pc =3D 0xffff0000001a0860  lr =3D 0xffff0000002cb3a8
>         sp =3D 0xffff00006990f0d0  fp =3D 0xffff00006990f120
>=20
> cnputc() at cnputs+0xb4
>         pc =3D 0xffff0000002cb3a8  lr =3D 0xffff0000002cb7c8
>         sp =3D 0xffff00006990f130  fp =3D 0xffff00006990f150
>=20
> cnputs() at putchar+0x158
>         pc =3D 0xffff0000002cb7c8  lr =3D 0xffff00000036f04c
>         sp =3D 0xffff00006990f160  fp =3D 0xffff00006990f1e0
>=20
> putchar() at kvprintf+0xda8
>         pc =3D 0xffff00000036f04c  lr =3D 0xffff00000036ec70
>         sp =3D 0xffff00006990f1f0  fp =3D 0xffff00006990f300
>=20
> kvprintf() at vprintf+0x7c
>         pc =3D 0xffff00000036ec70  lr =3D 0xffff00000036f838
>         sp =3D 0xffff00006990f310  fp =3D 0xffff00006990f420
>=20
> vprintf() at printf+0x48
>         pc =3D 0xffff00000036f838  lr =3D 0xffff00000036f7ac
>         sp =3D 0xffff00006990f430  fp =3D 0xffff00006990f4b0
>=20
> printf() at print_registers+0x4c
>         pc =3D 0xffff00000036f7ac  lr =3D 0xffff00000062966c
>         sp =3D 0xffff00006990f4c0  fp =3D 0xffff00006990f4f0
>=20
> print_registers() at data_abort+0x1f0
>         pc =3D 0xffff00000062966c  lr =3D 0xffff0000006298bc
>         sp =3D 0xffff00006990f500  fp =3D 0xffff00006990f5b0
>=20
> data_abort() at do_el1h_sync+0xfc
>         pc =3D 0xffff0000006298bc  lr =3D 0xffff0000006295d8
>         sp =3D 0xffff00006990f5c0  fp =3D 0xffff00006990f5f0
>=20
> do_el1h_sync() at handle_el1h_sync+0x74
>         pc =3D 0xffff0000006295d8  lr =3D 0xffff000000615074
>         sp =3D 0xffff00006990f600  fp =3D 0xffff00006990f710
>=20
> handle_el1h_sync() at sched_switch+0x54c
>         pc =3D 0xffff000000615074  lr =3D 0xffff000000351dd4
>         sp =3D 0xffff00006990f720  fp =3D 0xffff00006990f800
>=20
> sched_switch() at mi_switch+0x118
>         pc =3D 0xffff000000351dd4  lr =3D 0xffff000000330c14
>         sp =3D 0xffff00006990f810  fp =3D 0xffff00006990f830
>=20
> mi_switch() at taskqgroup_binder+0x74
>         pc =3D 0xffff000000330c14  lr =3D 0xffff000000367864
>         sp =3D 0xffff00006990f840  fp =3D 0xffff00006990f860
>=20
> taskqgroup_binder() at gtaskqueue_run_locked+0x160
>         pc =3D 0xffff000000367864  lr =3D 0xffff000000367710
>         sp =3D 0xffff00006990f870  fp =3D 0xffff00006990f8e0
>=20
> gtaskqueue_run_locked() at gtaskqueue_thread_loop+0xcc
>         pc =3D 0xffff000000367710  lr =3D 0xffff0000003672c8
>         sp =3D 0xffff00006990f8f0  fp =3D 0xffff00006990f910
>=20
> gtaskqueue_thread_loop() at fork_exit+0x94
>         pc =3D 0xffff0000003672c8  lr =3D 0xffff0000002eab20
>         sp =3D 0xffff00006990f920  fp =3D 0xffff00006990f950
>=20
> fork_exit() at fork_trampoline+0x10
>         pc =3D 0xffff0000002eab20  lr =3D 0xffff00000062934c
>         sp =3D 0xffff00006990f960  fp =3D 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 =3D <AES+PMULL,SHA1,SHA2,CRC32>
 Instruction Set Attributes 1 =3D <0>
         Processor Features 0 =3D <AdvSIMD,Float,EL3 32,EL2 32,EL1 =
32,EL0 32>
         Processor Features 1 =3D <0>
      Memory Model Features 0 =3D <4k Granule,64k =
Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
      Memory Model Features 1 =3D <>
             Debug Features 0 =3D <2 CTX Breakpoints,4 Watchpoints,6 =
Breakpoints,PMUv3,Debug v8>
             Debug Features 1 =3D <0>
         Auxiliary Features 0 =3D <0>
         Auxiliary Features 1 =3D <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 =3D 0
time =3D 13
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc =3D 0xffff0000005efc78  lr =3D 0xffff000000088094
         sp =3D 0xffff000069850080  fp =3D 0xffff000069850290

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9DB26517-E4E0-4B2A-9855-9F7381AD4C66>