Bug 2261180

Summary: thunderbird: FTBFS in Fedora rawhide/f40
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: thunderbirdAssignee: Gecko Maintainer <gecko-bugs-nobody>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 40CC: bdm, belegdol, dan, dimitris.on.linux, erack, gecko-bugs-nobody, kai-engert-fedora, klaas, rhughes, rstrode, stransky
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-05-28 07:57:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2231791    
Attachments:
Description Flags
build.log
none
root.log
none
state.log
none
f39 gecko-profiler bindings.rs
none
f40 gecko-profiler bindings.rs none

Description Fedora Release Engineering 2024-01-29 19:53:17 UTC
thunderbird failed to build from source in Fedora rawhide/f40

https://koji.fedoraproject.org/koji/taskinfo?taskID=112278913


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
Please fix thunderbird at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
thunderbird will be orphaned. Before branching of Fedora 41,
thunderbird will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2024-01-29 19:53:29 UTC
Created attachment 2012062 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2024-01-29 19:53:34 UTC
Created attachment 2012063 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2024-01-29 19:53:37 UTC
Created attachment 2012064 [details]
state.log

Comment 4 Martin Stransky 2024-01-30 10:13:53 UTC
34:29.97 *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
34:29.97 Event                            | Plugins
34:29.97 PLUGIN_FINISH_UNIT               | annobin: Generate final annotations
34:29.97 PLUGIN_START_UNIT                | annobin: Generate global annotations
34:29.97 PLUGIN_ALL_PASSES_START          | annobin: Generate per-function annotations
34:29.97 PLUGIN_ALL_PASSES_END            | annobin: Register per-function end symbols
34:29.97 during RTL pass: split1
34:29.97 In file included from /builddir/build/BUILD/thunderbird-115.7.0/gfx/skia/skia/src/core/SkOpts.cpp:43:
34:29.97 /builddir/build/BUILD/thunderbird-115.7.0/gfx/skia/skia/src/opts/SkBlitMask_opts.h: In function ‘void neon::blit_mask_d32_a8(SkPMColor*, size_t, const SkAlpha*, size_t, SkColor, int, int)’:
34:29.97 /builddir/build/BUILD/thunderbird-115.7.0/gfx/skia/skia/src/opts/SkBlitMask_opts.h:234:1: internal compiler error: Segmentation fault

Should be already fixed in rawhide, it was in Firefox too.

Comment 5 Aoife Moloney 2024-02-15 23:16:19 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 6 Julian Sikorski 2024-05-02 07:46:10 UTC
I think this was fixed for a while but 115.10.0 and above have not been built successfully for F40 and higher. This means that there are unresolved security issues present in the package.

Comment 7 -RETIRED- 2024-05-02 12:22:25 UTC
I suspect a toolchain problem as earlier 115.9.0 built on F40 but on F41 it did not, but now 115.10.0 on F40 doesn't build either; likely something was pulled into F40 that earlier was only in F41. Smells much like Rust bindings generation, needs comparison of generated output, I'm at it.

Comment 8 -RETIRED- 2024-05-27 09:39:39 UTC
*** Bug 2283128 has been marked as a duplicate of this bug. ***

Comment 9 -RETIRED- 2024-05-27 13:23:18 UTC
The latest failure is not related at all to the above;
https://koji.fedoraproject.org/koji/taskinfo?taskID=117721591
 5:50.29 error[E0412]: cannot find type `SpliceableJSONWriter` in module `mozilla::baseprofiler`
 5:50.29   --> tools/profiler/rust-api/src/gecko_bindings/glue.rs:18:46
 5:50.29    |
 5:50.29 18 |     json_writer: &mut mozilla::baseprofiler::SpliceableJSONWriter,
 5:50.29    |                                              ^^^^^^^^^^^^^^^^^^^^ not found in `mozilla::baseprofiler`

I'm out of guesses. The generated gecko-profiler bindings look completely different, and while the f39 one contains the mozilla::baseprofiler::SpliceableJSONWriter the failing f40 one does not, and most other things neither and is significantly shorter.

I'll attach both, hopefully someone has some insights.

Comment 10 -RETIRED- 2024-05-27 13:24:34 UTC
Created attachment 2035316 [details]
f39 gecko-profiler bindings.rs

Comment 11 -RETIRED- 2024-05-27 13:25:45 UTC
Created attachment 2035317 [details]
f40 gecko-profiler bindings.rs

Comment 12 -RETIRED- 2024-05-27 13:33:58 UTC
I rather should had said that the f40 one contains almost nothing.. don't know if related but in this case the outpaths were dynamically generated which for other bindings.rs they are not, i.e. da9c9926c1c0c1a9 vs 749516ab244dfe13 in
mock/f39-candidate-x86_64/root/builddir/build/BUILD/thunderbird-115.10.1/objdir/x86_64-unknown-linux-gnu/release/build/gecko-profiler-da9c9926c1c0c1a9/out/gecko/bindings.rs
mock/f40-candidate-x86_64/root/builddir/build/BUILD/thunderbird-115.10.1/objdir/x86_64-unknown-linux-gnu/release/build/gecko-profiler-749516ab244dfe13/out/gecko/bindings.rs

Comment 13 Dan Horák 2024-05-27 14:07:01 UTC
possible hints based on my work on FF 115 ESR
- require clang17 as there is some incompatibility in clang18 in the generated bindings
- use Rust 1.78 fix from https://github.com/mozilla/gecko-dev/commit/73676e66aa337387d8bb6992bb1c3e18f0b6b5c9

Please see https://src.fedoraproject.org/fork/sharkcz/rpms/firefox/commits/talos for details (or see icecat dist-git).

Comment 14 -RETIRED- 2024-05-27 14:57:35 UTC
The Rust fix I had already applied https://src.fedoraproject.org/rpms/thunderbird/c/99a3c4470e57dd16c8c3297040e4c1029fabdbc6?branch=rawhide but requiring clang17 might indeed do, I'll try.
Thanks!