Summary: | REGRESSION: [ BigSur iOS wk1 Debug ] imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https.html is flaky crashing | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Truitt Savell <tsavell> | ||||
Component: | DOM | Assignee: | youenn fablet <youennf> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | achristensen, cdumez, eric.carlson, webkit-bot-watchers-bugzilla, webkit-bug-importer, youennf | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Truitt Savell
2021-06-11 10:37:30 PDT
I have not been able to reproduce this failure locally yet Thread 35 Crashed:: rtc-low-prio 0 libwebrtc.dylib 0x00000001234887c1 webrtc::(anonymous namespace)::TaskQueueStdlib::GetNextTask() + 257 (task_queue_stdlib.cc:193) 1 libwebrtc.dylib 0x0000000123488583 webrtc::(anonymous namespace)::TaskQueueStdlib::ProcessTasks() + 51 (task_queue_stdlib.cc:226) 2 libwebrtc.dylib 0x000000012348853f webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1::operator()() const + 47 (task_queue_stdlib.cc:127) 3 libwebrtc.dylib 0x00000001234884ed decltype(std::__1::forward<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1&>(fp)()) std::__1::__invoke<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1&>(webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1&) + 29 (type_traits:3747) 4 libwebrtc.dylib 0x000000012348849d void std::__1::__invoke_void_return_wrapper<void>::__call<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1&>(webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1&) + 29 (__functional_base:348) 5 libwebrtc.dylib 0x000000012348846d std::__1::__function::__alloc_func<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1, std::__1::allocator<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1>, void ()>::operator()() + 29 (functional:1553) 6 libwebrtc.dylib 0x000000012348717e std::__1::__function::__func<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1, std::__1::allocator<webrtc::(anonymous namespace)::TaskQueueStdlib::TaskQueueStdlib(std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadPriority)::$_1>, void ()>::operator()() + 30 (functional:1727) 7 libwebrtc.dylib 0x00000001223753f5 std::__1::__function::__value_func<void ()>::operator()() const + 53 (functional:1880) 8 libwebrtc.dylib 0x0000000122375395 std::__1::function<void ()>::operator()() const + 21 (functional:2555) 9 libwebrtc.dylib 0x0000000122cd0f26 rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1::operator()() const + 70 (platform_thread.cc:185) 10 libwebrtc.dylib 0x0000000122cd0ebd decltype(std::__1::forward<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1&>(fp)()) std::__1::__invoke<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1&>(rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1&) + 29 (type_traits:3747) 11 libwebrtc.dylib 0x0000000122cd0e6d void std::__1::__invoke_void_return_wrapper<void>::__call<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1&>(rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1&) + 29 (__functional_base:348) 12 libwebrtc.dylib 0x0000000122cd0e3d std::__1::__function::__alloc_func<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1, std::__1::allocator<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1>, void ()>::operator()() + 29 (functional:1553) 13 libwebrtc.dylib 0x0000000122ccf9fe std::__1::__function::__func<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1, std::__1::allocator<rtc::PlatformThread::SpawnThread(std::__1::function<void ()>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, rtc::ThreadAttributes, bool)::$_1>, void ()>::operator()() + 30 (functional:1727) 14 libwebrtc.dylib 0x00000001223753f5 std::__1::__function::__value_func<void ()>::operator()() const + 53 (functional:1880) 15 libwebrtc.dylib 0x0000000122375395 std::__1::function<void ()>::operator()() const + 21 (functional:2555) 16 libwebrtc.dylib 0x0000000122cceb8d rtc::(anonymous namespace)::RunPlatformThread(void*) + 29 (platform_thread.cc:101) 17 libsystem_pthread.dylib 0x00007fff205db8fc 0x7fff205d5000 + 26876 18 libsystem_pthread.dylib 0x00007fff205d7443 0x7fff205d5000 + 9283 Potential regression from the WebRTC update in r278701. Created attachment 431427 [details]
Patch
(In reply to Chris Dumez from comment #4) > Potential regression from the WebRTC update in r278701. It seems so. From what I can see, it seems that we create a thread that will start before all the thread owner members are initialised. Comment on attachment 431427 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=431427&action=review > Source/ThirdParty/libwebrtc/ChangeLog:12 > + Update to create thread_ before all other members. Don't you mean *after* all other members? Committed r278886 (238828@main): <https://commits.webkit.org/238828@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 431427 [details]. (In reply to Eric Carlson from comment #7) > Comment on attachment 431427 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=431427&action=review > > > Source/ThirdParty/libwebrtc/ChangeLog:12 > > + Update to create thread_ before all other members. > > Don't you mean *after* all other members? Right, will fix the changelog, thanks for the review and the cq+ |