Bug 2420679

Summary: firefox-146.0-2 crashes on startup on aarch64
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: firefoxAssignee: Martin Stransky <stransky>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 43CC: fedora, gecko-bugs-nobody, jhorak, klaas, michael.rostom1, robatino, rstrode, stransky, suraj.ghimire7
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
backtrace of the crash none

Description Adam Williamson 2025-12-09 17:59:52 UTC
Created attachment 2118183 [details]
backtrace of the crash

In openQA testing, firefox-146.0-2.fc43 seems to crash on startup on aarch64. This is not happening on x86_64, and the f42 update was also OK. There doesn't seem to be a build for Rawhide so I can't tell if it's happening there also.

The initial crash seems to be in a WebExtensions process (really /usr/lib64/firefox/firefox ). I've backtraced it, and am attaching the backtrace.

Comment 1 Adam Williamson 2025-12-09 18:15:36 UTC
Sorry, I lied, it seems it is broken on F42 as well. Just hadn't noticed yet.

Comment 2 Martin Stransky 2025-12-10 13:03:12 UTC
Is it possible that we're hitting missing implementation here?
https://searchfox.org/firefox-main/source/parser/html/nsHtml5TokenizerALUStubs.cpp#16

Comment 3 Martin Stransky 2025-12-10 13:04:28 UTC
Can you try mozilla binaries?
https://blog.nightly.mozilla.org/2024/04/19/firefox-nightly-now-available-for-linux-on-arm64/

Comment 4 Adam Williamson 2025-12-10 22:15:03 UTC
The Mozilla binary seems to run: https://openqa.stg.fedoraproject.org/tests/5674014 (I did some very gross hacks to the test, temporarily, to make it download and run the nightly; the update the test claims to have run against is irrelevant).

Comment 5 Adam Williamson 2025-12-10 22:16:04 UTC
in case we need it again, this was the gross hack:

diff --git a/tests/desktop_browser.pm b/tests/desktop_browser.pm
index be18f75d..d8844883 100644
--- a/tests/desktop_browser.pm
+++ b/tests/desktop_browser.pm
@@ -31,10 +31,21 @@ sub run {
     # switch to a VT and disable things that can mess with the test
     $self->root_console(tty => 3);
     disable_firefox_studies;
+    if (get_var("ARCH") eq "aarch64") {
+        assert_script_run "cd /home/test";
+        assert_script_run "curl -o ff.tar.xz https://adamwill.fedorapeople.org/firefox-148.0a1.en-CA.linux-aarch64.tar.xz";
+        assert_script_run "tar xvf ff.tar.xz";
+        assert_script_run "chown -R test:test firefox";
+    }
     desktop_vt;
     if (get_var("DESKTOP") eq "i3") {
         x11_start_program("firefox");
     }
+    elsif (get_var("ARCH") eq "aarch64") {
+        desktop_launch_terminal;
+        wait_still_screen 5;
+        type_very_safely "~/firefox/firefox\n";
+    }
     else {
         send_key 'super';
         # wait out animations

Comment 6 Martin Stransky 2025-12-11 11:09:32 UTC
Thanks for testing Adam. Do I understand correctly that Fedora distro build is broken while Mozilla binaries work?

Comment 7 Martin Stransky 2025-12-11 11:19:24 UTC
Looks like we failed to select correct build target here:
https://searchfox.org/firefox-main/rev/04cf27582307a9c351e991c740828d54cf786b76/parser/html/moz.build#111

Mozilla binaries use clang I wonder if that's the factor here.

Comment 8 Martin Stransky 2025-12-11 11:20:39 UTC
Looks like this one introduced it: https://bugzilla.mozilla.org/show_bug.cgi?id=1499682

Comment 9 Martin Stransky 2025-12-11 11:23:44 UTC
Upstream bug https://bugzilla.mozilla.org/show_bug.cgi?id=2005469

Comment 10 Adam Williamson 2025-12-11 16:04:12 UTC
Thanks! Yes, that's correct, Mozilla binary works, distro package is broken (but the failure gated it, so it didn't go stable).