Closed Bug 1670323 Opened 2 years ago Closed 2 years ago

Intermittent testDeduplication_ASSC | z:/task_1602249667/src/js/src/jsapi-tests/testDeduplication.cpp:77:CHECK failed: !SameChars(cx, depdep, original, 20)

Categories

(Core :: JavaScript Engine, defect, P5)

defect

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: arai)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Filed by: apavel [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=318183747&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/VZYdEmeaRSqPPNXZzQziJg/runs/0/artifacts/public/logs/live_backing.log


[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDefinePropertyIgnoredAttributes | ok
[task 2020-10-09T18:43:57.034Z] testDefineProperty_bug564344
[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDefineProperty_bug564344 | ok
[task 2020-10-09T18:43:57.034Z] testDefineGetterSetterNonEnumerable
[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDefineGetterSetterNonEnumerable | ok
[task 2020-10-09T18:43:57.034Z] testDeepFreeze_loop
[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDeepFreeze_loop | ok
[task 2020-10-09T18:43:57.034Z] testDeepFreeze_deep
[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDeepFreeze_deep | ok
[task 2020-10-09T18:43:57.034Z] testDeepFreeze_bug535703
[task 2020-10-09T18:43:57.034Z] TEST-PASS | testDeepFreeze_bug535703 | ok
[task 2020-10-09T18:43:57.034Z] testDeduplication_ASSC
[task 2020-10-09T18:43:57.034Z] TEST-UNEXPECTED-FAIL | testDeduplication_ASSC | z:/task_1602249667/src/js/src/jsapi-tests/testDeduplication.cpp:77:CHECK failed: !SameChars(cx, depdep, original, 20)
[task 2020-10-09T18:43:57.034Z] testXDR_sourceMap
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testXDR_sourceMap | ok
[task 2020-10-09T18:43:57.035Z] testXDR_source
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testXDR_source | ok
[task 2020-10-09T18:43:57.035Z] testXDR_bug516827
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testXDR_bug516827 | ok
[task 2020-10-09T18:43:57.035Z] testXDR_bug506491
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testXDR_bug506491 | ok
[task 2020-10-09T18:43:57.035Z] testWindowNonConfigurable
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testWindowNonConfigurable | ok
[task 2020-10-09T18:43:57.035Z] testWeakMap_keyDelegates
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testWeakMap_keyDelegates | ok
[task 2020-10-09T18:43:57.035Z] testWeakMap_basicOperations
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testWeakMap_basicOperations | ok
[task 2020-10-09T18:43:57.035Z] testDebugger_newScriptHook
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testDebugger_newScriptHook | ok
[task 2020-10-09T18:43:57.035Z] testDateToLocaleString
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testDateToLocaleString | ok
[task 2020-10-09T18:43:57.035Z] testMultiUnitUtf8InWindow
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testMultiUnitUtf8InWindow | ok
[task 2020-10-09T18:43:57.035Z] testUtf8BadBytes
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testUtf8BadBytes | ok
[task 2020-10-09T18:43:57.035Z] testCompileScript
[task 2020-10-09T18:43:57.035Z] TEST-PASS | testCompileScript | ok```

Can you try to identify what started this frequent Windows debug failure? Thank you in advance.

Flags: needinfo?(sphink)

bug 1669790 + bug 1669814 + bug 1669851 + bug 1670109 patch stack seems to increase the frequency of this issue.

In failure case, Nursery::relocateDependentStringChars is called in the following backtrace.

#0 void js::Nursery::relocateDependentStringChars<unsigned char>(JSDependentString*, JSLinearString*, unsigned long*, bool*, JSLinearString**) + 131
#1 js::Nursery::collectToFixedPoint(js::TenuringTracer&, js::gc::TenureCountCache&) + 456
#2 js::Nursery::doCollection(JS::GCReason, js::gc::TenureCountCache&) + 1747
#3 js::Nursery::collect(JSGCInvocationKind, JS::GCReason) + 1071
#4 js::gc::GCRuntime::collectNursery(JSGCInvocationKind, JS::GCReason, js::gcstats::PhaseKind) + 676
#5 js::gc::GCRuntime::gcCycle(bool, js::SliceBudget, mozilla::Maybe<JSGCInvocationKind> const&, JS::GCReason) + 1663
#6 js::gc::GCRuntime::collect(bool, js::SliceBudget, mozilla::Maybe<JSGCInvocationKind> const&, JS::GCReason) + 925
#7 js::gc::GCRuntime::runDebugGC() + 1177
#8 bool js::gc::GCRuntime::checkAllocatorState<(js::AllowGC)1>(JSContext*, js::gc::AllocKind) + 36
#9 JSString* js::AllocateStringImpl<JSString, (js::AllowGC)1>(JSContext*, js::gc::InitialHeap) + 141
#10 JSLinearString* JSLinearString::new_<(js::AllowGC)1, unsigned char>(JSContext*, mozilla::UniquePtr<unsigned char [], JS::FreePolicy>, unsigned long, js::gc::InitialHeap) + 222
#11 JSLinearString* js::NewStringCopyNDontDeflate<(js::AllowGC)1, unsigned char>(JSContext*, unsigned char const*, unsigned long, js::gc::InitialHeap) + 793
#12 cls_testDeduplication_ASSC::run(JS::Handle<JSObject*>) + 1710
#13 main
#14 start

it's the following call,
https://searchfox.org/mozilla-central/rev/c2e3ac11be4837718c2604e58085fbc8252b69dd/js/src/jsapi-tests/testDeduplication.cpp#58

and that's before explicitly calling cx->minorGC(JS::GCReason::API) here:
https://searchfox.org/mozilla-central/rev/c2e3ac11be4837718c2604e58085fbc8252b69dd/js/src/jsapi-tests/testDeduplication.cpp#86

that seems to break the initial state assumption about the deduplication in the testcase.

Blocks: 1670109
Assignee: nobody → arai.unmht
Status: NEW → ASSIGNED
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/361dcdc9f4d4
Prevent GC in between allocating strings and dependent strings in deduplication test. r=sfink
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/facab8f08782
Prevent GC in between allocating strings and dependent strings in deduplication test. r=sfink
Flags: needinfo?(arai.unmht)
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
Flags: needinfo?(sphink)
You need to log in before you can comment on or make changes to this bug.