Closed Bug 1868933 Opened 5 months ago Closed 5 months ago

firefox-121 beta fails to build from source with: third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:515:25: error: no template named 'set' in namespace 'xsimd::kernel'; did you mean 'get'?

Categories

(Toolkit :: General, defect, P1)

Firefox 121
defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox121 --- fixed
firefox122 --- fixed

People

(Reporter: herrtimson, Assigned: sergesanspaille)

References

(Regression)

Details

(Keywords: regression)

Attachments

(6 files)

Attached file build.log.gz

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

Steps to reproduce:

I downloaded the firefox-121.0 beta8 source tarball from mozilla ftp and tried to compile it on linux for armv7a, with clang-17

Actual results:

there is a whole barrage of errors:

669:35.23 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/../arch/././generic/xsimd_generic_memory.hpp:454:21: error: no template named 'store_aligned' in namespace 'xsimd::kernel'; did you mean 'load_aligned'?
669:35.69 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:503:38: error: no template named 'broadcast' in namespace 'xsimd::kernel'; did you mean simply 'broadcast'?
669:36.11 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:503:38: error: no template named 'broadcast' in namespace 'xsimd::kernel'; did you mean simply 'broadcast'?
669:36.64 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:515:25: error: no template named 'set' in namespace 'xsimd::kernel'; did you mean 'get'?
669:37.06 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:707:20: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?
669:37.41 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:707:20: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?
669:37.79 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:757:20: error: no template named 'lt' in namespace 'xsimd::kernel'; did you mean simply 'lt'?
669:38.17 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:757:20: error: no template named 'lt' in namespace 'xsimd::kernel'; did you mean simply 'lt'?
669:38.56 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:769:24: error: no template named 'add' in namespace 'xsimd::kernel'; did you mean simply 'add'?
669:38.97 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:769:24: error: no template named 'add' in namespace 'xsimd::kernel'; did you mean simply 'add'?
669:39.36 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:776:24: error: no template named 'sub' in namespace 'xsimd::kernel'; did you mean simply 'sub'?
669:39.76 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:776:24: error: no template named 'sub' in namespace 'xsimd::kernel'; did you mean simply 'sub'?
669:40.16 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:804:24: error: no template named 'bitwise_and' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_and'?
669:40.57 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:804:24: error: no template named 'bitwise_and' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_and'?
669:40.97 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:811:24: error: no template named 'bitwise_or' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_or'?
669:41.37 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:811:24: error: no template named 'bitwise_or' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_or'?
669:41.77 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:818:24: error: no template named 'bitwise_xor' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_xor'?
669:42.18 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:818:24: error: no template named 'bitwise_xor' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_xor'?
669:42.56 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:893:16: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?

there are more, but the output is stopped: 669:42.91 fatal error: too many errors emitted, stopping now [-ferror-limit=]

Expected results:

I expect the build to succeed, and build me a nice firefox binary

My guess is the new code from #1863847 is incompatible with clang, as I haven't hit this bug with a cross gcc-11 setup

Keywords: regression
Regressed by: 1863847

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

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

For more information, please visit BugBot documentation.

Flags: needinfo?(sguelton)

This indeed looks like an architecture detection bug in xsimd. In the build log, I see -mfpu=vfpv3-d16, could you try compiling with -mfpu=neon to confirm it fixes the issue?

Flags: needinfo?(sguelton) → needinfo?(herrtimson)
Attached file gcc.log.gz

hi, thanks for the fast reply.

I've scheduled another build job on the device with global --enable-fpu=neon, hopefully there will be results tomorrow

In the meantime I removed --enable-fpu=neon from my cross-gcc-11 build setup, it does now fail identically. Find it attached, it is more verbose.

where does upstream live? is it at https://github.com/xtensor-stack/xsimd/ ?

it seems to work with neon, find the output of

cat build.log | grep xsimd

in the attachment

Flags: needinfo?(herrtimson)
Attached file build.log.gz

full build log

do you think it is a good idea to try the update to xsimd-12.1.0 from mozbg #1867339?

Flags: needinfo?(sguelton)

(In reply to tt_1 from comment #4)

Created attachment 9367680 [details]
gcc.log.gz

hi, thanks for the fast reply.

I've scheduled another build job on the device with global --enable-fpu=neon, hopefully there will be results tomorrow

In the meantime I removed --enable-fpu=neon from my cross-gcc-11 build setup, it does now fail identically. Find it attached, it is more verbose.

where does upstream live? is it at https://github.com/xtensor-stack/xsimd/ ?

Yes, and I am one of the core dev there, so feel free to report the issue with that particular FPU setting that's not correctly handled by the supported architecture scanning code in xsimd.

Flags: needinfo?(sguelton)

(In reply to tt_1 from comment #7)

do you think it is a good idea to try the update to xsimd-12.1.0 from mozbg #1867339?

I don't think I've added anything related to arm neon detection in that release, so it shouldn't make any change.

Did so, is there any way to have an educated guess which commit did introduce the issue inbetween 11.1.0 and 11.2.0? I can fully revert the upgrade and have it working again, but I feel this approach is a bit over the top.

Flags: needinfo?(herrtimson)

this needs to be backported for the beta channel build I'm using, please confirm my attached attempt as valid, and I will schedule a build.

Flags: needinfo?(herrtimson) → needinfo?(sguelton)

confirmed!

Flags: needinfo?(sguelton)

the fix is working for me with the beta channel, both without neon and with -mpfu=neon

given that rc1 has been tagged yesterday, it's propably too late to get everything commited until the release of 121.0 final?

given that rc1 has been tagged yesterday, it's propably too late to get everything commited until the release of 121.0 final?

Yes, but this looks like a trivial risk free patch for a dot release.

[Tracking Requested - why for this release]: Build issue on Linux ARM and RISCV

Severity: -- → S3
Priority: -- → P1

As an xsimd maintainer, I confirm the triviality (and correcteness) of the patch.

this has been fixed in master with the upgrade to xsimd-12.1.1

FWIW same issue happens with 121.0 release when targeting 32-bit x86 (no SSE).

Yeah, this was unfortunately not fixed before the release. It probably didn't help that the tracking flag was set for 120 instead of 121.

Component: Widget: Gtk → General
Product: Core → Toolkit
Assignee: nobody → sguelton
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

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

Attachment #9369615 - Flags: approval-mozilla-release?
Attachment #9369615 - Flags: approval-mozilla-release? → approval-mozilla-release+
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Depends on: 1867339
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch

Uplift Approval Request

  • String changes made/needed: no
  • Fix verified in Nightly: yes
  • Is Android affected?: yes
  • Explanation of risk level: tested in xsimd upstream and in nightly
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: build on X86_32 (without sse2) or arm32 (without neon)
  • Risk associated with taking this patch: low
  • User impact if declined: fails to build on architecture not supported by xsimd
  • Code covered by automated testing: no
Flags: qe-verify+
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: