Date: Wed, 3 Aug 2022 17:28:21 +0100 From: Andrew Turner <andrew@fubar.geek.nz> To: John F Carr <jfc@mit.edu> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: ARM64 system error Message-ID: <F6E2F3DF-419C-41D2-8AA0-2223093B5E49@fubar.geek.nz> In-Reply-To: <82D60642-4087-4EED-B790-F8FE81A188C5@mit.edu> References: <82D60642-4087-4EED-B790-F8FE81A188C5@mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 31 Jul 2022, at 17:55, John F Carr <jfc@mit.edu> wrote: >=20 > My OverDrive 1000 (Cortex A57) running CURRENT just crashed with the = unhelpful message "panic: Unhandled System Error". Is there any way to = get better information? The ESR value bf000000 translates to "system = error with implementation-defined code 0" so that's not much use. The = instruction associated with the interrupt can't fault ("subs w22, w22, = #0x1") so it must be an asynchronous error. On other systems I've seen = bits you can test or registers you can read to get details. By my reading of the Cortex-A57 documentation [1] I think the ESR value = shows the exception can be attributed to the current core, is = containable to a given code sequence, and is a decode error. It=E2=80=99s likely due to msk_phy_readreg accessing the phy, but it = doesn=E2=80=99t respond quickly enough. Does an older kernel boot? If so can you try bisecting to find which = commit caused the panic. Andrew [1] Bottom of = https://developer.arm.com/documentation/ddi0488/h/system-control/aarch64-r= egister-descriptions/exception-syndrome-register--el1-and-el3?lang=3Den >=20 > x0: 0 > x1: ffff0000b55bd000 (crypto_dev + b3f34ec0) > x2: 2880 > x3: 20 > x4: d3 > x5: 0 > x6: 100 > x7: ffff00011063daa0 > x8: ffff00000077218c (generic_bs_r_2 + 0) > x9: 2880 > x10: ffff0000001ff9f4 (msk_phy_readreg + 84) > x11: a0000045 > x12: 56000000 > x13: 5e4a6f28 > x14: ffff000000c4d038 (vnet_entry_ipport_stoprandom + 0) > x15: ffffa000016b3000 > x16: 40ef9400 > x17: a > x18: ffff0000b550e560 (crypto_dev + b3e86420) > x19: ffff0000b57dc000 (crypto_dev + b4153ec0) > x20: ffffa000029dc800 > x21: 2880 > x22: 3c4 > x23: 796d > x24: ffffa000017f4100 > x25: ffff000000ad3da0 (miibus_readreg_desc + 0) > x26: ffff000000bb6000 (vop_deallocate_desc + 28) > x27: ffff000000e36980 (cc_cpu + 80) > x28: ffff000000b1b828 (lock_class_mtx_sleep + 0) > x29: ffff0000b550e670 (crypto_dev + b3e86530) > sp: ffff0000b550e560 > lr: ffff0000001ff9f0 (msk_phy_readreg + 80) > elr: ffff00000077806c (handle_el1h_irq + 8) > spsr: a00002c5 > far: 0 > esr: bf000000 > panic: Unhandled System Error > cpuid =3D 2 > time =3D 1659270153 > KDB: stack backtrace: > db_trace_self() at db_trace_self > db_trace_self_wrapper() at db_trace_self_wrapper+0x30 > vpanic() at vpanic+0x13c > panic() at panic+0x44 > do_serror() at do_serror+0x40 > handle_serror() at handle_serror+0x38 > --- system error, esr 0xbf000000 > handle_el1h_irq() at handle_el1h_irq+0x8 > --- interrupt > msk_phy_readreg() at msk_phy_readreg+0x84 > e1000phy_status() at e1000phy_status+0x114 > e1000phy_service() at e1000phy_service+0x420 > mii_tick() at mii_tick+0x50 > msk_tick() at msk_tick+0x44 > softclock_call_cc() at softclock_call_cc+0x128 > softclock_thread() at softclock_thread+0xc4 > fork_exit() at fork_exit+0x74 > fork_trampoline() at fork_trampoline+0x14 > KDB: enter: panic > [ thread pid 2 tid 100026 ] > Stopped at kdb_enter+0x44: undefined f907c27f >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F6E2F3DF-419C-41D2-8AA0-2223093B5E49>