RPI4 panic on boot with -current

bob prohaska <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Might this be related to "RPi4B's got a PMIC replacement,..." reported 4/3 ?

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)

DRAM:  7.9 GiB
RPI 4 Model B (0xd03114)
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.
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.

Thanks for reading, 

bob prohaska
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.