Re: Another VFP-in-kernel problem on armv8

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current
Message-ID <[email protected]>
On Apr 7, 2023, at 06:06, John F Carr <[email protected]> wrote:

> I upgraded from mid-February CURRENT (5dc00f00b747) to yesterday (f02879f19925) and my system panics during boot with
> 
>  panic: VFP exception in the kernel
> 
> Most likely this panic is while trying to import the root ZFS pool.  The crash is at the first vector instruction in zfs_sha256_block_neon (in zfs.ko):
> 
>   f9284: 4cdf7020      ld1     { v0.16b }, [x1], #16
> 
> This instruction is implemented on my CPU (Cortex A-57), confirmed by running it in user mode.
> 
> I don't see any obviously related changes in ZFS since the last working kernel.  What's going on recently with VFP in the kernel?


I've a simpler reproducer context based on just official
materials:

Downloaded and dd'd an 2023-Apr-06 snapshot image and
powered up a small aarch64 board with it:

. . .
FreeBSD 14.0-CURRENT #0 main-n262010-f21faa67ab6b: Thu Apr  6 11:49:31 UTC 2023
    [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
FreeBSD clang version 15.0.7 (https://github.com/llvm/llvm-project.git llvmorg-15.0.7-0-g8dfdcc7b7bf6)
 . . .


So: A just-UFS boot context. Then login and try "zpool import"
without having any zfs media present, just the UFS boot media:

Login: root
Password:
Apr  6 13:00:28 generic login[1443]: ROOT LOGIN (root) ON ttyu0
FreeBSD 14.0-CURRENT #0 main-n262010-f21faa67ab6b: Thu Apr  6 11:49:31 UTC 2023     [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

To change this login announcement, see motd(5).
root@generic:~ # zpool import
  x0: ffff0000f0fa9168 (ucom_cons_softc + efbf1bb8)
  x1: ffff0000ff900000 ($d.1 + afa318)
  x2: ffff0000ff900400 ($d.1 + afa718)
  x3: ffff0000fec1b0a4 (sha_incremental + 0)
  x4:                0
  x5:           100000
  x6:         8e16db93
  x7:                0
  x8: ffff0000feb06168 (tf_sha256_neon + 0)
  x9: ffff0000fea931fb ($d.1 + b)
 x10: ffff0000feb045f4 (SHA2Update + f4)
 x11:               29
 x12:                1
 x13:                0
 x14:                0
 x15:                2
 x16: ffff0000feaf7500 ($d.0 + 0)
 x17: ffff000000476cf0 (nanouptime + 0)
 x18: ffff0000f0fa9000 (ucom_cons_softc + efbf1a50)
 x19: ffff0000f0fa9168 (ucom_cons_softc + efbf1bb8)
 x20:              400
 x21: ffff0000ff900000 ($d.1 + afa318)
 x22: ffff0000f0fa9198 (ucom_cons_softc + efbf1be8)
 x23:                0
 x24:                0
 x25:                0
 x26: ffff0000fed2df70 (sha256_neon_impl + 0)
 x27:              203
 x28:               31
 x29: ffff0000f0fa9040 (ucom_cons_softc + efbf1a90)
  sp: ffff0000f0fa9000
  lr: ffff0000feb04668 (SHA2Update + 168)
 elr: ffff0000feaf8684 (zfs_sha256_block_neon + 14)
spsr:         20000045
 esr: 000000001fe00000
panic: VFP exception in the kernel
cpuid = 3
time = 1680786034
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x13c
panic() at panic+0x44
do_el1h_sync() at do_el1h_sync+0x210
handle_el1h_sync() at handle_el1h_sync+0x10
--- exception, esr 0xffff0000f0fa9198
(null)() at 0x400
KDB: enter: panic
[ thread pid 1446 tid 100101 ]
Stopped at      kdb_enter+0x44: undefined       f905c27f
db> 

===
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.