Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Apr 2023 13:11:00 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John F Carr <jfc@mit.edu>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>, Current FreeBSD <freebsd-current@freebsd.org>
Subject:   Re: Another VFP-in-kernel problem on armv8
Message-ID:  <B31B2E5B-C21C-4A22-AE46-F1B0432DFBF7@yahoo.com>
In-Reply-To: <911B8107-4FAC-4180-97D0-49B44212B788@mit.edu>
References:  <911B8107-4FAC-4180-97D0-49B44212B788@mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 7, 2023, at 06:06, John F Carr <jfc@mit.edu> wrote:

> I upgraded from mid-February CURRENT (5dc00f00b747) to yesterday =
(f02879f19925) and my system panics during boot with
>=20
>  panic: VFP exception in the kernel
>=20
> 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):
>=20
>   f9284: 4cdf7020      ld1     { v0.16b }, [x1], #16
>=20
> This instruction is implemented on my CPU (Cortex A-57), confirmed by =
running it in user mode.
>=20
> 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
    =
root@releng1.nyi.freebsd.org:/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     =
root@releng1.nyi.freebsd.org:/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 =3D 3
time =3D 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>=20

=3D=3D=3D
Mark Millard
marklmi at yahoo.com





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B31B2E5B-C21C-4A22-AE46-F1B0432DFBF7>