Closed Bug 1824166 Opened 2 years ago Closed 2 years ago

thread 'main' panicked at 'unable to generate bindings: ClangDiagnostic("error: unknown argument: '-mno-thumb-interwork'\n")', ../third_party/rust/neqo-crypto/build.rs:282:39

Categories

(Firefox Build System :: General, defect)

Firefox 113
defect

Tracking

(firefox-esr102 unaffected, firefox111 unaffected, firefox112 fixed, firefox113 fixed)

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox111 --- unaffected
firefox112 --- fixed
firefox113 --- fixed

People

(Reporter: herrtimson, Assigned: glandium)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Attached file neon-113-fails.log.gz

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

Steps to reproduce:

I downloaded latest git sources and compiled them for armv7a

Actual results:

I got these errors:

27:01.23 [neqo-crypto 0.6.4] thread 'main' panicked at 'unable to generate bindings: ClangDiagnostic("error: unknown argument: '-mno-thumb-interwork'\n")', /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/third_party/rust/neqo-crypto/build.rs:282:39
27:01.23 [neqo-crypto 0.6.4] stack backtrace:
27:01.23 [neqo-crypto 0.6.4] 0: 0x55e4d261955a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0d52a35915fffbeb
27:01.23 [neqo-crypto 0.6.4] 1: 0x55e4d263e0de - core::fmt::write::hd30867c928528e61
27:01.24 [neqo-crypto 0.6.4] 2: 0x55e4d2616935 - std::io::Write::write_fmt::hc403056a57833035
27:01.24 [neqo-crypto 0.6.4] 3: 0x55e4d2619325 - std::sys_common::backtrace::print::h54d034229014d02f
27:01.24 [neqo-crypto 0.6.4] 4: 0x55e4d261ab0f - std::panicking::default_hook::{{closure}}::h4c9968a7ce9703d0
27:01.24 [neqo-crypto 0.6.4] 5: 0x55e4d261a84b - std::panicking::default_hook::h3659243b9a491a62
27:01.24 [neqo-crypto 0.6.4] 6: 0x55e4d261b219 - std::panicking::rust_panic_with_hook::h1e42a9ebf2e8998e
27:01.24 [neqo-crypto 0.6.4] 7: 0x55e4d261afb9 - std::panicking::begin_panic_handler::{{closure}}::h1aa0e1fd7f7248e0
27:01.25 [neqo-crypto 0.6.4] 8: 0x55e4d2619a0c - std::sys_common::backtrace::__rust_end_short_backtrace::hc17453f54d491454

27:01.36 #include "..." search starts here:
27:01.36 #include <...> search starts here:
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/include/nspr
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/include/nss
27:01.37 /var/tmp/portage/www-client/firefox-113.0/work/firefox_build/dist/include/nss
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/10/include/g++-v10
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/10/include/g++-v10/armv7a-unknown-linux-gnueabihf
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/10/include/g++-v10/backward
27:01.37 /usr/armv7a-unknown-linux-gnueabihf/usr/include
27:01.37 End of search list.
27:01.38 thread 'main' panicked at 'unable to generate bindings: ClangDiagnostic("error: unknown argument: '-mno-thumb-interwork'\n")', /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/third_party/rust/neqo-crypto/build.rs:282:39
27:01.38 stack backtrace:
27:01.38 0: 0x55e4d261955a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0d52a35915fffbeb
27:01.38 1: 0x55e4d263e0de - core::fmt::write::hd30867c928528e61
27:01.38 2: 0x55e4d2616935 - std::io::Write::write_fmt::hc403056a57833035
27:01.39 3: 0x55e4d2619325 - std::sys_common::backtrace::print::h54d034229014d02f
27:01.39 4: 0x55e4d261ab0f - std::panicking::default_hook::{{closure}}::h4c9968a7ce9703d0
27:01.39 5: 0x55e4d261a84b - std::panicking::default_hook::h3659243b9a491a62
27:01.39 6: 0x55e4d261b219 - std::panicking::rust_panic_with_hook::h1e42a9ebf2e8998e
27:01.39 7: 0x55e4d261afb9 - std::panicking::begin_panic_handler::{{closure}}::h1aa0e1fd7f7248e0
27:01.39 8: 0x55e4d2619a0c - std::sys_common::backtrace::__rust_end_short_backtrace::hc17453f54d491454

Expected results:

I expect the compile to pass smothly and bake me a nice firefox nightly.

This is a cross compile with gcc-10, -mno-thumb-interwork is an input clang doesn't understand. Which makes me think something made the build system asssume this is a clang build, which its not.

The full build log is attached

Keywords: regression
Regressed by: 1820946

the behavior was introduced in firefox-112.0 branch, which is also affected, via bug 1820946

of the seven commits linked to that bug, this one is responsible for the breakage: https://hg.mozilla.org/mozilla-central/rev/80c39fbdd3cc66add325ea29450293816bfec722

I reverted it for firefox-112.0_beta5 and it did compile a perfectly fine binary

AFAIK thumb-interwork/mno-thumb-interwork is a gcc only flag and we pass all_arm_flags to bindgen here. Note that all_arm_flags includes interwork. Perhaps we need another subset of arm flags that only includes arm flags that clang also understands.

The Bugbug bot thinks this bug should belong to the 'Firefox Build System::General' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → General
Product: Firefox → Firefox Build System

:glandium, since you are the author of the regressor, bug 1820946, could you take a look? Also, could you set the severity field?

For more information, please visit auto_nag documentation.

Flags: needinfo?(mh+mozilla)
Assignee: nobody → mh+mozilla
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(mh+mozilla)

Set release status flags based on info from the regressing bug 1820946

Comment on attachment 9326770 [details]
Bug 1824166 - Avoid passing thumb-interwork flags to clang for bindgen.

Beta/Release Uplift Approval Request

  • User impact if declined: Build failure in some non-standard configurations
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patch only affects (downstream) builds that use the --with-thumb-interwork/--without-thumb-interwork build options explicitly.
  • String changes made/needed:
  • Is Android affected?: No
Attachment #9326770 - Flags: approval-mozilla-beta?
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/d3d045d57756 Avoid passing thumb-interwork flags to clang for bindgen. r=firefox-build-system-reviewers,andi
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

Comment on attachment 9326770 [details]
Bug 1824166 - Avoid passing thumb-interwork flags to clang for bindgen.

Approved for 112.0rc2

Attachment #9326770 - Flags: approval-mozilla-beta? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: