Bug 247499

Summary: [ New Test ] (256112@main): ASSERTION FAILED: isValidIdentifier(m_identifier)
Product: WebKit Reporter: Karl Rackler <rackler>
Component: Website StorageAssignee: Miguel Salinas <miguel_salinas>
Status: RESOLVED FIXED    
Severity: Normal CC: miguel_salinas, sihui_liu, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Karl Rackler 2022-11-04 12:28:08 PDT
Description:
[ New Test ] (256112@main): [ macOS iOS Debug wk2 ] storage/indexeddb/crash-on-getdatabases.html is a flaky crash

Is a flaky crash on macOS ToT and since added at 256112@main.

HISTORY:
https://results.webkit.org/?suite=layout-tests&test=storage/indexeddb/crash-on-getdatabases.html

This issue can be bisected to 256112@main using command:

run-webkit-tests -f --clobber-old-results --exit-after-n-failures 1  --force  --child-processes=5 --iterations=50  --debug  storage/indexeddb/crash-on-getdatabases.html

Crash: 
No crash log found for com.apple.WebKit.WebContent.Development:89936.

stdout:

stderr:
ASSERTION FAILED: isValidIdentifier(m_identifier)
/Volumes/Data/worker/Apple-Monterey-Debug-Build/build/WebKitBuild/Debug/usr/local/include/wtf/ObjectIdentifier.h(70) : void WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>::encode(Encoder &) const [T = WebCore::ProcessIdentifierType, Encoder = IPC::Encoder]
1   0x67e22a129 WTFCrash
2   0x6697d28bb WTFCrashWithInfo(int, char const*, char const*, int)
3   0x6699bee92 void WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>::encode<IPC::Encoder>(IPC::Encoder&) const
4   0x6699bedfd void IPC::ArgumentCoder<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType>, void>::encode<IPC::Encoder>(IPC::Encoder&, WTF::ObjectIdentifier<WebCore::ProcessIdentifierType> const&)
5   0x6699099ed IPC::Encoder& IPC::Encoder::operator<<<WTF::ObjectIdentifier<WebCore::ProcessIdentifierType> const&>(WTF::ObjectIdentifier<WebCore::ProcessIdentifierType> const&)
6   0x66990999d IPC::ArgumentCoder<WebCore::IDBResourceIdentifier, void>::encode(IPC::Encoder&, WebCore::IDBResourceIdentifier const&)
7   0x669907b7d IPC::Encoder& IPC::Encoder::operator<<<WebCore::IDBResourceIdentifier const&>(WebCore::IDBResourceIdentifier const&)
8   0x66b7374d6 void IPC::ArgumentCoder<std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&>, void>::encode<IPC::Encoder, 0ul, 1ul>(IPC::Encoder&, std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&> const&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>)
9   0x66b73746d void IPC::ArgumentCoder<std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&>, void>::encode<IPC::Encoder>(IPC::Encoder&, std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&> const&)
10  0x66b73742d IPC::Encoder& IPC::Encoder::operator<<<std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&> const&>(std::__1::tuple<unsigned long long, WebCore::IDBResourceIdentifier const&> const&)
11  0x66b7399bd bool IPC::MessageSender::send<Messages::NetworkStorageManager::AbortOpenAndUpgradeNeeded>(Messages::NetworkStorageManager::AbortOpenAndUpgradeNeeded&&, unsigned long long, WTF::OptionSet<IPC::SendOption>)
12  0x66b729afe bool IPC::MessageSender::send<Messages::NetworkStorageManager::AbortOpenAndUpgradeNeeded>(Messages::NetworkStorageManager::AbortOpenAndUpgradeNeeded&&, WTF::OptionSet<IPC::SendOption>)
13  0x66b729a9b WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded(unsigned long long, WebCore::IDBResourceIdentifier const&)
14  0x645af59a2 WebCore::IDBClient::IDBConnectionToServer::abortOpenAndUpgradeNeeded(unsigned long long, WebCore::IDBResourceIdentifier const&)
15  0x645a422b4 void WebCore::IDBClient::IDBConnectionProxy::callConnectionOnMainThread<unsigned long long, WebCore::IDBResourceIdentifier const&, unsigned long long&, WebCore::IDBResourceIdentifier const&>(void (WebCore::IDBClient::IDBConnectionToServer::*)(unsigned long long, WebCore::IDBResourceIdentifier const&), unsigned long long&, WebCore::IDBResourceIdentifier const&)
16  0x645a297e0 WebCore::IDBClient::IDBConnectionProxy::abortOpenAndUpgradeNeeded(unsigned long long, WebCore::IDBResourceIdentifier const&)
17  0x645a29665 WebCore::IDBOpenDBRequest::requestCompleted(WebCore::IDBResultData const&)
18  0x645a40f3b void WebCore::IDBActiveDOMObject::performCallbackOnOriginThread<WebCore::IDBOpenDBRequest, WebCore::IDBResultData const&, WebCore::IDBResultData const&>(WebCore::IDBOpenDBRequest&, void (WebCore::IDBOpenDBRequest::*)(WebCore::IDBResultData const&), WebCore::IDBResultData const&)
19  0x645a40a37 WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest(WebCore::IDBResultData const&)
20  0x645a4070d WebCore::IDBClient::IDBConnectionProxy::didOpenDatabase(WebCore::IDBResultData const&)
21  0x645af337b WebCore::IDBClient::IDBConnectionToServer::didOpenDatabase(WebCore::IDBResultData const&)
22  0x66b729f19 WebKit::WebIDBConnectionToServer::didOpenDatabase(WebCore::IDBResultData const&)
23  0x66beea327 void IPC::callMemberFunctionImpl<WebKit::WebIDBConnectionToServer, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&), std::__1::tuple<WebCore::IDBResultData>, 0ul>(WebKit::WebIDBConnectionToServer*, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&), std::__1::tuple<WebCore::IDBResultData>&&, std::__1::integer_sequence<unsigned long, 0ul>)
24  0x66bee973d void IPC::callMemberFunction<WebKit::WebIDBConnectionToServer, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&), std::__1::tuple<WebCore::IDBResultData>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebCore::IDBResultData>&&, WebKit::WebIDBConnectionToServer*, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&))
25  0x66bee6896 void IPC::handleMessage<Messages::WebIDBConnectionToServer::DidOpenDatabase, WebKit::WebIDBConnectionToServer, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebIDBConnectionToServer*, void (WebKit::WebIDBConnectionToServer::*)(WebCore::IDBResultData const&))
26  0x66bee5c95 WebKit::WebIDBConnectionToServer::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
27  0x66ba754a6 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
28  0x66c47d9ff IPC::Connection::dispatchMessage(IPC::Decoder&)
29  0x66c47ddca IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
30  0x66c47e11d IPC::Connection::dispatchOneIncomingMessage()
31  0x66c4a078d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_17::operator()() const
com.apple.WebKit.WebContent.Development terminated (pid 89936) for reason: crash
LEAK: 1 WebPageProxy
Comment 1 Radar WebKit Bug Importer 2022-11-04 12:33:29 PDT
<rdar://problem/101970988>
Comment 2 Karl Rackler 2022-11-04 12:42:58 PDT
Pull request: https://github.com/WebKit/WebKit/pull/6145
Comment 3 Karl Rackler 2022-11-04 12:44:07 PDT
I have marked this test as a flaky crash while this issue is investigated.
Comment 4 EWS 2022-11-04 12:46:41 PDT
Test gardening commit 256333@main (c2407ed41733): <https://commits.webkit.org/256333@main>

Reviewed commits have been landed. Closing PR #6145 and removing active labels.
Comment 5 Miguel Salinas 2022-11-07 15:21:29 PST
Pull request: https://github.com/WebKit/WebKit/pull/6225
Comment 6 EWS 2022-11-08 14:17:37 PST
Committed 256464@main (b9ff9a4dad90): <https://commits.webkit.org/256464@main>

Reviewed commits have been landed. Closing PR #6225 and removing active labels.