Bug 151304 - WebRTC: Initial testing of updated RTCPeerConnection API
Summary: WebRTC: Initial testing of updated RTCPeerConnection API
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: Nobody
URL:
Keywords:
Depends on: 151302
Blocks: 143211
  Show dependency treegraph
 
Reported: 2015-11-16 02:06 PST by Adam Bergkvist
Modified: 2015-11-19 20:51 PST (History)
4 users (show)

See Also:


Attachments
Proposed patch (43.58 KB, patch)
2015-11-16 13:48 PST, Adam Bergkvist
no flags Details | Formatted Diff | Diff
Updated patch (43.05 KB, patch)
2015-11-16 14:03 PST, Adam Bergkvist
no flags Details | Formatted Diff | Diff
Patch failing tests (6.15 KB, patch)
2015-11-19 13:23 PST, Adam Bergkvist
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Bergkvist 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.
Comment 1 Adam Bergkvist 2015-11-16 13:48:52 PST
Created attachment 265609 [details]
Proposed patch
Comment 2 Adam Bergkvist 2015-11-16 14:03:57 PST
Created attachment 265614 [details]
Updated patch

Fixed conflict in xcode project file.
Comment 3 WebKit Commit Bot 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>
Comment 4 WebKit Commit Bot 2015-11-18 06:52:36 PST
All reviewed patches have been landed.  Closing bug.
Comment 5 Ryan Haddad 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
Comment 6 Ryan Haddad 2015-11-18 09:40:33 PST
Marked both tests as crashing on mac-wk2 debug in r192577.
Comment 7 Adam Bergkvist 2015-11-19 13:23:11 PST
Created attachment 265894 [details]
Patch failing tests
Comment 8 WebKit Commit Bot 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>
Comment 9 WebKit Commit Bot 2015-11-19 20:51:26 PST
All reviewed patches have been landed.  Closing bug.