Bug 240023

Summary: REGRESSION (r293703): 358 JSC tests failing
Product: WebKit Reporter: Truitt Savell <tsavell>
Component: JavaScriptCoreAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, mark.lam, webkit-bot-watchers-bugzilla, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Truitt Savell
Reported 2022-05-03 10:11:46 PDT
Somewhere between 250180@main - 250200@main it seems that 358 JSC tests began failing constantly on Mac Most of these are from the stress/ directory, with some in microbenchmarks/ and v8-v6/ Build https://build.webkit.org/#/builders/378/builds/1003 history example: https://results.webkit.org/?suite=javascriptcore-tests&test=microbenchmarks%2Fempty-string-plus-int.js.bytecode-cache
Attachments
Radar WebKit Bug Importer
Comment 1 2022-05-03 10:12:15 PDT
Truitt Savell
Comment 2 2022-05-03 10:14:54 PDT
stress/for-in-string.js.bytecode-cache: ASSERTION FAILED: m_isConstructed stress/for-in-string.js.bytecode-cache: /Users/yusukesuzuki/dev/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/NeverDestroyed.h(152) : WTF::LazyNeverDestroyed::PointerType WTF::LazyNeverDestroyed<const WTF::AtomString>::storagePointerWithoutAccessCheck() const [T = const WTF::AtomString, AccessTraits = WTF::AnyThreadsAccessTraits] stress/for-in-string.js.bytecode-cache: 1 0x10ddccb04 WTFCrash stress/for-in-string.js.bytecode-cache: 2 0x10e3e8434 WTFCrashWithInfo(int, char const*, char const*, int) stress/for-in-string.js.bytecode-cache: 3 0x10f813f50 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::storagePointerWithoutAccessCheck() const stress/for-in-string.js.bytecode-cache: 4 0x10f813ec8 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::storagePointer() const stress/for-in-string.js.bytecode-cache: 5 0x10f813e94 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::get() stress/for-in-string.js.bytecode-cache: 6 0x10f813590 WTF::emptyAtom() stress/for-in-string.js.bytecode-cache:
Chris Dumez
Comment 3 2022-05-03 10:15:57 PDT
microbenchmarks/string-out-of-bounds.js.bytecode-cache: ASSERTION FAILED: m_isConstructed microbenchmarks/string-out-of-bounds.js.bytecode-cache: /Volumes/Data/worker/Apple-Monterey-Debug-Build/build/Source/WTF/wtf/NeverDestroyed.h(152) : WTF::LazyNeverDestroyed::PointerType WTF::LazyNeverDestroyed<const WTF::AtomString>::storagePointerWithoutAccessCheck() const [T = const WTF::AtomString, AccessTraits = WTF::AnyThreadsAccessTraits] microbenchmarks/string-out-of-bounds.js.bytecode-cache: 1 0x11476ce70 WTFCrash microbenchmarks/string-out-of-bounds.js.bytecode-cache: 2 0x114d79a30 void JSC::IntlNumberFormat::visitChildrenImpl<JSC::AbstractSlotVisitor>(JSC::JSCell*, JSC::AbstractSlotVisitor&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 3 0x114773bf0 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::storagePointerWithoutAccessCheck() const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 4 0x11617f1e4 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::storagePointer() const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 5 0x114773b70 WTF::LazyNeverDestroyed<WTF::AtomString const, WTF::AnyThreadsAccessTraits>::get() microbenchmarks/string-out-of-bounds.js.bytecode-cache: 6 0x114773a60 WTF::emptyAtom() microbenchmarks/string-out-of-bounds.js.bytecode-cache: 7 0x11617e690 JSC::CachedUniquedStringImplBase<WTF::UniquedStringImpl>::decode(JSC::Decoder&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 8 0x1161c5940 JSC::CachedJSValue::decode(JSC::Decoder&, JSC::WriteBarrier<JSC::Unknown, WTF::RawValueTraits<JSC::Unknown> >&, JSC::JSCell const*) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 9 0x1161c4b6c std::__1::enable_if<!(std::is_same<JSC::CachedJSValue, JSC::SourceTypeImpl<JSC::CachedJSValue, void>::type>::value), void>::type JSC::decode<JSC::CachedJSValue, JSC::UnlinkedCodeBlock*>(JSC::Decoder&, JSC::CachedJSValue const&, JSC::SourceTypeImpl<JSC::CachedJSValue, void>::type&, JSC::UnlinkedCodeBlock*) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 10 0x1161c457c void JSC::CachedVector<JSC::CachedJSValue, 0ul, WTF::CrashOnOverflow, WTF::FastMalloc>::decode<JSC::UnlinkedCodeBlock*, WTF::FixedVector<JSC::WriteBarrier<JSC::Unknown, WTF::RawValueTraits<JSC::Unknown> > > >(JSC::Decoder&, WTF::FixedVector<JSC::WriteBarrier<JSC::Unknown, WTF::RawValueTraits<JSC::Unknown> > >&, JSC::UnlinkedCodeBlock*) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 11 0x1161af728 JSC::CachedCodeBlock<JSC::UnlinkedProgramCodeBlock>::decode(JSC::Decoder&, JSC::UnlinkedCodeBlock&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 12 0x1161af54c JSC::CachedProgramCodeBlock::decode(JSC::Decoder&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 13 0x1161af34c JSC::UnlinkedProgramCodeBlock* JSC::CachedPtr<JSC::CachedProgramCodeBlock, JSC::UnlinkedProgramCodeBlock>::decode<>(JSC::Decoder&, bool&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 14 0x1161ab824 JSC::UnlinkedProgramCodeBlock* JSC::CachedPtr<JSC::CachedProgramCodeBlock, JSC::UnlinkedProgramCodeBlock>::decode<>(JSC::Decoder&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 15 0x116175d08 JSC::CacheEntry<JSC::UnlinkedProgramCodeBlock>::decode(JSC::Decoder&, std::__1::pair<JSC::SourceCodeKey, JSC::UnlinkedProgramCodeBlock*>&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 16 0x116175a78 JSC::GenericCacheEntry::decode(JSC::Decoder&, std::__1::pair<JSC::SourceCodeKey, JSC::UnlinkedCodeBlock*>&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 17 0x116176818 JSC::decodeCodeBlockImpl(JSC::VM&, JSC::SourceCodeKey const&, WTF::Ref<JSC::CachedBytecode, WTF::RawPtrTraits<JSC::CachedBytecode> >) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 18 0x1161f0ea0 JSC::UnlinkedProgramCodeBlock* JSC::decodeCodeBlock<JSC::UnlinkedProgramCodeBlock>(JSC::VM&, JSC::SourceCodeKey const&, WTF::Ref<JSC::CachedBytecode, WTF::RawPtrTraits<JSC::CachedBytecode> >) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 19 0x1161f0d30 JSC::UnlinkedProgramCodeBlock* JSC::CodeCacheMap::fetchFromDiskImpl<JSC::UnlinkedProgramCodeBlock>(JSC::VM&, JSC::SourceCodeKey const&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 20 0x1161f0988 std::__1::enable_if<(std::is_base_of<JSC::UnlinkedCodeBlock, JSC::UnlinkedProgramCodeBlock>::value) && (!(std::is_same<JSC::UnlinkedProgramCodeBlock, JSC::UnlinkedEvalCodeBlock>::value)), JSC::UnlinkedProgramCodeBlock*>::type JSC::CodeCacheMap::fetchFromDisk<JSC::UnlinkedProgramCodeBlock>(JSC::VM&, JSC::SourceCodeKey const&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 21 0x1161f052c JSC::UnlinkedProgramCodeBlock* JSC::CodeCacheMap::findCacheAndUpdateAge<JSC::UnlinkedProgramCodeBlock>(JSC::VM&, JSC::SourceCodeKey const&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 22 0x116179950 JSC::UnlinkedProgramCodeBlock* JSC::CodeCache::getUnlinkedGlobalCodeBlock<JSC::UnlinkedProgramCodeBlock, JSC::ProgramExecutable>(JSC::VM&, JSC::ProgramExecutable*, JSC::SourceCode const&, JSC::JSParserStrictMode, JSC::JSParserScriptMode, WTF::OptionSet<JSC::CodeGenerationMode>, JSC::ParserError&, JSC::EvalContextType) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 23 0x116179824 JSC::CodeCache::getUnlinkedProgramCodeBlock(JSC::VM&, JSC::ProgramExecutable*, JSC::SourceCode const&, JSC::JSParserStrictMode, WTF::OptionSet<JSC::CodeGenerationMode>, JSC::ParserError&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 24 0x116588178 JSC::ProgramExecutable::initializeGlobalProperties(JSC::VM&, JSC::JSGlobalObject*, JSC::JSScope*) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 25 0x115d84be8 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 26 0x116211528 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 27 0x10263fe80 runWithOptions(GlobalObject*, CommandLine&, bool&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 28 0x1025f6a98 jscmain(int, char**)::$_9::operator()(JSC::VM&, GlobalObject*, bool&) const microbenchmarks/string-out-of-bounds.js.bytecode-cache: 29 0x1025c20fc int runJSC<jscmain(int, char**)::$_9>(CommandLine const&, bool, jscmain(int, char**)::$_9 const&) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 30 0x1025bfa44 jscmain(int, char**) microbenchmarks/string-out-of-bounds.js.bytecode-cache: 31 0x1025bf654 main Seems like something fails to call AtomString::init() before running JSC tests.
Chris Dumez
Comment 4 2022-05-03 10:25:21 PDT
EWS
Comment 5 2022-05-03 12:16:13 PDT
Committed r293735 (250223@main): <https://commits.webkit.org/250223@main> Reviewed commits have been landed. Closing PR #470 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.