RESOLVED FIXED Bug 151304
WebRTC: Initial testing of updated RTCPeerConnection API
https://bugs.webkit.org/show_bug.cgi?id=151304
Summary WebRTC: Initial testing of updated RTCPeerConnection API
Adam Bergkvist
Reported 2015-11-16 02:06:12 PST
The updated RTCPeerConnection API has promise enabled functions as well as overloaded legacy versions accepting callbacks. We need to verify that the correct version of the overloaded function is called for a specific set of arguments.
Attachments
Proposed patch (43.58 KB, patch)
2015-11-16 13:48 PST, Adam Bergkvist
no flags
Updated patch (43.05 KB, patch)
2015-11-16 14:03 PST, Adam Bergkvist
no flags
Patch failing tests (6.15 KB, patch)
2015-11-19 13:23 PST, Adam Bergkvist
no flags
Adam Bergkvist
Comment 1 2015-11-16 13:48:52 PST
Created attachment 265609 [details] Proposed patch
Adam Bergkvist
Comment 2 2015-11-16 14:03:57 PST
Created attachment 265614 [details] Updated patch Fixed conflict in xcode project file.
WebKit Commit Bot
Comment 3 2015-11-18 06:52:34 PST
Comment on attachment 265614 [details] Updated patch Clearing flags on attachment: 265614 Committed r192575: <http://trac.webkit.org/changeset/192575>
WebKit Commit Bot
Comment 4 2015-11-18 06:52:36 PST
All reviewed patches have been landed. Closing bug.
Ryan Haddad
Comment 5 2015-11-18 08:48:37 PST
The two tests added with this change are crashing on Mac WK2 Debug testers fast/mediastream/RTCPeerConnection-overloaded-operations-params.html fast/mediastream/RTCPeerConnection-overloaded-operations.html Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x0000000116c09afa WTFCrash + 42 (Assertions.cpp:321) 1 com.apple.WebCore 0x000000011a6bbf4e WebCore::RTCPeerConnection::privateGetStats(WebCore::MediaStreamTrack*, WebCore::DOMPromise<WTF::RefPtr<WebCore::RTCStatsResponse>, WTF::RefPtr<WebCore::DOMError> >&&) + 78 (RTCPeerConnection.cpp:360) 2 com.apple.WebCore 0x0000000119c76687 WebCore::jsRTCPeerConnectionPrototypeFunctionPrivateGetStatsPromise(JSC::ExecState*, JSC::JSPromiseDeferred*) + 775 (JSRTCPeerConnection.cpp:750) 3 com.apple.WebCore 0x00000001198aa457 WebCore::callPromiseFunction(JSC::ExecState&, long long (*)(JSC::ExecState*, JSC::JSPromiseDeferred*)) + 71 (JSDOMPromise.h:65) 4 com.apple.WebCore 0x0000000119c7520c WebCore::jsRTCPeerConnectionPrototypeFunctionPrivateGetStats(JSC::ExecState*) + 28 (JSRTCPeerConnection.cpp:729) 5 ??? 0x00005f09d5e01028 0 + 104495847575592 6 com.apple.JavaScriptCore 0x0000000116929d7f llint_entry + 26443 7 com.apple.JavaScriptCore 0x000000011692341e vmEntryToJavaScript + 334 8 com.apple.JavaScriptCore 0x0000000116757d4d JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 221 (JITCode.cpp:80) 9 com.apple.JavaScriptCore 0x00000001167262f9 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*) + 3273 (Interpreter.cpp:1269) 10 com.apple.JavaScriptCore 0x00000001167255fc JSC::eval(JSC::ExecState*) + 1116 (Interpreter.cpp:182) 11 com.apple.JavaScriptCore 0x000000011691ed9c llint_slow_path_call_eval + 348 (LLIntSlowPaths.cpp:1312) 12 com.apple.JavaScriptCore 0x000000011692a48b llint_entry + 28247 13 com.apple.JavaScriptCore 0x0000000116929d7f llint_entry + 26443 14 ??? 0x00005f09d5e72342 0 + 104495848039234 15 com.apple.JavaScriptCore 0x000000011692341e vmEntryToJavaScript + 334 16 com.apple.JavaScriptCore 0x0000000116757d4d JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 221 (JITCode.cpp:80) 17 com.apple.JavaScriptCore 0x000000011672952a JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1210 (Interpreter.cpp:1024) 18 com.apple.JavaScriptCore 0x00000001160aecae JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 190 (CallData.cpp:39) 19 com.apple.JavaScriptCore 0x000000011680a441 JSC::JSJobMicrotask::run(JSC::ExecState*) + 401 (JSJob.cpp:73) 20 com.apple.WebCore 0x00000001199a1467 WebCore::JSMainThreadExecState::runTask(JSC::ExecState*, JSC::Microtask&) + 71 (JSMainThreadExecState.h:75) 21 com.apple.WebCore 0x00000001199a1346 WebCore::JSGlobalObjectCallback::call() + 246 (JSDOMGlobalObjectTask.cpp:64) 22 com.apple.WebCore 0x00000001199a0671 WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr<JSC::Microtask>)::$_0::operator()(WebCore::ScriptExecutionContext&) const + 33 (JSDOMGlobalObjectTask.cpp:88) 23 com.apple.WebCore 0x00000001199a063c std::__1::__function::__func<WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr<JSC::Microtask>)::$_0, std::__1::allocator<WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr<JSC::Microtask>)::$_0>, void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) + 92 (functional:1370) 24 com.apple.WebCore 0x0000000118f874eb std::__1::function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const + 59 (functional:1755) 25 com.apple.WebCore 0x0000000118f502dd WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&) + 29 (ScriptExecutionContext.h:151) 26 com.apple.WebCore 0x0000000118f47c79 WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0::operator()() const + 633 (Document.cpp:5243) 27 com.apple.WebCore 0x0000000118f479ec std::__1::__function::__func<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0, std::__1::allocator<WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0>, void ()>::operator()() + 60 (functional:1370) 28 com.apple.JavaScriptCore 0x0000000116660baa std::__1::function<void ()>::operator()() const + 26 (functional:1755) 29 com.apple.JavaScriptCore 0x0000000116c3db55 WTF::dispatchFunctionsFromMainThread() + 453 (MainThread.cpp:140) 30 com.apple.JavaScriptCore 0x0000000116c3f171 WTF::timerFired(__CFRunLoopTimer*, void*) + 49 (MainThreadMac.mm:113) 31 com.apple.CoreFoundation 0x00007fff91a183e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 32 com.apple.CoreFoundation 0x00007fff91a17f1f __CFRunLoopDoTimer + 1151 33 com.apple.CoreFoundation 0x00007fff91a895aa __CFRunLoopDoTimers + 298 34 com.apple.CoreFoundation 0x00007fff919d36a5 __CFRunLoopRun + 1525 35 com.apple.CoreFoundation 0x00007fff919d2e75 CFRunLoopRunSpecific + 309 36 com.apple.HIToolbox 0x00007fff927b5a0d RunCurrentEventLoopInMode + 226 37 com.apple.HIToolbox 0x00007fff927b57b7 ReceiveNextEventCommon + 479 38 com.apple.HIToolbox 0x00007fff927b55bc _BlockUntilNextEventMatchingListInModeWithFilter + 65 39 com.apple.AppKit 0x00007fff8d98224e _DPSNextEvent + 1434 40 com.apple.AppKit 0x00007fff8d98189b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122 41 com.apple.AppKit 0x00007fff8d97599c -[NSApplication run] + 553 42 com.apple.AppKit 0x00007fff8d960783 NSApplicationMain + 940 43 com.apple.XPCService 0x00007fff970a6c0f _xpc_main + 385 44 libxpc.dylib 0x00007fff91cd5bde xpc_main + 399 45 com.apple.WebKit.WebContent.Development 0x000000010ed9e195 main + 37 46 libdyld.dylib 0x00007fff964445fd start + 1
Ryan Haddad
Comment 6 2015-11-18 09:40:33 PST
Marked both tests as crashing on mac-wk2 debug in r192577.
Adam Bergkvist
Comment 7 2015-11-19 13:23:11 PST
Created attachment 265894 [details] Patch failing tests
WebKit Commit Bot
Comment 8 2015-11-19 20:51:23 PST
Comment on attachment 265894 [details] Patch failing tests Clearing flags on attachment: 265894 Committed r192675: <http://trac.webkit.org/changeset/192675>
WebKit Commit Bot
Comment 9 2015-11-19 20:51:26 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.