• Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Packages → Packages: Build-list
  • Assigned To No-one
  • Operating System i686
  • Severity Low
  • Priority Medium
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Arch Linux 32
Opened by Admin - 15.11.2019
Last edited by Andreas Baumann - 04.04.2020

FS#69 - firefox breaks heavily in micro-optimized code

Attached to Project: Archlinux32
Opened by Andreas Baumann - 09.05.2019
Last edited by Andreas Baumann - 09.05.2019
 FS#69  - firefox breaks heavily in micro-optimized code

The root cause is rust is not recompiling currently.

The log in detail:

14:57.22 error[E0432]: unresolved import `simd_funcs`
14:57.22 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:16:1 3
14:57.22 |
14:57.22 16 | use simd_funcs::*;
14:57.22 | ^^^^^^^^^^ maybe a missing `extern crate simd_funcs;`?
14:57.22 error[E0432]: unresolved import `packed_simd`
14:57.22 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:17:1 3
14:57.22 |
14:57.22 17 | use packed_simd::u16x8;
14:57.22 | ^^^^^^^^^^^ maybe a missing `extern crate packed_simd;`?
14:57.45 error[E0425]: cannot find function `load16_unaligned` in this scope
14:57.45 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:120 :34
14:57.45 |
14:57.45 120 | let input = unsafe { load16_unaligned(src_ptr.add(i * 16)) };
14:57.45 | ^^^^^^^^^^^^^^^^ not found in this scope
14:57.45 error[E0425]: cannot find function `simd_unpack` in this scope
14:57.45 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:121 :35
14:57.45 |
14:57.45 121 | let (first, second) = simd_unpack(input);
14:57.45 | ^^^^^^^^^^^ not found in this scope
14:57.45 error[E0425]: cannot find function `store8_unaligned` in this scope
14:57.45 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:123 :17
14:57.45 |
14:57.45 123 | store8_unaligned(dst_ptr.add(i * 16), shift_upper(first));
14:57.45 | ^^^^^^^^^^^^^^^^ not found in this scope
14:57.45 error[E0425]: cannot find function `store8_unaligned` in this scope
14:57.45 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/x_user_defined.rs:124 :17
14:57.45 |
14:57.45 124 | store8_unaligned(dst_ptr.add1);
14:57.45 | ^^^^^^^^^^^^^^^^ not found in this scope
14:57.46 error[E0412]: cannot find type `u16x8` in this scope
14:57.46 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:121:40
14:57.46 |
14:57.46 121 | pub fn simd_at(&self, i: usize) -> u16x8 {
14:57.46 | ^^^^^ not found in this scope
14:57.46 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.46 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:122:21
14:57.46 |
14:57.46 122 | assert!(i + SIMD_STRIDE_SIZE / 2 <= self.len);
14:57.46 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STR IDE_SIZE`
14:57.47 error[E0425]: cannot find function `to_u16_lanes` in this scope
14:57.47 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:124:18
14:57.47 |
14:57.47 124 | unsafe { to_u16_lanes(load16_unaligned(self.ptr.add(byte_index))) }
14:57.47 | ^^^^^^^^^^^^ not found in this scope
14:57.47 error[E0425]: cannot find function `load16_unaligned` in this scope
14:57.47 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:124:31
14:57.47 |
14:57.47 124 | unsafe { to_u16_lanes(load16_unaligned(self.ptr.add(byte_index))) }
14:57.47 | ^^^^^^^^^^^^^^^^ not found in this scope
14:57.47 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.47 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:145:12
14:57.47 |
14:57.47 145 | if SIMD_STRIDE_SIZE / 2 <= self.len {
14:57.47 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:57.48 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.48 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:146:47
14:57.48 |
14:57.48 146 | let len_minus_stride = self.len - SIMD_STRIDE_SIZE / 2;
14:57.48 | ^^^^^^^^^^^^^^^^ help: a constant with a sim ilar name exists: `ALU_STRIDE_SIZE`
14:57.48 error[E0425]: cannot find function `simd_byte_swap` in this scope
14:57.48 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:150:28
14:57.48 |
14:57.48 150 | simd = simd_byte_swap(simd);
14:57.48 | ^^^^^^^^^^^^^^ not found in this scope
14:57.49 error[E0425]: cannot find function `store8_unaligned` in this scope
14:57.49 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:153:21
14:57.49 |
14:57.49 153 | store8_unaligned(other.as_mut_ptr().add(offset), simd);
14:57.49 | ^^^^^^^^^^^^^^^^ not found in this scope
14:57.49 error[E0425]: cannot find function `contains_surrogates` in this scope
14:57.49 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:155:20
14:57.49 |
14:57.49 155 | if contains_surrogates(simd) {
14:57.49 | ^^^^^^^^^^^^^^^^^^^ not found in this scope
14:57.49 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.49 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:158:27
14:57.49 |
14:57.49 158 | offset += SIMD_STRIDE_SIZE / 2;
14:57.49 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `A LU_STRIDE_SIZE`
14:57.50 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.50 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:237:8
14:57.50 |
14:57.50 237 | if SIMD_STRIDE_SIZE <= len {
14:57.50 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:57.50 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.50 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.50 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:237:8
14:57.50 |
14:57.50 237 | if SIMD_STRIDE_SIZE <= len {
14:57.50 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:57.50 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.50 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:238:38
14:57.50 |
14:57.50 238 | let len_minus_stride = len - SIMD_STRIDE_SIZE;
14:57.50 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:57.51 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.51 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:241:52
14:57.51 |
14:57.51 241 | let mut second = src.simd_at(offset + (SIMD_STRIDE_SIZE / 2));
14:57.51 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:57.51 error[E0425]: cannot find function `simd_byte_swap` in this scope
14:57.51 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:243:25
14:57.51 |
14:57.51 243 | first = simd_byte_swap(first);
14:57.51 | ^^^^^^^^^^^^^^ not found in this scope
14:57.52 error[E0425]: cannot find function `simd_byte_swap` in this scope
14:57.52 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:244:26
14:57.52 |
14:57.52 244 | second = simd_byte_swap(second);
14:57.52 | ^^^^^^^^^^^^^^ not found in this scope
14:57.52 error[E0425]: cannot find function `simd_is_basic_latin` in this scope
14:57.52 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:246:17
14:57.52 |
14:57.52 246 | if !simd_is_basic_latin(first | second) {
14:57.52 | ^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `ascii_to_basic_latin`
14:57.52 error[E0425]: cannot find function `simd_pack` in this scope
14:57.52 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:249:26
14:57.52 |
14:57.52 249 | let packed = simd_pack(first, second);
14:57.52 | ^^^^^^^^^ not found in this scope
14:57.53 error[E0425]: cannot find function `store16_unaligned` in this scope
14:57.53 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:251:17
14:57.53 |
14:57.53 251 | store16_unaligned(dst.as_mut_ptr().add(offset), packed);
14:57.53 | ^^^^^^^^^^^^^^^^^ not found in this scope
14:57.53 error[E0425]: cannot find value `SIMD_STRIDE_SIZE` in this scope
14:57.53 –> /build/firefox/src/mozilla-unified/third_party/rust/encoding_rs/src/handles.rs:253:23
14:57.53 |
14:57.53 253 | offset += SIMD_STRIDE_SIZE;
14:57.53 | ^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `ALU_STRIDE_SIZE`
14:59.28 error: aborting due to 25 previous errors
14:59.28 Some errors occurred: E0412, E0425, E0432.
14:59.28 For more information about an error, try `rustc –explain E0412`.
14:59.44 error: Could not compile `encoding_rs`.

  Comments (5)
  Related Tasks (0/0)

Admin
Andreas Baumann commented on 09.05.2019 19:36

Compilation of firefox continues..

14:59.44 To learn more, run the command again with –verbose.
14:59.45 make[4]: * [/build/firefox/src/mozilla-unified/config/rules.mk:1027: force-cargo-library-build] Error 101
14:59.45 make[3]:
* [/build/firefox/src/mozilla-unified/config/recurse.mk:74: toolkit/library/rust/target] Error 2
14:59.45 make[3]: * Waiting for unfinished jobs….
17:24.43 Compiling lalrpop v0.16.0 good build system :->
Admin
Andreas Baumann commented on 09.05.2019 19:38 Let’s see how bad the situation is on pentium4, could easily be Mozilla projects get
build only for pentium4 in the future..
Admin
Andreas Baumann commented on 09.05.2019 19:46 Aha: i686 finally failed: 17:24.43 Compiling lalrpop v0.16.0
21:26.67 Compiling webidl v0.8.0
22:03.14 Compiling binjs_meta v0.4.3
22:25.46 Compiling binast v0.1.1 (/build/firefox/src/mozilla-unified/js/src/frontend/binsource)
22:58.29 Finished release [optimized] target(s) in 17m 41s
22:58.32 make[2]:
* [/build/firefox/src/mozilla-unified/config/recurse.mk:34: compile] Error 2
22:58.32 make[1]: * [/build/firefox/src/mozilla-unified/config/rules.mk:415: default] Error 2
22:58.32 make:
* [client.mk:125: build] Error 2
22:58.33 0 compiler warnings present.

Admin
Andreas Baumann commented on 10.05.2019 05:59

pentium4 seems to work fine.
Levi commented on 16.05.2019 21:08

So, is this getting dropped for i686 then? Probably no great loss; I remember when I was using a P3 in my server box, I gave up trying to use anything graphical, and just used links when I needed to look something up on t’internet.

I note in the i686 repo there’s currently a firefox 65.x rather than the 66.x we’ve got in pentium4, and some language packs that are 66 and some that are 65. English and all its variants are still on 65.x, but I note that it looks broken to me for German or Finnish users. Time to put it out of its misery?

Google Cache

1) i * 16) + 8), shift_upper(second
Closed by  Andreas Baumann
04.04.2020 18:37
Reason for closing:  Fixed
Additional comments about closing:  

Actually, removing ac_add_options –enable-rust-simd from mozconfig for i686 is enough
to make firefox build.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing