WebAssembly / WebAssembly/wabt

test failures on POWER8 (ppc64le)

Open
#1,045 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
8.1k
Forks
827
Avg merge
4d 6h
Merged PRs (30d)
18

Description

When building 1.0.10 on Fedora rawhide (development) with gcc-9.0.1 and RHEL/CentOS 7 with gcc-4.8.5, the following tests fail on POWER8 (ppc64le) architecture:

- test/spec/conversions.txt
  expected error code 0, got 2.
  STDOUT MISMATCH:
  --- expected
  +++ actual
  @@ -1 +1,3 @@
  -401/401 tests passed.
  +out/test/spec/conversions.wast:348: expected result to be nan, got f64:nan
  +out/test/spec/conversions.wast:350: expected result to be nan, got f64:-nan
  +399/401 tests passed.
- test/wasm2c/spec/conversions.txt
  expected error code 0, got 1.
  STDERR MISMATCH:
  --- expected
  +++ actual
  @@ -0,0 +1,15 @@
  +Traceback (most recent call last):
  +  File "/builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py", line 407, in <module>
  +    sys.exit(main(sys.argv[1:]))
  +  File "/builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py", line 400, in main
  +    forward_stdout=True).RunWithArgs()
  +  File "/builddir/build/BUILD/wabt-1.0.10/test/utils.py", line 104, in RunWithArgs
  +    raise error
  +utils.Error: Error running "out/test/wasm2c/spec/conversions/conversions":
  +conversions-main.c:1118: assertion failed: in Z_conversions_0Z_f64Z2Epromote_f32Z_df(make_nan_f32(0x200000)): expected result to be a arithmetic nan, got 0x0000000000000000.
  +conversions-main.c:1124: assertion failed: in Z_conversions_0Z_f64Z2Epromote_f32Z_df(-make_nan_f32(0x200000)): expected result to be a arithmetic nan, got 0x0000000000000000.
  +During handling of the above exception, another exception occurred:
  +Traceback (most recent call last):
  +  File "/builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py", line 413, in <module>
  +    sys.stderr.write(u'{0}\n'.format(e).encode('ascii', 'replace'))
  +TypeError: write() argument must be str, not bytes
  STDOUT MISMATCH:
  --- expected
  +++ actual
  @@ -1 +1 @@
  -401/401 tests passed.
  +399/401 tests passed.

Additionally, the following tests fail only on RHEL/CentOS 7 with gcc-4.8.5:

- test/wasm2c/spec/f32.txt
  expected error code 0, got 1.
  STDERR MISMATCH:
  --- expected
  +++ actual
  @@ -0,0 +1,3 @@
  +Error running "out/test/wasm2c/spec/f32/f32":
  +f32-main.c:7733: assertion failed: in Z_f32_0Z_nearestZ_ff(-make_nan_f32(0x200000)): expected result to be a arithmetic nan, got 0xffa00000.
  +f32-main.c:7739: assertion failed: in Z_f32_0Z_nearestZ_ff(make_nan_f32(0x200000)): expected result to be a arithmetic nan, got 0x7fa00000.
  STDOUT MISMATCH:
  --- expected
  +++ actual
  @@ -1 +1 @@
  -2500/2500 tests passed.
  +2498/2500 tests passed.
- test/wasm2c/spec/f64.txt
  expected error code 0, got 1.
  STDERR MISMATCH:
  --- expected
  +++ actual
  @@ -0,0 +1,3 @@
  +Error running "out/test/wasm2c/spec/f64/f64":
  +f64-main.c:7733: assertion failed: in Z_f64_0Z_nearestZ_dd(-make_nan_f64(0x4000000000000)): expected result to be a arithmetic nan, got 0x0000000000000000.
  +f64-main.c:7739: assertion failed: in Z_f64_0Z_nearestZ_dd(make_nan_f64(0x4000000000000)): expected result to be a arithmetic nan, got 0x0000000000000000.
  STDOUT MISMATCH:
  --- expected
  +++ actual
  @@ -1 +1 @@
  -2500/2500 tests passed.
  +2498/2500 tests passed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing test/spec/conversions.txt, test/wasm2c/spec/conversions.txt, test/wasm2c/spec/f32.txt, and test/wasm2c/spec/f64.txt on POWER8 with the listed Fedora and RHEL/CentOS toolchains. Read test/run-spec-wasm2c.py alongside the failing generated assertions; done means all listed tests pass on the affected configurations.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python, wasm
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.