Changeset 280951 in webkit
- Timestamp:
- Aug 11, 2021, 6:11:15 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm (modified) (1 diff)
-
Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r280936 r280951 1 2021-08-11 Peng Liu <peng.liu6@apple.com> 2 3 [ BigSur Debug ] TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource is flaky, hitting ASSERTION FAILED: !isInRoutingArbitrationForToken(token) 4 https://bugs.webkit.org/show_bug.cgi?id=227728 5 <rdar://problem/80237464> 6 7 Reviewed by Jer Noble. 8 9 After the GPU process crashes, the UI process will clean up the 10 `SharedRoutingArbitrator`, while a WebContent process might be resuming 11 the media playback and setup `AudioSessionRoutingArbitrator`. 12 There is a race condition here. If the WebContent process runs faster, 13 `SharedRoutingArbitrator` in the UI process will try to begin a duplicated 14 routing arbitration and lead to an assertion failure. 15 16 No new tests. Fixed following two API test failures: 17 - TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing 18 - TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource 19 20 * UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm: 21 (WebKit::AudioSessionRoutingArbitratorProxy::processDidTerminate): 22 * WebProcess/GPU/GPUProcessConnection.cpp: 23 (WebKit::GPUProcessConnection::didClose): 24 1 25 2021-08-11 Peng Liu <peng.liu6@apple.com> 2 26 -
trunk/Source/WebKit/UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm
r276993 r280951 53 53 void AudioSessionRoutingArbitratorProxy::processDidTerminate() 54 54 { 55 if (SharedRoutingArbitrator::sharedInstance().isInRoutingArbitrationForToken(m_token))56 endRoutingArbitration();57 55 } 58 56 -
trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
r280731 r280951 128 128 WebProcess::singleton().gpuProcessConnectionClosed(*this); 129 129 130 #if ENABLE(ROUTING_ARBITRATION) 131 if (auto* arbitrator = WebProcess::singleton().supplement<AudioSessionRoutingArbitrator>()) 132 arbitrator->leaveRoutingAbritration(); 133 #endif 134 130 135 auto clients = m_clients; 131 136 for (auto& client : clients) -
trunk/Tools/ChangeLog
r280920 r280951 1 2021-08-11 Peng Liu <peng.liu6@apple.com> 2 3 [ BigSur Debug ] TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource is flaky, hitting ASSERTION FAILED: !isInRoutingArbitrationForToken(token) 4 https://bugs.webkit.org/show_bug.cgi?id=227728 5 <rdar://problem/80237464> 6 7 Reviewed by Jer Noble. 8 9 * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: 10 (TEST): 11 1 12 2021-08-11 Youenn Fablet <youenn@apple.com> 2 13 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
r280180 r280951 369 369 } 370 370 371 // FIXME: Re-enable this test once <rdar://80237464> is resolved 372 TEST(GPUProcess, DISABLED_CrashWhilePlayingAudioViaCreateMediaElementSource) 371 TEST(GPUProcess, CrashWhilePlayingAudioViaCreateMediaElementSource) 373 372 { 374 373 auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
Note:
See TracChangeset
for help on using the changeset viewer.