Assertion failure: Self-hosted JavaScript assertion info: non-canonical BestAvailableLocale locale

RESOLVED DUPLICATE of bug 1268139

Status

()

Core
JavaScript: Internationalization API
RESOLVED DUPLICATE of bug 1268139
11 months ago
8 months ago

People

(Reporter: rforbes, Unassigned)

Tracking

(Blocks: 1 bug, 5 keywords)

Trunk
x86_64
Linux
assertion, crash, jsbugmon, regression, testcase
Points:
---

Firefox Tracking Flags

(firefox54 wontfix, firefox55 wontfix, firefox56 wontfix)

Details

(Whiteboard: [jsbugmon:update])

Attachments

(1 attachment, 1 obsolete attachment)

473 bytes, application/x-javascript
Details
(Reporter)

Description

11 months ago
The following testcase crashes on mozilla-inbound revision a49112c7a576 (build with --enable-posix-nspr-emulation --enable-valgrind --enable-gczeal --disable-tests --enable-address-sanitizer --disable-jemalloc --enable-optimize=-O2 --enable-debug, run with ):

See attachment.


Backtrace:

==35198==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000001eda907 bp 0x7fffbdfd12d0 sp 0x7fffbdfd12b0 T0)
==35198==The signal is caused by a WRITE memory access.
==35198==Hint: address points to the zero page.
    #0 0x1eda906 in intrinsic_AssertionFailed(JSContext*, unsigned int, JS::Value*) js/src/vm/SelfHosting.cpp:362:5
    #1 0x860a2c in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) js/src/jscntxtinlines.h:293:15
    #2 0x83dfb8 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:470:16
    #3 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #4 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #5 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #6 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #7 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #8 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #9 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #10 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #11 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #12 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #13 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #14 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #15 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #16 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #17 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #18 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #19 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #20 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #21 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #22 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #23 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #24 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #25 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #26 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #27 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #28 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #29 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #30 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #31 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #32 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #33 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #34 0x83dfe2 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488:15
    #35 0x811d07 in js::CallFromStack(JSContext*, JS::CallArgs const&) js/src/vm/Interpreter.cpp:521:12
    #36 0x811d07 in Interpret(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:3028
    #37 0x809b3d in js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410:12
    #38 0x841ec3 in js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) js/src/vm/Interpreter.cpp:699:15
    #39 0x842b5d in js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) js/src/vm/Interpreter.cpp:731:12
    #40 0x14fe63c in ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) js/src/jsapi.cpp:4559:12
    #41 0x14fe960 in JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>) js/src/jsapi.cpp:4592:12
    #42 0x5d4506 in RunFile(JSContext*, char const*, _IO_FILE*, bool) js/src/shell/js.cpp:607:14
    #43 0x5d4506 in Process(JSContext*, char const*, bool, FileKind) js/src/shell/js.cpp:957
    #44 0x578a82 in ProcessArgs(JSContext*, js::cli::OptionParser*) js/src/shell/js.cpp:7752:14
    #45 0x578a82 in Shell(JSContext*, js::cli::OptionParser*, char**) js/src/shell/js.cpp:8115
    #46 0x578a82 in main js/src/shell/js.cpp:8511
    #47 0x7fa9af28d82f in __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291
    #48 0x479218 in _start (/home/rforbes/src/jsshell-afl/debug/dist/bin/js+0x479218)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV js/src/vm/SelfHosting.cpp:362:5 in intrinsic_AssertionFailed(JSContext*, unsigned int, JS::Value*)
==35198==ABORTING
(Reporter)

Comment 1

11 months ago
Created attachment 8880991 [details]
Testcase
(Reporter)

Updated

11 months ago
Summary: Assertion failure: false, at js/src/vm/SelfHosting.cpp:362 → Assertion failure: Self-hosted JavaScript assertion info: non-canonical BestAvailableLocale locale
(Reporter)

Comment 2

11 months ago
Self-hosted JavaScript assertion info: "/srv/jenkins/jobs/mozilla-inbound-clone-intl/workspace/js/src/builtin/Intl.js:847: non-canonical BestAvailableLocale locale"
Assertion failure: false, at /srv/jenkins/jobs/mozilla-inbound-clone-intl/workspace/js/src/vm/SelfHosting.cpp:362
ASAN:DEADLYSIGNAL
=================================================================
(Reporter)

Updated

11 months ago
Severity: critical → normal
Component: JavaScript Engine → JavaScript: Internationalization API
(Reporter)

Comment 3

11 months ago
Created attachment 8880992 [details]
repro.js
Attachment #8880991 - Attachment is obsolete: true

Updated

11 months ago
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]

Comment 4

11 months ago
JSBugMon: Bisection requested, result:
autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/3f47a92541c8
user:        Zibi Braniecki
date:        Tue Sep 13 20:49:21 2016 -0700
summary:     Bug 1289340 - Expose Intl.DateTimeFormat.prototype.formatToParts. r=waldo

This iteration took 233.230 seconds to run.

Updated

11 months ago
status-firefox54: --- → affected
status-firefox55: --- → affected

Comment 5

11 months ago
Same underlying issue as bug 1268139. I still need to check with ietf-languages if it's actually allowed to use Unicode extension subbtags with grandfathered language tags like zh-min-nan.
Status: NEW → RESOLVED
Last Resolved: 11 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1268139

Comment 6

11 months ago
Not a new regression in 54. Marl 54 won't fix.
status-firefox54: affected → wontfix
status-firefox55: affected → wontfix
status-firefox56: affected → wontfix
You need to log in before you can comment on or make changes to this bug.