Closed Bug 1337568 Opened 7 years ago Closed 7 years ago

Intermittent tests/jit-test/jit-test/tests/wasm/spec/float_literals.wast.js | Unknown (code -11, args "--wasm-always-baseline")

Categories

(Core :: JavaScript Engine: JIT, defect, P3)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: bulk-close-intermittents, intermittent-failure)

I can't repro the -11, but FWIW a Linux-32-opt build always fails this test case (with either compiler) with the following error:

$ ../build-32-release/dist/bin/js --wasm-always-baseline -e 'libdir="lib/"; scriptdir="tests/wasm/spec/"' tests/wasm/spec/float_literals.wast.js
/home/lhansen/moz/mozilla-inbound/js/src/jit-test/tests/wasm/spec/../wast.js:374:17 Error: Assertion failed: got 2145386496, expected 2141192192
Stack:
  exec@/home/lhansen/moz/mozilla-inbound/js/src/jit-test/tests/wasm/spec/../wast.js:374:17
  @/home/lhansen/moz/mozilla-inbound/js/src/jit-test/tests/wasm/spec/../wast.js:561:13
  @tests/wasm/spec/float_literals.wast.js:1:45

64-bit Ubuntu 16.04 on an AMD-FX4100, gcc 5.4.0, compiled as follows:

CC='gcc -m32 -L/usr/lib/gcc/i686-linux-gnu/5.4.0'
CXX='g++ -m32 -L/usr/lib/gcc/i686-linux-gnu/5.4.0'
AR='ar'
configured with --target=i686-pc-linux --disable-debug --enable-optimize --without-intl-api
These tests are failing:

(assert_return (invoke "f32.informally_known_as_plain_snan") (i32.const 0x7fa00000))
(assert_return (invoke "f32.misc_nan") (i32.const 0x7f812345))
(assert_return (invoke "f32.misc_positive_nan") (i32.const 0x7fb04050))
(assert_return (invoke "f32.misc_negative_nan") (i32.const 0xffaabcde))

(assert_return (invoke "f64.informally_known_as_plain_snan") (i64.const 0x7ff4000000000000))
(assert_return (invoke "f64.misc_nan") (i64.const 0x7ff0123456789abc))
(assert_return (invoke "f64.misc_positive_nan") (i64.const 0x7ff3040506070809))
(assert_return (invoke "f64.misc_negative_nan") (i64.const 0xfff2abcdef012345))

Note, other NaN tests do pass so it's not simply a question of supporting or not supporting NaN.
Hard to pin down because of the release build but it looks like ParseNaNLiteral in WasmTextToBinary.cpp creates a node with the improperly converted value just as it is about to return: the value stored in the new node is the wrong value, and some printfs just before the constructor call print out the correct value.  In particular the value produced by BitwiseCast() is correct.
The failures I saw were an artifact of not compiling with the appropriate options (namely, -msse -msse2 -mfpmath=sse).
Priority: -- → P3
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.