Closed Bug 1416909 Opened 7 years ago Closed 7 years ago

UBSan: js/src/wasm/WasmValidate.h:412:31: runtime error: left shift of 127 by 63 places cannot be represented in type 'long int'

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1404251

People

(Reporter: nathanrogers, Assigned: anba)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36

Steps to reproduce:

Build trunk SpiderMonkey (391492:c616a6fd5e4b) with GCC 7.2 and UBSan targeting x64 linux.

$ js/src/build_DBG.OBJ/dist/bin/js -f js/src/jit-test/lib/prologue.js --js-cache js/src/jit-test/.js-cache --no-wasm-baseline -e 'const platform='"'"'linux2'"'"'' -e 'const libdir='"'"'js/src/jit-test/lib/'"'"'' -e 'const scriptdir='"'"'js/src/jit-test/tests/wasm/regress/'"'"'' -f js/src/jit-test/lib/wasm.js -f js/src/jit-test/tests/wasm/regress/regalloc-i64-load-store-global.js


Actual results:

js/src/wasm/WasmValidate.h:412:31: runtime error: left shift of 127 by 63 places cannot be represented in type 'long int'

will be logged during execution.


Expected results:

The test should run without UBSan runtime errors.
Flags: needinfo?(bbouvier)
Similar to bug 1416912, bug 1404251 already has a patch for this issue.
Flags: needinfo?(bbouvier)
Or rather the try-push contains the patch.
Thanks André! Happy to do the reviews for the wasm bits, they seem trivial.

Out of curiosity (and since I haven't found how to do it), what are the right flags to compile Spidermonkey with UBSan? (maybe we could put it in a centralized place: the meta bug, or mdn, or wiki, I don't know). I've found the configure flag --enable-ubsan-int-overflow, but I assume there might be more in the compiler flags.
(In reply to Benjamin Bouvier [:bbouvier] from comment #3)
> Thanks André! Happy to do the reviews for the wasm bits, they seem trivial.
> 
> Out of curiosity (and since I haven't found how to do it), what are the
> right flags to compile Spidermonkey with UBSan? (maybe we could put it in a
> centralized place: the meta bug, or mdn, or wiki, I don't know). I've found
> the configure flag --enable-ubsan-int-overflow, but I assume there might be
> more in the compiler flags.

I think I've just used "export CFLAGS=-fsanitize=undefined" and "export CXXFLAGS=-fsanitize=undefined" to compile SM with UBSan.
Assignee: nobody → andrebargull
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
I've verified this warning was fixed by bug 1404251.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.