This will cause the WebProcess to be terminated. It is a remaining work of bug 228665. Right now these call stacks are possible and all of them are wrong. All of them call RemoteRenderingBackendProxy::releaseRemoteResource() while the GPUP is terminated and is being relaunched: NativeImage: WebKit::RemoteRenderingBackendProxy::releaseRemoteResource(WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, unsigned long long) WebKit::RemoteResourceCacheProxy::releaseNativeImage(WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>) WebCore::NativeImage::~NativeImage() WebCore::DisplayList::DisplayList::clear() WebCore::DisplayList::ImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::clearBackend() WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed() WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose(WebKit::GPUProcessConnection&) WebKit::GPUProcessConnection::didClose(IPC::Connection&) WTF::Detail::CallableWrapper<IPC::Connection::connectionDidClose()::$_8, void>::call() ImageBuffer: WebKit::RemoteRenderingBackendProxy::releaseRemoteResource(WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, unsigned long long) WebKit::RemoteResourceCacheProxy::releaseImageBuffer(WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>) WebKit::RemoteImageBufferProxy<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBufferProxy() WebKit::RemoteImageBufferProxy<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBufferProxy() WebCore::DisplayList::DisplayList::clear() WebCore::DisplayList::ImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::clearBackend() WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed() WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose(WebKit::GPUProcessConnection&) WebKit::GPUProcessConnection::didClose(IPC::Connection&) WTF::Detail::CallableWrapper<IPC::Connection::connectionDidClose()::$_8, void>::call() Font: WebKit::RemoteRenderingBackendProxy::releaseRemoteResource(WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, unsigned long long) WebKit::RemoteResourceCacheProxy::clearFontMap() WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed() WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose(WebKit::GPUProcessConnection&) WebKit::GPUProcessConnection::didClose(IPC::Connection&) WTF::Detail::CallableWrapper<IPC::Connection::connectionDidClose()::$_8, void>::call()
<rdar://problem/81761078>
Created attachment 435292 [details] Patch
Created attachment 435297 [details] Patch
Created attachment 435373 [details] Patch
Created attachment 435442 [details] Patch
Committed r280981 (240482@main): <https://commits.webkit.org/240482@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 435442 [details].