SpiderMonkey 52 JS tests fail on s390x

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SpiderMonkey 52 JS tests fail on s390x

Charles G Robertson
Hi,

Hoping someone can shed some light on this.

We are building SpiderMonkey 52 for s390x and when the regression/unit test suites run the following tests fail:

js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js
js/src/tests/ecma_6/TypedArray/subarray.js
js/src/tests/ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
js/src/tests/ecma_6/TypedArray/set-same-buffer-different-source-target-types.js
js/src/tests/js1_8_5/extensions/clone-transferables.js:

I would love it if these tests are no longer valid and can be removed. However, I suspect they are necessary tests and should be considered an indication of problems with the build. Or if there is a particular build parameter we should be using for s390x that would make these work would be wonderful.

Either way, is there anyone that can shed some light on this? Is there any reason mozjs on s390x should behave differently?

Thank you.
Charles Robertson
SpiderMonkey Maintainer for openSUSE

Here is our build log excerpts for these failing tests:
...
js/src/tests/js1_8_5/extensions/clone-transferables.js:
[  832s] ## js1_8_5/extensions/clone-transferables.js: rc = 3, run time = 0.394776
[  832s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f shell.js -f js1_8_5/shell.js -f js1_8_5/extensions/shell.js -f js1_8_5/extensions/clone-transferables.js
[  832s] js1_8_5/extensions/clone-transferables.js:42:17 Error: Assertion failed: got 0, expected NaN
[  832s] Stack:
[  832s]   test@js1_8_5/extensions/clone-transferables.js:42:17
[  832s]   @js1_8_5/extensions/clone-transferables.js:111:1
[  832s] REGRESSION - js1_8_5/extensions/clone-transferables.js
...
js/src/tests/ecma_6/TypedArray/set-same-buffer-different-source-target-types.js
[  852s] ## ecma_6/TypedArray/set-same-buffer-different-source-target-types.js: rc = 3, run time = 0.42572
[  852s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f ecma_6/TypedArray/set-same-buffer-different-source-target-types.js
[  852s] 896116: When setting a typed array from an overlapping typed array of different element type, copy the source elements into properly-sized temporary memory, and properly copy them into the target without overflow (of either source *or* target) when finished
[  852s] ecma_6/TypedArray/set-same-buffer-different-source-target-types.js:27:11 RangeError: attempting to construct out-of-bounds TypedArray on ArrayBuffer
[  852s] Stack:
[  852s]   @ecma_6/TypedArray/set-same-buffer-different-source-target-types.js:27:11
...
js/src/tests/ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
[  852s] ## ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js: rc = 3, run time = 0.279539
[  852s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
[  852s] ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js:8:9 Error: Assertion failed: got 3, expected 0
[  852s] Stack:
[  852s]   @ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js:8:9
[  852s] REGRESSION - ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
...
js/src/tests/ecma_6/TypedArray/subarray.js
[  853s] ## ecma_6/TypedArray/subarray.js: rc = 3, run time = 0.61169
[  853s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f ecma_6/TypedArray/subarray.js
[  853s] ecma_6/TypedArray/subarray.js:8:26 RangeError: attempting to construct out-of-bounds TypedArray on ArrayBuffer
[  853s] Stack:
[  853s]   @ecma_6/TypedArray/subarray.js:8:26
[  853s] REGRESSION - ecma_6/TypedArray/subarray.js
...
js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js
[  862s] ## ecma_6/ArrayBuffer/CloneArrayBuffer.js: rc = 3, run time = 0.154005
[  862s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f shell.js -f ecma_6/shell.js -f ecma_6/ArrayBuffer/shell.js -f ecma_6/ArrayBuffer/CloneArrayBuffer.js
[  862s] 1264941: CloneArrayBuffer should be called with byteLength of source typedArray
[  862s] ecma_6/ArrayBuffer/CloneArrayBuffer.js:16:7 Error: Assertion failed: got 8, expected 0
[  862s] Stack:
[  862s]   test@ecma_6/ArrayBuffer/CloneArrayBuffer.js:16:7
[  862s]   @ecma_6/ArrayBuffer/CloneArrayBuffer.js:27:1
[  862s] REGRESSION - ecma_6/ArrayBuffer/CloneArrayBuffer.js
...



_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine
Reply | Threaded
Open this post in threaded view
|

Re: SpiderMonkey 52 JS tests fail on s390x

Jason Orendorff-2
Charles,

Sorry for the lack of response here. Yes, these test are real, and they
should pass. Without looking closer, I can add that problems with typed
arrays and ArrayBuffer (which all of these are) are especially worrying
from a security/crash-safety perspective.

All of these tests happen to use BYTES_PER_ELEMENT. Can you run the JS
shell you built manually? What's the value of
Float64Array.BYTES_PER_ELEMENT?

Consider getting an account on bugzilla.mozilla.org and filing this as a
bug.

-j

On Thu, Oct 26, 2017 at 1:26 PM, Charles G Robertson <[hidden email]>
wrote:

> Hi,
>
> Hoping someone can shed some light on this.
>
> We are building SpiderMonkey 52 for s390x and when the regression/unit
> test suites run the following tests fail:
>
> js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js
> js/src/tests/ecma_6/TypedArray/subarray.js
> js/src/tests/ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
> js/src/tests/ecma_6/TypedArray/set-same-buffer-
> different-source-target-types.js
> js/src/tests/js1_8_5/extensions/clone-transferables.js:
>
> I would love it if these tests are no longer valid and can be removed.
> However, I suspect they are necessary tests and should be considered an
> indication of problems with the build. Or if there is a particular build
> parameter we should be using for s390x that would make these work would be
> wonderful.
>
> Either way, is there anyone that can shed some light on this? Is there any
> reason mozjs on s390x should behave differently?
>
> Thank you.
> Charles Robertson
> SpiderMonkey Maintainer for openSUSE
>
> Here is our build log excerpts for these failing tests:
> ...
> js/src/tests/js1_8_5/extensions/clone-transferables.js:
> [  832s] ## js1_8_5/extensions/clone-transferables.js: rc = 3, run time =
> 0.394776
> [  832s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f
> shell.js -f js1_8_5/shell.js -f js1_8_5/extensions/shell.js -f
> js1_8_5/extensions/clone-transferables.js
> [  832s] js1_8_5/extensions/clone-transferables.js:42:17 Error: Assertion
> failed: got 0, expected NaN
> [  832s] Stack:
> [  832s]   test@js1_8_5/extensions/clone-transferables.js:42:17
> [  832s]   @js1_8_5/extensions/clone-transferables.js:111:1
> [  832s] REGRESSION - js1_8_5/extensions/clone-transferables.js
> ...
> js/src/tests/ecma_6/TypedArray/set-same-buffer-
> different-source-target-types.js
> [  852s] ## ecma_6/TypedArray/set-same-buffer-different-source-target-types.js:
> rc = 3, run time = 0.42572
> [  852s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f
> shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f
> ecma_6/TypedArray/set-same-buffer-different-source-target-types.js
> [  852s] 896116: When setting a typed array from an overlapping typed
> array of different element type, copy the source elements into
> properly-sized temporary memory, and properly copy them into the target
> without overflow (of either source *or* target) when finished
> [  852s] ecma_6/TypedArray/set-same-buffer-different-source-target-types.js:27:11
> RangeError: attempting to construct out-of-bounds TypedArray on ArrayBuffer
> [  852s] Stack:
> [  852s]   @ecma_6/TypedArray/set-same-buffer-different-source-
> target-types.js:27:11
> ...
> js/src/tests/ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
> [  852s] ## ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js:
> rc = 3, run time = 0.279539
> [  852s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f
> shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f
> ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js
> [  852s] ecma_6/TypedArray/Tconstructor-fromTypedArray-byteLength.js:8:9
> Error: Assertion failed: got 3, expected 0
> [  852s] Stack:
> [  852s]   @ecma_6/TypedArray/Tconstructor-fromTypedArray-
> byteLength.js:8:9
> [  852s] REGRESSION - ecma_6/TypedArray/Tconstructor-fromTypedArray-
> byteLength.js
> ...
> js/src/tests/ecma_6/TypedArray/subarray.js
> [  853s] ## ecma_6/TypedArray/subarray.js: rc = 3, run time = 0.61169
> [  853s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f
> shell.js -f ecma_6/shell.js -f ecma_6/TypedArray/shell.js -f
> ecma_6/TypedArray/subarray.js
> [  853s] ecma_6/TypedArray/subarray.js:8:26 RangeError: attempting to
> construct out-of-bounds TypedArray on ArrayBuffer
> [  853s] Stack:
> [  853s]   @ecma_6/TypedArray/subarray.js:8:26
> [  853s] REGRESSION - ecma_6/TypedArray/subarray.js
> ...
> js/src/tests/ecma_6/ArrayBuffer/CloneArrayBuffer.js
> [  862s] ## ecma_6/ArrayBuffer/CloneArrayBuffer.js: rc = 3, run time =
> 0.154005
> [  862s] /home/abuild/rpmbuild/BUILD/mozilla/js/src/js/src/shell/js -f
> shell.js -f ecma_6/shell.js -f ecma_6/ArrayBuffer/shell.js -f
> ecma_6/ArrayBuffer/CloneArrayBuffer.js
> [  862s] 1264941: CloneArrayBuffer should be called with byteLength of
> source typedArray
> [  862s] ecma_6/ArrayBuffer/CloneArrayBuffer.js:16:7 Error: Assertion
> failed: got 8, expected 0
> [  862s] Stack:
> [  862s]   test@ecma_6/ArrayBuffer/CloneArrayBuffer.js:16:7
> [  862s]   @ecma_6/ArrayBuffer/CloneArrayBuffer.js:27:1
> [  862s] REGRESSION - ecma_6/ArrayBuffer/CloneArrayBuffer.js
> ...
>
>
>
> _______________________________________________
> dev-tech-js-engine mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-tech-js-engine
>
_______________________________________________
dev-tech-js-engine mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-js-engine