Bug 268020
| Summary: | ASSERT when calling storage.get | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Timothy Hatcher <timothy> |
| Component: | WebKit Extensions | Assignee: | Kiara Rose <kiara_rose> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | timothy, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Timothy Hatcher
Asser in Storage API:
String errorString;
if (!extensionCanAccessWebPage(webPageProxyIdentifier, errorString)) {
completionHandler(std::nullopt, toErrorString(callingAPIName, nil, errorString));
return;
}
#0 0x00000001134a3ee8 in ::WTFCrash() at /Volumes/Timothy/Work/Safari/OpenSource/Source/WTF/wtf/Assertions.cpp:333
#1 0x00000001376ceed4 in WTFCrashWithInfo(int, char const*, char const*, int) at /Volumes/Timothy/Work/Safari/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Assertions.h:778
#2 0x000000013a70f908 in WebKit::toErrorString(NSString*, NSString*, NSString*, ...) at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm:329
#3 0x000000013a54afc4 in WebKit::WebExtensionContext::storageGet(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&) at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIStorageCocoa.mm:48
#4 0x000000013a6376c8 in auto void IPC::callMemberFunction<WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>(WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>&&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)::'lambda'(auto&&...)::operator()<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>(auto&&...) const at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:147
#5 0x000000013a63755c in decltype(std::declval<WebKit::WebExtensionContext>()(std::declval<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>>(), std::declval<WebKit::WebExtensionStorageType>(), std::declval<std::__1::span<unsigned char const, 18446744073709551615ul>>())) std::__1::__invoke[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>(WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>&&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)::'lambda'(auto&&...), WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>(WebKit::WebExtensionContext&&, WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>&&, WebKit::WebExtensionStorageType&&, std::__1::span<unsigned char const, 18446744073709551615ul>&&) at /Volumes/Timothy/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.Internal.sdk/usr/include/c++/v1/__type_traits/invoke.h:340
#6 0x000000013a63751c in decltype(auto) std::__1::__apply_tuple_impl[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>(WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>&&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, 0ul, 1ul, 2ul>(WebKit::WebExtensionContext&&, WebKit::WebExtensionContext&&, std::__1::__tuple_indices<0ul, 1ul, 2ul>) at /Volumes/Timothy/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.Internal.sdk/usr/include/c++/v1/tuple:1825
#7 0x000000013a6374bc in decltype(auto) std::__1::apply[abi:sn170006]<void IPC::callMemberFunction<WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>(WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>&&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)::'lambda'(auto&&...), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>>(WebKit::WebExtensionContext&&, WebKit::WebExtensionContext&&) at /Volumes/Timothy/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.Internal.sdk/usr/include/c++/v1/tuple:1834
#8 0x000000013a6356e4 in void IPC::callMemberFunction<WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>, void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>(WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul>>&&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&) at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:145
#9 0x000000013a5dc50c in void IPC::handleMessageAsync<Messages::WebExtensionContext::StorageGet, WebKit::WebExtensionContext, WebKit::WebExtensionContext, void (WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebExtensionContext*, void (WebKit::WebExtensionContext::*)(WTF::ObjectIdentifierGeneric<WebKit::WebPageProxyIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits>, WebKit::WebExtensionStorageType, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WTF::CompletionHandler<void (std::__1::optional<std::__1::span<unsigned char const, 18446744073709551615ul>>, std::__1::optional<WTF::String>)>&&)) at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:337
#10 0x000000013a5d6094 in WebKit::WebExtensionContext::didReceiveMessage(IPC::Connection&, IPC::Decoder&) at /Volumes/Timothy/Work/Safari/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit/WebExtensionContextMessageReceiver.cpp:197
#11 0x000000013ada9dc4 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) at /Volumes/Timothy/Work/Safari/OpenSource/Source/WebKit/Platform/IPC/MessageReceiverMap.cpp:129
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/121538792>
Timothy Hatcher
`errorString` is empty / null.
Timothy Hatcher
Steps:
Navigation to a new tab with the UserScripts extension (granted access to all pages). ASSERTs right away when the tabs starts loading.
Kiara Rose
Pull request: https://github.com/WebKit/WebKit/pull/23199
EWS
Committed 273448@main (4522d41c15c5): <https://commits.webkit.org/273448@main>
Reviewed commits have been landed. Closing PR #23199 and removing active labels.