Re: Updating to head -r357419 vs. Orange Pi+ 2ed and vs. 32-bit powerpc FreeBSD on PowerMacs: early boot failure via uma_zalloc_arg() for cache_alloc()

Mark Millard via freebsd-ppc <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
[32-bit powerpc non-debug kernel too, also for
updating head -r356426 based to -r357419 based.]

On 2020-Feb-2, at 22:09, Mark Millard <marklmi atyahoo.com> wrote:

> After updating from head -r356426 based to
> head -r357419 based, the armv7 example
> crashes rather early in the boot sequence:
> (a non-debug kernel context)
> 
> ---<<BOOT>>---
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2020 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>        The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 13.0-CURRENT #23 r357419M: Sun Feb  2 18:27:00 PST 2020
>    markmi@FBSDFHUGE:/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7/sys/GENERIC-NODBG arm
> FreeBSD clang version 9.0.1 ([email protected]:llvm/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
> VT: init without driver.
> Fatal kernel mode data abort: 'Translation Fault (L1)' on read
> trapframe: 0xc0e14cf0
> FSR=00000005, FAR=00000150, spsr=000000d3
> r0 =00000000, r1 =00000000, r2 =00000001, r3 =c0b55520
> r4 =00000150, r5 =00000002, r6 =c510dca0, r7 =c096dc60
> r8 =00000001, r9 =c0970fc0, r10=00000000, r11=c0e14da0
> r12=00a00010, ssp=c0e14d80, slr=c0631f90, pc =c06313b8
> 
> panic: Fatal abort
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
>         pc = 0xc06789fc  lr = 0xc007f710 (db_trace_self_wrapper+0x30)
>         sp = 0xc0e14ac8  fp = 0xc0e14be0
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
>         pc = 0xc007f710  lr = 0xc02e6e4c (vpanic+0x174)
>         sp = 0xc0e14be8  fp = 0xc0e14c08
>         r4 = 0x00000100  r5 = 0xc0b55520
>         r6 = 0xc07cb7f7  r7 = 0x00000000
> vpanic() at vpanic+0x174
>         pc = 0xc02e6e4c  lr = 0xc02e6cd8 (vpanic)
>         sp = 0xc0e14c10  fp = 0xc0e14c14
>         r4 = 0xc0e14cf0  r5 = 0x00000013
>         r6 = 0x00000150  r7 = 0x00000005
>         r8 = 0x00000005  r9 = 0xc0b55520
>        r10 = 0x00000150
> vpanic() at vpanic
>         pc = 0xc02e6cd8  lr = 0xc069c5a0 (abort_align)
>         sp = 0xc0e14c1c  fp = 0xc0e14c48
>         r4 = 0x00000005  r5 = 0x00000005
>         r6 = 0xc0b55520  r7 = 0x00000150
>         r8 = 0xc0e14c14  r9 = 0xc02e6cd8
>        r10 = 0xc0e14c1c
> abort_align() at abort_align
>         pc = 0xc069c5a0  lr = 0xc069c14c (abort_handler+0x2f8)
>         sp = 0xc0e14c50  fp = 0xc0e14ce8
>         r4 = 0x00000013  r5 = 0x00000150
> abort_handler() at abort_handler+0x2f8
>         pc = 0xc069c14c  lr = 0xc067b348 (exception_exit)
>         sp = 0xc0e14cf0  fp = 0xc0e14da0
>         r4 = 0x00000150  r5 = 0x00000002
>         r6 = 0xc510dca0  r7 = 0xc096dc60
>         r8 = 0x00000001  r9 = 0xc0970fc0
>        r10 = 0x00000000
> exception_exit() at exception_exit
>         pc = 0xc067b348  lr = 0xc0631f90 (cache_alloc+0x5c4)
>         sp = 0xc0e14d80  fp = 0xc0e14da0
>         r0 = 0x00000000  r1 = 0x00000000
>         r2 = 0x00000001  r3 = 0xc0b55520
>         r4 = 0x00000150  r5 = 0x00000002
>         r6 = 0xc510dca0  r7 = 0xc096dc60
>         r8 = 0x00000001  r9 = 0xc0970fc0
>        r10 = 0x00000000 r12 = 0x00a00010
> uma_zalloc_arg() at uma_zalloc_arg+0x50
>         pc = 0xc06313b8  lr = 0xc0631f90 (cache_alloc+0x5c4)
>         sp = 0xc0e14da8  fp = 0xc0e14df0
>         r4 = 0xc510dc80  r5 = 0x00000002
>         r6 = 0xc510dca0  r7 = 0xc096dc60
>         r8 = 0x00000000  r9 = 0xc510dca0
>        r10 = 0xffffffff
> cache_alloc() at cache_alloc+0x5c4
>         pc = 0xc0631f90  lr = 0xc06313dc (uma_zalloc_arg+0x74)
>         sp = 0xc0e14df8  fp = 0xc0e14e18
>         r4 = 0x00000150  r5 = 0x00000000
>         r6 = 0xc510dc80  r7 = 0x000050b0
>         r8 = 0x00000002  r9 = 0xc0970fc0
>        r10 = 0xc510dc80
> uma_zalloc_arg() at uma_zalloc_arg+0x74
>         pc = 0xc06313dc  lr = 0xc02c117c (malloc+0x70)
>         sp = 0xc0e14e20  fp = 0xc0e14e48
>         r4 = 0xc0b554f0  r5 = 0xc0995b6c
>         r6 = 0xc510dc80  r7 = 0x000050b0
>         r8 = 0xc0945088  r9 = 0x00000002
>        r10 = 0x0000000b
> malloc() at malloc+0x70
>         pc = 0xc02c117c  lr = 0xc02c6dd4 (mtx_pool_setup_dynamic+0x1c)
>         sp = 0xc0e14e50  fp = 0xc0e14e60
>         r4 = 0xc0b554f0  r5 = 0xc0995b6c
>         r6 = 0x00000000  r7 = 0x00800001
>         r8 = 0xc0b554fc  r9 = 0x01ac0000
>        r10 = 0xc0b55500
> mtx_pool_setup_dynamic() at mtx_pool_setup_dynamic+0x1c
>         pc = 0xc02c6dd4  lr = 0xc026f490 (mi_startup+0x2a0)
>         sp = 0xc0e14e68  fp = 0xc0e14e90
>         r4 = 0xc0b554f0  r5 = 0xc0995b6c
>         r6 = 0x00000000  r7 = 0x00800001
> mi_startup() at mi_startup+0x2a0
>         pc = 0xc026f490  lr = 0xc00002c4 (_start+0x144)
>         sp = 0xc0e14e98  fp = 0x00000000
>         r4 = 0xc00003f8  r5 = 0xc0bb0000
>         r6 = 0x00000000  r7 = 0x00c52078
>         r8 = 0xc0d83000  r9 = 0x00000000
>        r10 = 0x0000000a
> _start() at _start+0x144
>         pc = 0xc00002c4  lr = 0xc00002c4 (_start+0x144)
>         sp = 0xc0e14e98  fp = 0x00000000
> KDB: enter: panic
> [ thread pid 0 tid 0 ]
> Stopped at      kdb_enter+0x58: ldrb    r15, [r15, r15, ror r15]!

32-bit powerpc FreeBSD head -r357419 booting G5 powerpc64 PowerMac
(2 sockets, 1 core each): same sort of traceback sequence for a data
storage trap.

32-bit powerpc FreeBSD head -r357419 booting G4 powerpc PowerMac
(2 sockets, 1 core each): backtrace is truncated, reporting
that the saved LR is invalid (an odd number) for a program
trap. But it was just as early as far as where the message
appeared.

I have not tried powerpc64 FreeBSD head -r357419 on an old
PowerMac. (Yet?)

Note: PowerMacs do not take input to the bd> prompt this
early.

Note: Both of these PowerMac reports are for kern.vty=vt ,
because for kern.vty=sc the output stopped before any backtrace
showed.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.