Re: SpiderMonkey 52 JS tests fail on s390x

Jason Orendorff <[email protected]> Tue, 7 Nov 2017 08:52:39 -0600
Newsgroups gmane.comp.mozilla.devel.jseng
Message-ID <CA+W3DWFQqXL=10rhOsZBke_tSa7Qjbg15V9BiPG7O3oqEbvRBg@mail.gmail.com>
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 <[email protected]>
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
> [email protected]
> https://lists.mozilla.org/listinfo/dev-tech-js-engine
>