Re: RockPRO64 exception 22 esr_el1 8a000000

2022-05-19 Thread Andrew Turner


> On 19 May 2022, at 07:26, Poul-Henning Kamp  wrote:
> 
> I managed to capture the full console output this time:
> 
>   Fatal data abort:
> x0:0
> x1:6
> x2:0
> x3:0
> x4:0
> x5: a000beeb9b98
> x6:   ff
> x7: a0c2e100
> x8: a000b79305a8
> x9:0
>x10:2
>x11:0
>x12:0
>x13:0
>x14: a0ce3700
>x15:0
>x16: e5cbfff8 (_DYNAMIC + 4a0)
>x17: 00589828 (sosend + 0)
>x18: e6707490 (ratelimit_v6 + a37280)
>x19:0
>x20: e6707518 (ratelimit_v6 + a37308)
>x21:0
>x22:0
>x23:   14
>x24:   40
>x25: e6707538 (ratelimit_v6 + a37328)
>x26:0
>x27:0
>x28: a00081055d3c
>x29: e6707490 (ratelimit_v6 + a37280)
> sp: e6707490
> lr: 00657724 (fib4_lookup + 40)
>elr:0
>   spsr: 6045
>far:0
>esr: 8604
>   panic: vm_fault failed: 0 error 1
>   cpuid = 4
>   time = 1652940940
>   KDB: stack backtrace:
>   db_trace_self() at db_trace_self
>   db_trace_self_wrapper() at db_trace_self_wrapper+0x30
>   vpanic() at vpanic+0x174
>   panic() at panic+0x44
>   data_abort() at data_abort+0x2c4
>   handle_el1h_sync() at handle_el1h_sync+0x10
>   --- exception, esr 0x8604
>   (null)() at 0
>   ip_output() at ip_output+0x9a4
>   udp_send() at udp_send+0xb5c
>   sosend_dgram() at sosend_dgram+0x4a4
>   sosend() at sosend+0x2c
>   wg_send() at wg_send+0x108
>   wg_deliver_out() at wg_deliver_out+0x17c
>   gtaskqueue_run_locked() at gtaskqueue_run_locked+0x17c
>   gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x130
>   fork_exit() at fork_exit+0x88
>   fork_trampoline() at fork_trampoline+0x14
>   KDB: enter: panic
>   [ thread pid 0 tid 100280 ]
>   Stopped at  kdb_enter+0x40: undefined   f907827f
>   db> 

This looks like the kernel is jumping to a NULL pointer.

Looking at fib4_lookup + 40 on a recent kernel leads me to believe the issue is 
likely due to dp->f being invalid.

Andrew


Re: RockPRO64 exception 22 esr_el1 8a000000

2022-05-19 Thread Poul-Henning Kamp
I managed to capture the full console output this time:

Fatal data abort:
  x0:0
  x1:6
  x2:0
  x3:0
  x4:0
  x5: a000beeb9b98
  x6:   ff
  x7: a0c2e100
  x8: a000b79305a8
  x9:0
 x10:2
 x11:0
 x12:0
 x13:0
 x14: a0ce3700
 x15:0
 x16: e5cbfff8 (_DYNAMIC + 4a0)
 x17: 00589828 (sosend + 0)
 x18: e6707490 (ratelimit_v6 + a37280)
 x19:0
 x20: e6707518 (ratelimit_v6 + a37308)
 x21:0
 x22:0
 x23:   14
 x24:   40
 x25: e6707538 (ratelimit_v6 + a37328)
 x26:0
 x27:0
 x28: a00081055d3c
 x29: e6707490 (ratelimit_v6 + a37280)
  sp: e6707490
  lr: 00657724 (fib4_lookup + 40)
 elr:0
spsr: 6045
 far:0
 esr: 8604
panic: vm_fault failed: 0 error 1
cpuid = 4
time = 1652940940
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x174
panic() at panic+0x44
data_abort() at data_abort+0x2c4
handle_el1h_sync() at handle_el1h_sync+0x10
--- exception, esr 0x8604
(null)() at 0
ip_output() at ip_output+0x9a4
udp_send() at udp_send+0xb5c
sosend_dgram() at sosend_dgram+0x4a4
sosend() at sosend+0x2c
wg_send() at wg_send+0x108
wg_deliver_out() at wg_deliver_out+0x17c
gtaskqueue_run_locked() at gtaskqueue_run_locked+0x17c
gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x130
fork_exit() at fork_exit+0x88
fork_trampoline() at fork_trampoline+0x14
KDB: enter: panic
[ thread pid 0 tid 100280 ]
Stopped at  kdb_enter+0x40: undefined   f907827f
db> 


Poul-Henning Kamp writes:
> With GENERIC-NODEBUG 14.0-CURRENT #10 main-n255667-9b88ecd674a
>
> I reproducibly get:
>
>   panic: Unknown kernel exception 22 esr_el1 8a00
>
> Happens in:
>
>   ip_output() at ip_output+0x9a4
>   udp_send() at udp_send+0xb5c
>   sosend_dgram() at sosend_dgram+0x4a4
>   [...]
>
> As I understand it, that is in "undefined instruction" territory,
> so it could be anything from LLVM over compiler flags to kernel ?
>
> -- 
> Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
> p...@freebsd.org | TCP/IP since RFC 956
> FreeBSD committer   | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by incompetence.

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
p...@freebsd.org | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.