WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 237674
238865
Using 'opener' to open a page with more than one canvas element causes the process to hang
https://bugs.webkit.org/show_bug.cgi?id=238865
Summary
Using 'opener' to open a page with more than one canvas element causes the pr...
i
Reported
2022-04-06 06:10:10 PDT
Created
attachment 456813
[details]
case 1 Case 1: When you click the button 'window.open' will use default features like 'opener' to open the current URL(
https://output.jsbin.com/hezopac
) with the search param '?canvas' to run canvas animation. Before the target page(
https://output.jsbin.com/hezopac?canvas
) is ready, it will create some new offscreen canvas elements for the test. And then those two pages that use the same process will be hung when ctx.fillText called more than 10,000. Case 2: Disable create the offscreen canvas and click the button 'window.open' at the bootstrap page1(
https://output.jsbin.com/yotawur
) to create the test page2(
https://output.jsbin.com/yotawur?canvas
). And then click the button 'window.open' on page2 to open the test page3 with the same URL(
https://output.jsbin.com/yotawur?canvas
). And then those third pages that use the same process also will be hung.
Attachments
case 1
(113.63 KB, video/mp4)
2022-04-06 06:10 PDT
,
i
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-04-06 08:38:28 PDT
<
rdar://problem/91355603
>
Simon Fraser (smfr)
Comment 2
2022-04-06 10:26:05 PDT
Does this reproduce this in Safari 15.4 (macOS) and/or iOS 15.4?
Simon Fraser (smfr)
Comment 3
2022-04-06 10:29:25 PDT
Neve mind, I can reproduce in a recent build.
Simon Fraser (smfr)
Comment 4
2022-04-06 10:32:29 PDT
WebContent is blocked on: + ! : 8990 WebCore::RenderHTMLCanvas::paintReplaced(WebCore::PaintInfo&, WebCore::LayoutPoint const&) (in WebCore) + 705 [0x5332bf4b1] + ! : 8990 WebCore::HTMLCanvasElement::paint(WebCore::GraphicsContext&, WebCore::LayoutRect const&) (in WebCore) + 695 [0x5346f4ae7] + ! : 8989 WebCore::ConcreteImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::draw(WebCore::GraphicsContext&, WebCore::FloatRect const&, WebCore::FloatRect const&, WebCore::ImagePaintingOptions const&) (in WebKit) + 53 [0x52ad64c41] + ! : | 8988 WebKit::RemoteImageBufferProxy<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::flushDrawingContext() (in WebKit) + 142 [0x52b2ed702] + ! : | + 8987 WebKit::RemoteRenderingBackendProxy::waitForDidFlush() (in WebKit) + 90 [0x52b28077c] + ! : | + ! 8987 IPC::Connection::waitForMessage(IPC::MessageName, unsigned long long, IPC::Timeout, WTF::OptionSet<IPC::WaitForOption>) (in WebKit) + 458 [0x52af43214] + ! : | + ! 8987 bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) (in WebKit) + 154 [0x52ac03f64] + ! : | + ! 8986 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) (in JavaScriptCore) + 2263 [0x529ae0057] + ! : | + ! : 8986 _pthread_cond_wait (in libsystem_pthread.dylib) + 1249 [0x7ff804c7ea4f] + ! : | + ! : 8986 __psynch_cvwait (in libsystem_kernel.dylib) + 10 [0x7ff804c4440a] + ! : | + ! 1 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) (in JavaScriptCore) + 114 [0x529adf7f2] GPU Process is idle.
Simon Fraser (smfr)
Comment 5
2022-04-06 10:36:27 PDT
We're hitting "Exceeded timeout while waiting for flush in remote rendering backend: 62."
Kimmo Kinnunen
Comment 6
2022-04-07 03:54:31 PDT
Thanks for the report. I think this has the same cause as
bug 237674
. That bug should be used to track the fix and then the fix should be used to verify fixing also this test case. *** This bug has been marked as a duplicate of
bug 237674
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug