Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: panic: kernel diagnostic assertion "l == curlwp"



KASSERT-aside, I am left wondering based on that stack trace how copyout on aarch64 can fail here at all (that seems to be the only way that lwp_exit from sys__lwp_create can happen).

On Sat, 6 Jun 2020, Jason Thorpe wrote:

+rmind@
+ad@

On Jun 6, 2020, at 5:00 AM, Jared McNeill <jmcneill%invisible.ca@localhost> wrote:

Looks like I hit another one on this path with your latest fix in place:

[ 3737.4034537] panic: kernel diagnostic assertion "l == curlwp || ((l->l_flag & LW_SYSTEM) && pcu_valid == 0)" failed: file "/home/source/ab/HEAD/src/sys/kern/subr_pcu.c", line 133

This assertion was added in rev 1.18 by Mindaugas, 6 years ago.  It obviously needs to be adjusted to handle the "lwp creation failed", but I'd have to study that code a lot more before I feel comfortable doing so.

[ 3737.4134523] cpu18: Begin traceback...
[ 3737.4234525] trace fp ffffc0086cad0c50
[ 3737.4234525] fp ffffc0086cad0c70 vpanic() at ffffc000004b230c netbsd:vpanic+0x15c
[ 3737.4334526] fp ffffc0086cad0ce0 kern_assert() at ffffc000007d052c netbsd:kern_assert+0x5c
[ 3737.4434535] fp ffffc0086cad0d70 pcu_discard_all() at ffffc000004a9a58 netbsd:pcu_discard_all+0x58
[ 3737.4534583] fp ffffc0086cad0d90 lwp_exit() at ffffc00000461558 netbsd:lwp_exit+0x1b0
[ 3737.4534583] fp ffffc0086cad0dd0 sys__lwp_create() at ffffc000004c4ed8 netbsd:sys__lwp_create+0xe8
[ 3737.4634613] fp ffffc0086cad0e20 syscall() at ffffc0000008a624 netbsd:syscall+0x18c
[ 3737.4734599] tf ffffc0086cad0ed0 el0_trap() at ffffc00000088c34 netbsd:el0_trap

-- thorpej





Home | Main Index | Thread Index | Old Index