On FreeBSD13, firefox 88.0.1_1,2 crash with bad system call, if kernel is not compiled with COMPAT_FREEBSD11. Firefox is build from port using : ALSA : off CANBERRA : on DBUS : on DEBUG : off FFMPEG : on JACK : off LIBPROXY : on LTO : on OPTIMIZED_CFLAGS: on PROFILE : off PULSEAUDIO : on SNDIO : on TEST : off I don't think it was the case with previous version.
Set sysctl kern.lognosys=3 then run firefox. Either the controlling terminal (if any) or dmesg would log which syscall was called. Show it there.
pid 1790 comm firefox: nosys 188
Indeed 188 is the pre-ino64 stat(2). I noted some time ago that firefox built on stable/11, calls stat@FBSD_1.5 with the pointer to old struct stat, causing memory corruption. I suspect both this and your problem are caused by some attempt to dynamically call the syscall. I cannot provide any more useful input, wait for the maintainers.
(In reply to Stéphane D'Alu from comment #0) lang/rust generated code requires COMPAT_FREEBSD11, see https://cgit.freebsd.org/ports/tree/Mk/Uses/cargo.mk#n276
See https://github.com/rust-lang/libc/issues/570 www/firefox uses libc crate which due to lack of OS version in --target triple binds to symbols from the oldest still supported FreeBSD major version. After FreeBSD 11.* reaches EOL on 2021-09-30 upstream may bump the default from relying on COMPAT_FREEBSD11 to COMPAT_FREEBSD12. Also, if LIBC_CI is defined via environ(7) libc crate would use freebsd-version(1) to try binding natively but it doesn't support 14.0-CURRENT yet. https://searchfox.org/mozilla-release/rev/a8d49c009a9250de34d683567d586f3aeb409b4c/third_party/rust/libc/build.rs#33
Thanks for the explanations.