WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
245832
[ macOS Big Sur ] 2X TestWebKitAPI.WebKit.NSAttributedStringWithAndWith(API tests) are constant crashes
https://bugs.webkit.org/show_bug.cgi?id=245832
Summary
[ macOS Big Sur ] 2X TestWebKitAPI.WebKit.NSAttributedStringWithAndWith(API t...
Hercules Hjalmarsson
Reported
2022-09-29 08:29:09 PDT
TestWebKitAPI.WebKit.NSAttributedStringWithAndWithoutReadOnlyPaths TestWebKitAPI.WebKit.NSAttributedStringWithReadOnlyPaths Are two constant API crashes on Big Sur ToT and since introduced at
254968@main
. These are heavily impacting macOS API EWS. HISTORY:
https://results.webkit.org/?suite=api-tests&suite=api-tests&test=TestWebKitAPI.WebKit.NSAttributedStringWithAndWithoutReadOnlyPaths&test=TestWebKitAPI.WebKit.NSAttributedStringWithReadOnlyPaths
DIFF(s): TestWebKitAPI.WebKit.NSAttributedStringWithAndWithoutReadOnlyPaths ERROR: Error while launching com.apple.WebKit.Networking: Connection invalid /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm(234) : auto WebKit::ProcessLauncher::launchProcess()::(anonymous class)::operator()(xpc_object_t) const ERROR: Failed to decode object of classes ( NSAttributedString ): value for key 'NSFileWrapper' was of unexpected class 'NSFileWrapper (0x1f71fbf18) [/System/Library/Frameworks/Foundation.framework]'. Allowed classes are '{( "NSColor (0x1f6a446a0) [/System/Library/Frameworks/AppKit.framework]", "NSArray (0x1f6a79510) [/System/Library/Frameworks/CoreFoundation.framework]", "WKSecureCodingCGColorWrapper (0x11420b400) [/Volumes/Data/worker/Apple-BigSur-Debug-AppleSilicon-WK1-Tests/build/WebKitBuild/Debug/WebKit.framework]", "NSParagraphStyle (0x1f6e724c0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSTextAttachment (0x1f6e72718) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSString (0x1f6aac7e0) [/System/Library/Frameworks/Foundation.framework]", "NSDictionary (0x1f6a79650) [/System/Library/Frameworks/CoreFoundation.framework]", "WKSecureCodingURLWrapper (0x11420b3d8) [/Volumes/Data/worker/Apple-BigSur-Debug-AppleSilicon-WK1-Tests/build/WebKitBuild/Debug/WebKit.framework]", "NSFont (0x1f6e72150) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSAttributedString (0x1f6aab890) [/System/Library/Frameworks/Foundation.framework]", "NSGlyphInfo (0x1f6e721f0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSNumber (0x1f6aac2b8) [/System/Library/Frameworks/Foundation.framework]", "UIFont (0x1f6e75058) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSURL (0x1f6a799e8) [/System/Library/Frameworks/CoreFoundation.framework]" )}'. /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm(501) : std::optional<RetainPtr<id>> IPC::decodeSecureCodingInternal(IPC::Decoder &, NSArray<Class> *) SHOULD NEVER BE REACHED /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/WebKitBuild/Debug/DerivedSources/WebKit/WebPageMessageReceiver.cpp(1069) : static void Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder &, CompletionHandler<void (WebCore::AttributedString &&)> &&) 1 0x16d8d9990 (null) 2 0x109164f8d _OBJC_$_INSTANCE_METHODS_JSWrapperMap 3 0x1f06b590c4 (null) 4 0x16d8d9990 (null) 5 0x16d8d9948 (null) 6 0x16d8d9960 (null) 7 0x106b59274 WTFPrintBacktrace 8 0x16d8d9948 (null) 9 0x109b2d730 vtable for CrashLogPrintStream 10 0x1f6d8d997c (null) 11 0x16d8d9990 (null) 12 0x16d8d9aa0 (null) 13 0x106b59208 WTFReportBacktrace 14 0x16d8d9980 (null) 15 0x2110f21d68 (null) 16 0x106c335c4 WTFGetBacktrace 17 0x106b591f4 WTFReportBacktrace 18 0x106b592d8 WTFCrash 19 0x110380c20 WTFCrashWithInfo(int, char const*, char const*, int) 20 0x112c6675c Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder&, WTF::CompletionHandler<void (WebCore::AttributedString&&)>&&) 21 0x111ebaabc unsigned long long IPC::MessageSender::sendWithAsyncReply<Messages::WebPage::GetContentsAsAttributedString, WTF::CompletionHandler<void (WebCore::AttributedString const&)> >(Messages::WebPage::GetContentsAsAttributedString&&, WTF::CompletionHandler<void (WebCore::AttributedString const&)>&&, unsigned long long, WTF::OptionSet<IPC::SendOption>)::'lambda'(IPC::Decoder*)::operator()(IPC::Decoder*) 22 0x111eba988 WTF::Detail::CallableWrapper<unsigned long long IPC::MessageSender::sendWithAsyncReply<Messages::WebPage::GetContentsAsAttributedString, WTF::CompletionHandler<void (WebCore::AttributedString const&)> >(Messages::WebPage::GetContentsAsAttributedString&&, WTF::CompletionHandler<void (WebCore::AttributedString const&)>&&, unsigned long long, WTF::OptionSet<IPC::SendOption>)::'lambda'(IPC::Decoder*), void, IPC::Decoder*>::call(IPC::Decoder*) 23 0x111bda898 WTF::Function<void (IPC::Decoder*)>::operator()(IPC::Decoder*) const 24 0x111bce5d8 WTF::CompletionHandler<void (IPC::Decoder*)>::operator()(IPC::Decoder*) 25 0x111bdae8c WebKit::AuxiliaryProcessProxy::sendMessage(WTF::UniqueRef<IPC::Encoder>&&, WTF::OptionSet<IPC::SendOption>, std::__1::optional<std::__1::pair<WTF::CompletionHandler<void (IPC::Decoder*)>, unsigned long long> >&&, WebKit::AuxiliaryProcessProxy::ShouldStartProcessThrottlerActivity)::$_1::operator()(IPC::Decoder*) 26 0x111bdad90 WTF::Detail::CallableWrapper<WebKit::AuxiliaryProcessProxy::sendMessage(WTF::UniqueRef<IPC::Encoder>&&, WTF::OptionSet<IPC::SendOption>, std::__1::optional<std::__1::pair<WTF::CompletionHandler<void (IPC::Decoder*)>, unsigned long long> >&&, WebKit::AuxiliaryProcessProxy::ShouldStartProcessThrottlerActivity)::$_1, void, IPC::Decoder*>::call(IPC::Decoder*) 27 0x111bda898 WTF::Function<void (IPC::Decoder*)>::operator()(IPC::Decoder*) const 28 0x111bce5d8 WTF::CompletionHandler<void (IPC::Decoder*)>::operator()(IPC::Decoder*) 29 0x11338742c IPC::Connection::dispatchMessage(IPC::Decoder&) 30 0x113387a70 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 31 0x1133863c0 IPC::Connection::dispatchIncomingMessages() --------------------------------------------------------------------------------------------------------------------------------------------- TestWebKitAPI.WebKit.NSAttributedStringWithReadOnlyPaths ERROR: Error while launching com.apple.WebKit.Networking: Connection invalid /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm(234) : auto WebKit::ProcessLauncher::launchProcess()::(anonymous class)::operator()(xpc_object_t) const ERROR: Failed to decode object of classes ( NSAttributedString ): value for key 'NSFileWrapper' was of unexpected class 'NSFileWrapper (0x1f71fbf18) [/System/Library/Frameworks/Foundation.framework]'. Allowed classes are '{( "NSColor (0x1f6a446a0) [/System/Library/Frameworks/AppKit.framework]", "NSArray (0x1f6a79510) [/System/Library/Frameworks/CoreFoundation.framework]", "WKSecureCodingCGColorWrapper (0x1125db400) [/Volumes/Data/worker/Apple-BigSur-Debug-AppleSilicon-WK1-Tests/build/WebKitBuild/Debug/WebKit.framework]", "NSParagraphStyle (0x1f6e724c0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSTextAttachment (0x1f6e72718) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSString (0x1f6aac7e0) [/System/Library/Frameworks/Foundation.framework]", "NSDictionary (0x1f6a79650) [/System/Library/Frameworks/CoreFoundation.framework]", "WKSecureCodingURLWrapper (0x1125db3d8) [/Volumes/Data/worker/Apple-BigSur-Debug-AppleSilicon-WK1-Tests/build/WebKitBuild/Debug/WebKit.framework]", "NSFont (0x1f6e72150) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSAttributedString (0x1f6aab890) [/System/Library/Frameworks/Foundation.framework]", "NSGlyphInfo (0x1f6e721f0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSNumber (0x1f6aac2b8) [/System/Library/Frameworks/Foundation.framework]", "UIFont (0x1f6e75058) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSURL (0x1f6a799e8) [/System/Library/Frameworks/CoreFoundation.framework]" )}'. /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm(501) : std::optional<RetainPtr<id>> IPC::decodeSecureCodingInternal(IPC::Decoder &, NSArray<Class> *) SHOULD NEVER BE REACHED /Volumes/Data/worker/Apple-BigSur-Debug-Build/build/WebKitBuild/Debug/DerivedSources/WebKit/WebPageMessageReceiver.cpp(1069) : static void Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder &, CompletionHandler<void (WebCore::AttributedString &&)> &&) 1 0x16f4899b0 (null) 2 0x107534f8d _OBJC_$_INSTANCE_METHODS_JSWrapperMap 3 0x1f04f290c4 (null) 4 0x16f4899b0 (null) 5 0x16f489968 (null) 6 0x16f489980 (null) 7 0x104f29274 WTFPrintBacktrace 8 0x16f489968 (null) 9 0x107efd730 vtable for CrashLogPrintStream 10 0x1f6f48999c (null) 11 0x16f4899b0 (null) 12 0x16f489ac0 (null) 13 0x104f29208 WTFReportBacktrace 14 0x16f4899a0 (null) 15 0x210f2f1d68 (null) 16 0x1050035c4 WTFGetBacktrace 17 0x104f291f4 WTFReportBacktrace 18 0x104f292d8 WTFCrash 19 0x10e750c20 WTFCrashWithInfo(int, char const*, char const*, int) 20 0x11103675c Messages::WebPage::GetContentsAsAttributedString::callReply(IPC::Decoder&, WTF::CompletionHandler<void (WebCore::AttributedString&&)>&&) 21 0x11028aabc unsigned long long IPC::MessageSender::sendWithAsyncReply<Messages::WebPage::GetContentsAsAttributedString, WTF::CompletionHandler<void (WebCore::AttributedString const&)> >(Messages::WebPage::GetContentsAsAttributedString&&, WTF::CompletionHandler<void (WebCore::AttributedString const&)>&&, unsigned long long, WTF::OptionSet<IPC::SendOption>)::'lambda'(IPC::Decoder*)::operator()(IPC::Decoder*) 22 0x11028a988 WTF::Detail::CallableWrapper<unsigned long long IPC::MessageSender::sendWithAsyncReply<Messages::WebPage::GetContentsAsAttributedString, WTF::CompletionHandler<void (WebCore::AttributedString const&)> >(Messages::WebPage::GetContentsAsAttributedString&&, WTF::CompletionHandler<void (WebCore::AttributedString const&)>&&, unsigned long long, WTF::OptionSet<IPC::SendOption>)::'lambda'(IPC::Decoder*), void, IPC::Decoder*>::call(IPC::Decoder*) 23 0x10ffaa898 WTF::Function<void (IPC::Decoder*)>::operator()(IPC::Decoder*) const 24 0x10ff9e5d8 WTF::CompletionHandler<void (IPC::Decoder*)>::operator()(IPC::Decoder*) 25 0x10ffaae8c WebKit::AuxiliaryProcessProxy::sendMessage(WTF::UniqueRef<IPC::Encoder>&&, WTF::OptionSet<IPC::SendOption>, std::__1::optional<std::__1::pair<WTF::CompletionHandler<void (IPC::Decoder*)>, unsigned long long> >&&, WebKit::AuxiliaryProcessProxy::ShouldStartProcessThrottlerActivity)::$_1::operator()(IPC::Decoder*) 26 0x10ffaad90 WTF::Detail::CallableWrapper<WebKit::AuxiliaryProcessProxy::sendMessage(WTF::UniqueRef<IPC::Encoder>&&, WTF::OptionSet<IPC::SendOption>, std::__1::optional<std::__1::pair<WTF::CompletionHandler<void (IPC::Decoder*)>, unsigned long long> >&&, WebKit::AuxiliaryProcessProxy::ShouldStartProcessThrottlerActivity)::$_1, void, IPC::Decoder*>::call(IPC::Decoder*) 27 0x10ffaa898 WTF::Function<void (IPC::Decoder*)>::operator()(IPC::Decoder*) const 28 0x10ff9e5d8 WTF::CompletionHandler<void (IPC::Decoder*)>::operator()(IPC::Decoder*) 29 0x11175742c IPC::Connection::dispatchMessage(IPC::Decoder&) 30 0x111757a70 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 31 0x1117563c0 IPC::Connection::dispatchIncomingMessages() LEAK: 1 WebPage BUILD URL:
https://build.webkit.org/#/builders/106/builds/8438
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-09-29 08:29:33 PDT
<
rdar://problem/100563994
>
Brent Fulgham
Comment 2
2022-09-29 09:52:13 PDT
Interesting. This assertion is not hit when running on macOS Ventura.
Brent Fulgham
Comment 3
2022-09-29 10:02:17 PDT
The new tests involve NSAttributedString containing references to file locations, which need to be serialized to (and from) 'nsattributedstringagent'. I wonder if the Big Sur Foundation implementation had a bug that did not expect NSFileWrapper to be a possible element of the attributed string.
Brent Fulgham
Comment 4
2022-09-29 12:22:57 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/4836
Brent Fulgham
Comment 5
2022-09-29 12:42:09 PDT
WebKit inserts WKSecureCodingCGColorWrapper and WKSecureCodingURLWrapper, but the other's don't match what NSAttributedString claims as its 'allowedSecureCodingClasses'. ERROR: Failed to decode object of classes ( NSAttributedString ): value for key 'NSFileWrapper' was of unexpected class 'NSFileWrapper (0x1f71fbf18) [/System/Library/Frameworks/Foundation.framework]'. Allowed classes are '{( "NSColor (0x1f6a446a0) [/System/Library/Frameworks/AppKit.framework]", "NSArray (0x1f6a79510) [/System/Library/Frameworks/CoreFoundation.framework]", "NSParagraphStyle (0x1f6e724c0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSTextAttachment (0x1f6e72718) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSString (0x1f6aac7e0) [/System/Library/Frameworks/Foundation.framework]", "NSDictionary (0x1f6a79650) [/System/Library/Frameworks/CoreFoundation.framework]", "NSFont (0x1f6e72150) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSAttributedString (0x1f6aab890) [/System/Library/Frameworks/Foundation.framework]", "NSGlyphInfo (0x1f6e721f0) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSNumber (0x1f6aac2b8) [/System/Library/Frameworks/Foundation.framework]", "UIFont (0x1f6e75058) [/System/Library/PrivateFrameworks/UIFoundation.framework]", "NSURL (0x1f6a799e8) [/System/Library/Frameworks/CoreFoundation.framework]" )}'. Since the allowed classes include NSAttributedString, perhaps some other object is being serialized in this test that wraps NSAttributedString?
EWS
Comment 6
2022-09-29 14:40:32 PDT
Committed
255014@main
(8f28acecede7): <
https://commits.webkit.org/255014@main
> Reviewed commits have been landed. Closing PR #4836 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug