Bug 204232 - Regression: http/tests/navigation/page-cache-getUserMedia-pending-promise.html is crashing in Debug
Summary: Regression: http/tests/navigation/page-cache-getUserMedia-pending-promise.htm...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on: 204267
Blocks:
  Show dependency treegraph
 
Reported: 2019-11-15 10:15 PST by Chris Dumez
Modified: 2019-11-15 19:16 PST (History)
9 users (show)

See Also:


Attachments
Patch (6.96 KB, patch)
2019-11-15 10:18 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2019-11-15 10:15:26 PST
http/tests/navigation/page-cache-getUserMedia-pending-promise.html is crashing in Debug:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x00000002fcb8562e WTFCrash + 14 (Assertions.cpp:305)
1   com.apple.WebCore             	0x00000002e2aa52ab WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebCore             	0x00000002e47f593b WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_2::operator()(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 587 (UserMediaRequest.cpp:258)
3   com.apple.WebCore             	0x00000002e47f5401 WTF::Detail::CallableWrapper<WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_2, void, WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&>::call(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 49 (Function.h:52)
4   com.apple.WebCore             	0x00000002e659a6e7 WTF::Function<void (WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&)>::operator()(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) const + 151 (Function.h:79)
5   com.apple.WebCore             	0x00000002e659a4d3 WebCore::RealtimeMediaSourceCenter::createMediaStream(WTF::Ref<WTF::Logger const, WTF::DumbPtrTraits<WTF::Logger const> >&&, WTF::Function<void (WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&)>&&, WTF::String&&, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WebCore::MediaStreamRequest const&) + 1235 (RealtimeMediaSourceCenter.cpp:105)
6   com.apple.WebCore             	0x00000002e47e8d16 WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&) + 774 (UserMediaRequest.cpp:266)
7   com.apple.WebKit              	0x00000002d9180e30 WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&) + 208 (UserMediaPermissionRequestManager.cpp:129)
8   com.apple.WebKit              	0x00000002d948024b WebKit::WebPage::userMediaAccessWasGranted(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&) + 139 (WebPage.cpp:4168)
9   com.apple.WebKit              	0x00000002d9532c20 void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&), void (), std::__1::tuple<unsigned long long, WebCore::CaptureDevice, WebCore::CaptureDevice, WTF::String>, 0ul, 1ul, 2ul, 3ul>(WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&), WTF::CompletionHandler<void ()>&&, std::__1::tuple<unsigned long long, WebCore::CaptureDevice, WebCore::CaptureDevice, WTF::String>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) + 256 (HandleMessage.h:56)
10  com.apple.WebKit              	0x00000002d95300c5 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&), void (), std::__1::tuple<unsigned long long, WebCore::CaptureDevice, WebCore::CaptureDevice, WTF::String>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul> >(std::__1::tuple<unsigned long long, WebCore::CaptureDevice, WebCore::CaptureDevice, WTF::String>&&, WTF::CompletionHandler<void ()>&&, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)) + 133 (HandleMessage.h:62)
11  com.apple.WebKit              	0x00000002d94e35b0 void IPC::handleMessageAsync<Messages::WebPage::UserMediaAccessWasGranted, WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)) + 544 (HandleMessage.h:190)
12  com.apple.WebKit              	0x00000002d94d63e2 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&) + 18882 (WebPageMessageReceiver.cpp:1732)
13  com.apple.WebKit              	0x00000002d9481858 WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 504 (WebPage.cpp:4446)

and

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000063108d33e WTFCrash + 14 (Assertions.cpp:305)
1   com.apple.WebCore             	0x000000061800990b WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.WebCore             	0x0000000618029d2c WTF::RefCountedBase::ref() const + 172 (RefCounted.h:47)
3   com.apple.WebCore             	0x000000061823b18d WTF::Ref<WebCore::MediaStreamTrack, WTF::DumbPtrTraits<WebCore::MediaStreamTrack> >::Ref(WebCore::MediaStreamTrack&) + 45 (Ref.h:67)
4   com.apple.WebCore             	0x00000006182255dd WTF::Ref<WebCore::MediaStreamTrack, WTF::DumbPtrTraits<WebCore::MediaStreamTrack> >::Ref(WebCore::MediaStreamTrack&) + 29 (Ref.h:67)
5   com.apple.WebCore             	0x000000061822574c WTF::Ref<WebCore::MediaStreamTrack, WTF::DumbPtrTraits<WebCore::MediaStreamTrack> > WTF::makeRef<WebCore::MediaStreamTrack>(WebCore::MediaStreamTrack&) + 28 (Ref.h:255)
6   com.apple.WebCore             	0x0000000619c1f607 void WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive<WebCore::MediaStreamTrack>(WebCore::MediaStreamTrack&, WebCore::TaskSource, WTF::Function<void ()>&&) + 55 (ActiveDOMObject.h:119)
7   com.apple.WebCore             	0x0000000619c020b7 void WebCore::ActiveDOMObject::queueTaskToDispatchEvent<WebCore::MediaStreamTrack, WebCore::Event>(WebCore::MediaStreamTrack&, WebCore::TaskSource, WTF::Ref<WebCore::Event, WTF::DumbPtrTraits<WebCore::Event> >&&) + 295 (ActiveDOMObject.h:128)
8   com.apple.WebCore             	0x0000000619c01f7c WebCore::MediaStreamTrack::suspend(WebCore::ReasonForSuspension) + 140 (MediaStreamTrack.cpp:570)
9   com.apple.WebCore             	0x000000061a845268 WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded(WebCore::ActiveDOMObject&) + 184
10  com.apple.WebCore             	0x000000061a60d8d5 WebCore::ActiveDOMObject::suspendIfNeeded() + 149 (ActiveDOMObject.cpp:96)
11  com.apple.WebCore             	0x0000000619bfed69 WebCore::MediaStreamTrack::MediaStreamTrack(WebCore::ScriptExecutionContext&, WTF::Ref<WebCore::MediaStreamTrackPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamTrackPrivate> >&&) + 537 (MediaStreamTrack.cpp:76)
12  com.apple.WebCore             	0x0000000619bfeb45 WebCore::MediaStreamTrack::MediaStreamTrack(WebCore::ScriptExecutionContext&, WTF::Ref<WebCore::MediaStreamTrackPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamTrackPrivate> >&&) + 37 (MediaStreamTrack.cpp:89)
13  com.apple.WebCore             	0x0000000619bfbd2d WebCore::MediaStreamTrack::create(WebCore::ScriptExecutionContext&, WTF::Ref<WebCore::MediaStreamTrackPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamTrackPrivate> >&&) + 77 (MediaStreamTrack.cpp:65)
14  com.apple.WebCore             	0x0000000619bfbaeb WebCore::MediaStream::MediaStream(WebCore::Document&, WTF::Ref<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 667 (MediaStream.cpp:103)
15  com.apple.WebCore             	0x0000000619bfb215 WebCore::MediaStream::MediaStream(WebCore::Document&, WTF::Ref<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 37 (MediaStream.cpp:111)
16  com.apple.WebCore             	0x0000000619bfaf8d WebCore::MediaStream::create(WebCore::Document&, WTF::Ref<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 77 (MediaStream.cpp:67)
17  com.apple.WebCore             	0x0000000619c88b5d WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_2::operator()(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 413 (UserMediaRequest.cpp:250)
18  com.apple.WebCore             	0x0000000619c886c3 WTF::Detail::CallableWrapper<WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_2, void, WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&>::call(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) + 51 (Function.h:52)
19  com.apple.WebCore             	0x000000061b7b879a WTF::Function<void (WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&)>::operator()(WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&) const + 154 (Function.h:79)
20  com.apple.WebCore             	0x000000061b7b8599 WebCore::RealtimeMediaSourceCenter::createMediaStream(WTF::Ref<WTF::Logger const, WTF::DumbPtrTraits<WTF::Logger const> >&&, WTF::Function<void (WTF::RefPtr<WebCore::MediaStreamPrivate, WTF::DumbPtrTraits<WebCore::MediaStreamPrivate> >&&)>&&, WTF::String&&, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WebCore::MediaStreamRequest const&) + 1225 (RealtimeMediaSourceCenter.cpp:105)
21  com.apple.WebCore             	0x0000000619c801ae WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&) + 782 (UserMediaRequest.cpp:266)
22  com.apple.WebKit              	0x00000001017ead02 WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted(unsigned long long, WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&) + 210 (UserMediaPermissionRequestManager.cpp:129)
Comment 1 Chris Dumez 2019-11-15 10:18:33 PST
Created attachment 383626 [details]
Patch
Comment 2 WebKit Commit Bot 2019-11-15 12:08:15 PST
Comment on attachment 383626 [details]
Patch

Clearing flags on attachment: 383626

Committed r252497: <https://trac.webkit.org/changeset/252497>
Comment 3 WebKit Commit Bot 2019-11-15 12:08:17 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 Radar WebKit Bug Importer 2019-11-15 12:09:22 PST
<rdar://problem/57236053>