Re: RPI4 panic on boot with -current

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 2022-Apr-8, at 18:53, bob prohaska <[email protected]> wrote:

> Might this be related to "RPi4B's got a PMIC replacement,..." reported 4/3 ?

No: See the later note about the RPi4B Revision.

> A Pi4 (mechanical disk only, no microsd) trying to boot a fresh build of 
> -current reports:
> 
> Resetting system ... 
> 
> U-Boot 2020.10 (Mar 04 2021 - 04:32:31 +0000)

This is an old U-Boot compared to sysutils/u-boot-* .
There may well be good reasons for using it, for all
I know.

sysutils/u-boot-* got 2021.04 on 2021-Apr-06.
sysutils/u-boot-* got 2021.07 on 2021-Jul-07.

sysutils/u-boot-* got a patch to fix MMC ordering
because 2021.07 had changed something the port
depended on for the ordering, if I udnerstand right.
This update was on 2021-Nov-09.

I do not know if any of the more up to date vintages
would be more appropriate or not.

I can not tell which of the following is in use:

sysutils/u-boot-rpi-arm64
vs.
sysutils/u-boot-rpi-rpi4

The 2021-Nov-09 patching changed both to explicitly
have:

U_BOOT_SLAVE_PORTREVISION_2021.07=	1

in addition to the extra patch.

> DRAM:  7.9 GiB
> RPI 4 Model B (0xd03114)

An RPi4B with the new PMIC would jave the 0x... end in 15,
instead of 14. This is a RPi4B Rev 1.4 (the 14). [The d
is the 8 GiByte indication.] A RPi4B with the new PMIC
would be Rev. 1.5 at this point (15).

> MMC:   mmc@7e300000: 1, emmc2@7e340000: 0
> Loading Environment from FAT... sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_send_command: MMC: 1 busy timeout increasing to: 200 ms.
> sdhci_send_command: MMC: 1 busy timeout increasing to: 400 ms.
> sdhci_send_command: MMC: 1 busy timeout increasing to: 800 ms.
> sdhci_send_command: MMC: 1 busy timeout increasing to: 1600 ms.
> sdhci_send_command: MMC: 1 busy timeout increasing to: 3200 ms.
> sdhci_send_command: MMC: 1 busy timeout.

I've no clue about the above lines --or related material below.

> In:    serial
> Out:   vidconsole
> Err:   vidconsole
> Net:   eth0: ethernet@7d580000
> PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
> starting USB...
> Bus xhci_pci: Register 5000420 NbrPorts 5
> Starting the controller
> USB XHCI 1.00
> scanning bus xhci_pci for devices... 6 USB Device(s) found
>       scanning usb for storage devices... 1 Storage Device(s) found
> Hit any key to stop autoboot:  0 
> Card did not respond to voltage select!
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_send_command: MMC: 1 busy timeout.
> 
> Device 0: Vendor: SABRENT  Rev: 0204 Prod: 
>            Type: Hard Disk
>            Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)
> ... is now current device
> Scanning usb 0:1...
> Found EFI removable media binary efi/boot/bootaa64.efi
> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_set_clock: Timeout to wait cmd & data inhibit
> sdhci_send_command: MMC: 1 busy timeout.
> Scanning disk [email protected]...
> Disk [email protected] not ready
> Card did not respond to voltage select!
> Scanning disk [email protected]...
> Disk [email protected] not ready
> Scanning disk usb_mass_storage.lun0...
> ** Unrecognized filesystem type **
> Found 3 disks
> No EFI system partition
> BootOrder not defined
> EFI boot manager: Cannot load any image
> 1259292 bytes read in 5 ms (240.2 MiB/s)
> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> Booting /efi\boot\bootaa64.efi
> 
> [whitespace trimmed]
> 
> Consoles: EFI console  
>    Reading loader env vars from /efi/freebsd/loader.env
> Setting currdev to disk0p1:
> FreeBSD/arm64 EFI loader, Revision 1.1
> (Thu Mar  4 07:32:03 UTC 2021 [email protected])
> 
>   Command line arguments: loader.efi
>   Image base: 0x39cfc000
>   EFI version: 2.80
>   EFI Firmware: Das U-Boot (rev 8224.4096)
>   Console: comconsole (0)
>   Load Path: /efi\boot\bootaa64.efi
>   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x1561,0x0,0x0,0x0)/HD(1,0x01,0,0x81f,0x18fa8)
> Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x1561,0x0,0x0,0x0)/HD(1,0x01,0,0x81f,0x18fa8)
> Setting currdev to disk0p1:
> Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/UsbClass(0x0,0x0,0x9,0x0,0x3)/UsbClass(0x152d,0x1561,0x0,0x0,0x0)/HD(2,0x01,0,0x197c7,0x746ed5e9)
> Setting currdev to disk0p2:
> /
> Loading /boot/defaults/loader.conf
> Loading /boot/defaults/loader.conf
> Loading /boot/device.hints
> Loading /boot/loader.conf
> Loading /boot/loader.conf.local
> Loading kernel...
> /boot/kernel/kernel text=0x2a8 text=0x851220 text=0x24be84 data=0x1b9ba8 data=0x0+0x34f000 syms=[0x8+0x134028+0x8+0x15b5e1]
> Loading configured modules...
> /boot/kernel/filemon.ko text=0x1867 text=0x2558 data=0x510+0x20 syms=[0x8+0xd08+0x8+0x7c9]
> /boot/kernel/umodem.ko text=0x2100 text=0x13a0 data=0x6d8+0x10 syms=[0x8+0xf18+0x8+0xb5c]
> loading required module 'ucom'
> /boot/kernel/ucom.ko text=0x2590 text=0x2f00 data=0x8e0+0x858 syms=[0x8+0x1290+0x8+0xbd5]
> /boot/entropy size=0x1000
> /etc/hostid size=0x25
> 
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...               
> Using DTB provided by EFI at 0x7ef0000.
> EFI framebuffer information:
> addr, size     0x3e22c000, 0x8ca000
> dimensions     1920 x 1200
> stride         1920
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> ---<<BOOT>>---
> GDB: debug ports: uart
> GDB: current port: uart
> KDB: debugger backends: ddb gdb
> KDB: current backend: ddb
> WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
> Copyright (c) 1992-2022 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 14.0-CURRENT #40 main-aa597d4049-dirty: Fri Apr  8 11:44:42 PDT 2022
>    [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
> FreeBSD clang version 13.0.0 ([email protected]:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
> WARNING: WITNESS option enabled, expect reduced performance.
> VT(efifb): resolution 1920x1200
> module firmware already present!
> real memory  = 8441835520 (8050 MB)
> avail memory = 8206352384 (7826 MB)
> Starting CPU 1 (1)
> Starting CPU 2 (2)
> Starting CPU 3 (3)
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> random: unblocking device.
> random: entropy device external interface
> Fatal data abort:
>  x0: ffffa0003b25dad0
>  x1:                8
>  x2: ffff00000088db8d (do_execve.fexecv_proc_title + 7674)
>  x3:              78a
>  x4:                0
>  x5:               69
>  x6:         40a7152f
>  x7:         f2db3c10
>  x8: ffffa0003b25dad0
>  x9:        200000000
> x10: ffffa00000000000
> x11:         3b25dad0
> x12: 725f696665006966
> x13:  100000102ff0001
> x14: ffff000000b07300 (lock_class_mtx_sleep + 0)
> x15:                0
> x16:                8
> x17:         f4b3707d
> x18: ffff000000fa79b0 (initstack + 39b0)
> x19: ffffa000008db380
> x20: ffff000000ab4810 (efirt_moddata + 0)
> x21: ffff000000911163 (console_pausestr + 13a59)
> x22: ffff000000c6d000 (db_watch_table + b88)
> x23: ffff000000ba1000 (compiler_version + 20)
> x24: ffff000000dfb000 (gdb_tx_u + aa0)
> x25:                0
> x26: ffff0000008a1723 (do_execve.fexecv_proc_title + 1b20a)
> x27:          3100000
> x28: ffff000000dfb000 (gdb_tx_u + aa0)
> x29: ffff000000fa79c0 (initstack + 39c0)
>  sp: ffff000000fa79b0
>  lr: ffff000000157ac4 (efirt_modevents + 78)
> elr: ffff000000157ad0 (efirt_modevents + 84)
> spsr:         200000c5
> far: ffffa0003b25dad0
> esr:         96000007
> panic: vm_fault failed: ffff000000157ad0 error 1
> cpuid = 0
> time = 1
> 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+0x2f0
> handle_el1h_sync() at handle_el1h_sync+0x10
> --- exception, esr 0x96000007
> efirt_modevents() at efirt_modevents+0x84
> module_register_init() at module_register_init+0xc4
> mi_startup() at mi_startup+0x130
> virtdone() at virtdone+0x7c
> KDB: enter: panic
> [ thread pid 0 tid 100000 ]
> Stopped at      kdb_enter+0x44: undefined       f902011f
> db> bt
> Tracing pid 0 tid 100000 td 0xffff000000dfc0e0
> db_trace_self() at db_trace_self
> db_stack_trace() at db_stack_trace+0x11c
> db_command() at db_command+0x368
> db_command_loop() at db_command_loop+0x54
> db_trap() at db_trap+0xf8
> kdb_trap() at kdb_trap+0x1cc
> handle_el1h_sync() at handle_el1h_sync+0x10
> --- exception, esr 0xf2000000
> kdb_enter() at kdb_enter+0x44
> vpanic() at vpanic+0x1b0
> panic() at panic+0x44
> data_abort() at data_abort+0x2f0
> handle_el1h_sync() at handle_el1h_sync+0x10
> --- exception, esr 0x96000007
> efirt_modevents() at efirt_modevents+0x84
> module_register_init() at module_register_init+0xc4
> mi_startup() at mi_startup+0x130
> virtdone() at virtdone+0x7c
> db> 
> 
> followed by
> 
> db> reboot
> cpu_reset failed
> 
> After power cycle the machine rebooted to
> FreeBSD 14.0-CURRENT #34 main-79c4c4be96-dirty: Tue Apr  5 09:26:19 PDT 2022
> without obvious problems. "Dirty" is in reference to /usr/src/tests, I've
> refrained from tampering with the sources.



===
Mark Millard
marklmi at yahoo.com
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.