WebAssembly / WebAssembly/wabt
test failures on x86 32bit (i686)
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 8.1k
- Forks
- 827
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 18
Description
Running the 1.0.10 testsuite (test/run-tests.py) on x86 32bit (i686) yields the following failed tests:
- test/interp/unary.txt
STDOUT MISMATCH:
--- expected
+++ actual
@@ -21,7 +21,7 @@
f64_abs() => f64:100.000000
f64_sqrt_neg_is_nan() => i32:1
f64_sqrt_100() => f64:10.000000
-f64_ceil() => f64:-0.000000
+f64_ceil() => f64:0.000000
f64_floor() => f64:-1.000000
f64_trunc() => f64:-0.000000
f64_nearest_lo() => f64:1.000000
...
- test/wasm2c/spec/conversions.txt
expected error code 0, got 1.
STDERR MISMATCH:
--- expected
+++ actual
@@ -0,0 +1,17 @@
+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:1394: assertion failed: in Z_conversions_0Z_i32Z2Ereinterpret_f32Z_if(make_nan_f32(0x200000)): expected 2141192192, got 2145386496.
+conversions-main.c:1397: assertion failed: in Z_conversions_0Z_i32Z2Ereinterpret_f32Z_if(-make_nan_f32(0x200000)): expected 4288675840, got 4292870144.
+conversions-main.c:1439: assertion failed: in Z_conversions_0Z_i64Z2Ereinterpret_f64Z_jd(make_nan_f64(0x4000000000000)): expected 9219994337134247936, got 9222246136947933184.
+conversions-main.c:1442: assertion failed: in Z_conversions_0Z_i64Z2Ereinterpret_f64Z_jd(-make_nan_f64(0x4000000000000)): expected 18443366373989023744, got 18445618173802708992.
+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.
+397/401 tests passed.
- test/wasm2c/spec/float_literals.txt
expected error code 0, got 1.
STDERR MISMATCH:
--- expected
+++ actual
@@ -0,0 +1,21 @@
+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/float_literals/float_literals":
+float_literals-main.c:258: assertion failed: in Z_float_literals_0Z_f32Z2Einformally_known_as_plain_snanZ_iv(): expected 2141192192, got 2145386496.
+float_literals-main.c:264: assertion failed: in Z_float_literals_0Z_f32Z2Emisc_nanZ_iv(): expected 2139169605, got 2143363909.
+float_literals-main.c:267: assertion failed: in Z_float_literals_0Z_f32Z2Emisc_positive_nanZ_iv(): expected 2142257232, got 2146451536.
+float_literals-main.c:270: assertion failed: in Z_float_literals_0Z_f32Z2Emisc_negative_nanZ_iv(): expected 4289379550, got 4293573854.
+float_literals-main.c:351: assertion failed: in Z_float_literals_0Z_f64Z2Einformally_known_as_plain_snanZ_jv(): expected 9219994337134247936, got 9222246136947933184.
+float_literals-main.c:357: assertion failed: in Z_float_literals_0Z_f64Z2Emisc_nanZ_jv(): expected 9218888453225749180, got 9221140253039434428.
+float_literals-main.c:360: assertion failed: in Z_float_literals_0Z_f64Z2Emisc_positive_nanZ_jv(): expected 9219717281780008969, got 9221969081593694217.
+float_literals-main.c:363: assertion failed: in Z_float_literals_0Z_f64Z2Emisc_negative_nanZ_jv(): expected 18442992325002076997, got 18445244124815762245.
+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 @@
-83/83 tests passed.
+75/83 tests passed.
- test/wasm2c/spec/float_memory.txt
expected error code 0, got 1.
STDERR MISMATCH:
--- expected
+++ actual
@@ -0,0 +1,17 @@
+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/float_memory/float_memory":
+float_memory-main.c:280: assertion failed: in Z_float_memory_0Z_i32Z2EloadZ_iv(): expected 2141192192, got 2145386496.
+float_memory-main.c:325: assertion failed: in Z_float_memory_1Z_i64Z2EloadZ_jv(): expected 9219994337134247936, got 9222246136947933184.
+float_memory-main.c:370: assertion failed: in Z_float_memory_2Z_i32Z2EloadZ_iv(): expected 2141192192, got 2145386496.
+float_memory-main.c:415: assertion failed: in Z_float_memory_3Z_i64Z2EloadZ_jv(): expected 9219994337134247936, got 9222246136947933184.
+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 @@
-60/60 tests passed.
+56/60 tests passed.
- test/wasm2c/spec/float_misc.txt
expected error code 0, got 1.
STDERR MISMATCH:
--- expected
+++ actual
@@ -0,0 +1,42 @@
+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/float_misc/float_misc":
+float_misc-main.c:257: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(1, 1.1102230246251568e-16): expected 1.0000000000000002, got 1.
+float_misc-main.c:269: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(9.2233720368547758e+18, 1024.25): expected 9.2233720368547779e+18, got 9.2233720368547758e+18.
+float_misc-main.c:275: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(9007199254740992, 1.0000100000000001): expected 4.4501477170144047e-308, got 9007199254740992.
+float_misc-main.c:278: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(9007199254740994, 0.9999847412109375): expected 4.4501477170144047e-308, got 9007199254740996.
+float_misc-main.c:383: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(-2.1089660532788995e+242, 5.8148323342119634e+248): expected 5.8148302252459106e+248, got 5.8148302252459096e+248.
+float_misc-main.c:386: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(1.0231579266682148e+236, 4.5020430079749491e+224): expected 1.0231579266727168e+236, got 1.023157926672717e+236.
+float_misc-main.c:389: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(-1.3052997857095656e+188, 1.5489943422018657e+203): expected 1.5489943422018645e+203, got 1.5489943422018643e+203.
+float_misc-main.c:392: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(4.7629997434721684e+139, 4.5558645105825967e+155): expected 4.5558645105825967e+155, got 4.5558645105825976e+155.
+float_misc-main.c:395: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(3.9589525165584138e-300, 2.3092460710062946e-290): expected 2.30924607140219e-290, got 2.3092460714021897e-290.
+float_misc-main.c:491: assertion failed: in Z_float_misc_0Z_f64Z2EaddZ_ddd(1.7976931348623157e+308, 9.979201547673598e+291): expected 1.7976931348623157e+308, got inf.
+float_misc-main.c:512: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(1, 5.5511151231257839e-17): expected 0.99999999999999989, got 1.
+float_misc-main.c:605: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(5.8169880657930389e-24, 2.5021499241540866e-35): expected 5.8169880657680178e-24, got 5.816988065768017e-24.
+float_misc-main.c:608: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(4.3336683304809554e-296, 1.6945582607476316e-304): expected 4.3336683135353726e-296, got 4.3336683135353731e-296.
+float_misc-main.c:611: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(6.9080526763152571e-77, 1.2001773734799856e-60): expected -1.2001773734799856e-60, got -1.2001773734799854e-60.
+float_misc-main.c:614: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(-2.2044291547443813e-12, -2.7947429925618632e-21): expected -2.2044291519496381e-12, got -2.2044291519496385e-12.
+float_misc-main.c:617: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(4.0163935691177612e-08, 0.17053881989395447): expected -0.17053877973001877, got -0.1705387797300188.
+float_misc-main.c:701: assertion failed: in Z_float_misc_0Z_f64Z2EsubZ_ddd(1.7976931348623157e+308, 9.979201547673598e+291): expected 1.7976931348623157e+308, got 1.7976931348623155e+308.
+float_misc-main.c:728: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(1848874847, 19954562207): expected 3.6893488147419111e+19, got 3.6893488147419103e+19.
+float_misc-main.c:827: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(4.4091927284399547e-103, 1.1518840702296592e-173): expected 5.0788788664624316e-276, got 5.0788788664624308e-276.
+float_misc-main.c:830: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(-0.0029800418264724318, 6.3125412993218003e+217): expected -1.8811637103313594e+215, got -1.8811637103313598e+215.
+float_misc-main.c:833: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(-3.0834457808130011e+110, -1.0081049555008529e-196): expected 3.1084369716557833e-86, got 3.1084369716557829e-86.
+float_misc-main.c:836: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(3.4938750131567728e+233, 2.1313169159308099e+18): expected 7.4465549176890102e+251, got 7.4465549176890113e+251.
+float_misc-main.c:839: assertion failed: in Z_float_misc_0Z_f64Z2EmulZ_ddd(-1.2500108005100234e-83, 1.0352657041604675e+270): expected -1.294093311598199e+187, got -1.2940933115981991e+187.
+float_misc-main.c:1055: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(-2.0395956046834761e+176, -7.4740887394612257e+58): expected 2.7288886656040712e+117, got 2.7288886656040717e+117.
+float_misc-main.c:1058: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(-3.0426171229468766e+164, -2.6556792326588243e+99): expected 1.1457020432022042e+65, got 1.145702043202204e+65.
+float_misc-main.c:1061: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(4.9235240512480726e+55, -3.6634082831003669e+290): expected -1.3439736089369927e-235, got -1.3439736089369929e-235.
+float_misc-main.c:1064: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(2.8926084355634162e+65, 5.1719487583733548e+128): expected 5.5928791461444777e-64, got 5.5928791461444784e-64.
+float_misc-main.c:1067: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(-4.2154258234426861e+248, 1.4285058546706491e+105): expected -2.9509335293656034e+143, got -2.950933529365603e+143.
+float_misc-main.c:1217: assertion failed: in Z_float_misc_0Z_f64Z2EdivZ_ddd(1, 0.99999999999999989): expected 1.0000000000000002, got 1.
+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 @@
-440/440 tests passed.
+411/440 tests passed.
- test/wasm2c/spec/float_exprs.txt
expected error code 0, got 1.
STDERR MISMATCH:
--- expected
+++ actual
@@ -0,0 +1,17 @@
+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/float_exprs/float_exprs":
+float_exprs-main.c:3133: assertion failed: in Z_float_exprs_87Z_f32Z2Enonarithmetic_nan_bitpatternZ_ii(2139107856u): expected 4286591504, got 4290785808.
+float_exprs-main.c:3136: assertion failed: in Z_float_exprs_87Z_f32Z2Enonarithmetic_nan_bitpatternZ_ii(4286591504u): expected 2139107856, got 2143302160.
+float_exprs-main.c:3163: assertion failed: in Z_float_exprs_87Z_f64Z2Enonarithmetic_nan_bitpatternZ_jj(9218868437227418128ull): expected 18442240474082193936, got 18444492273895879184.
+float_exprs-main.c:3166: assertion failed: in Z_float_exprs_87Z_f64Z2Enonarithmetic_nan_bitpatternZ_jj(18442240474082193936ull): expected 9218868437227418128, got 9221120237041103376.
+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 @@
-794/794 tests passed.
+790/794 tests passed.
...
**** FAILED ******************************************************************
- test/interp/unary.txt
/builddir/build/BUILD/wabt-1.0.10/bin/wasm-interp out/test/interp/unary/unary.wasm --run-all-exports
- test/wasm2c/spec/conversions.txt
/usr/bin/python3 /builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py out/test/wasm2c/spec/conversions.wast --bindir=/builddir/build/BUILD/wabt-1.0.10/bin --no-error-cmdline -o out/test/wasm2c/spec/conversions
- test/wasm2c/spec/float_literals.txt
/usr/bin/python3 /builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py out/test/wasm2c/spec/float_literals.wast --bindir=/builddir/build/BUILD/wabt-1.0.10/bin --no-error-cmdline -o out/test/wasm2c/spec/float_literals
- test/wasm2c/spec/float_memory.txt
/usr/bin/python3 /builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py out/test/wasm2c/spec/float_memory.wast --bindir=/builddir/build/BUILD/wabt-1.0.10/bin --no-error-cmdline -o out/test/wasm2c/spec/float_memory
- test/wasm2c/spec/float_misc.txt
/usr/bin/python3 /builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py out/test/wasm2c/spec/float_misc.wast --bindir=/builddir/build/BUILD/wabt-1.0.10/bin --no-error-cmdline -o out/test/wasm2c/spec/float_misc
- test/wasm2c/spec/float_exprs.txt
/usr/bin/python3 /builddir/build/BUILD/wabt-1.0.10/test/run-spec-wasm2c.py out/test/wasm2c/spec/float_exprs.wast --bindir=/builddir/build/BUILD/wabt-1.0.10/bin --no-error-cmdline -o out/test/wasm2c/spec/float_exprs
I suspect all but the first are due to lower float precision.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running test/run-tests.py on an x86 32-bit (i686) environment and review the failures in test/interp/unary.txt and the listed test/wasm2c/spec/*.txt files. Compare the generated wasm2c results and Python test-runner errors with the expected outputs; done means the affected tests pass on i686 without changing their intended results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python, wasm
- Domain
- compilers, operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100