WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
169019
[GTK] fast/canvas/canvas-createPattern-video-loading.html makes its subsequent test timeout
https://bugs.webkit.org/show_bug.cgi?id=169019
Summary
[GTK] fast/canvas/canvas-createPattern-video-loading.html makes its subsequen...
Fujii Hironori
Reported
2017-03-01 00:31:15 PST
[GTK] fast/canvas/canvas-createPattern-video-loading.html makes a following test timeout trunk@213127
> ./Tools/Scripts/run-webkit-tests --gtk --release --no-new-test-results -v fast/canvas/canvas-createPattern-video-loading.html fast/canvas/canvas-createPattern-video-modify.html
> [1/2] fast/canvas/canvas-createPattern-video-loading.html passed > [2/2] fast/canvas/canvas-createPattern-video-modify.html failed unexpectedly (test timed out)
Attachments
backtrace of web process
(89.44 KB, text/plain)
2017-03-01 00:32 PST
,
Fujii Hironori
no flags
Details
test gardening patch
(1.48 KB, patch)
2017-03-01 00:46 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(5.59 KB, patch)
2017-03-01 03:28 PST
,
Carlos Garcia Campos
calvaris
: review+
calvaris
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2017-03-01 00:32:19 PST
Created
attachment 303047
[details]
backtrace of web process Sometimes, fast/canvas/canvas-createPattern-video-loading.html timed out itself.
Fujii Hironori
Comment 2
2017-03-01 00:46:26 PST
Created
attachment 303049
[details]
test gardening patch
WebKit Commit Bot
Comment 3
2017-03-01 01:59:01 PST
Comment on
attachment 303049
[details]
test gardening patch Clearing flags on attachment: 303049 Committed
r213216
: <
http://trac.webkit.org/changeset/213216
>
WebKit Commit Bot
Comment 4
2017-03-01 01:59:05 PST
All reviewed patches have been landed. Closing bug.
Fujii Hironori
Comment 5
2017-03-01 02:00:03 PST
Reopen.
Carlos Garcia Campos
Comment 6
2017-03-01 02:03:55 PST
(In reply to
comment #1
)
> Created
attachment 303047
[details]
> backtrace of web process > > Sometimes, fast/canvas/canvas-createPattern-video-loading.html timed out > itself.
Is this bt from trunk? I think we had fixed this deadlock in
r211815
Fujii Hironori
Comment 7
2017-03-01 02:08:51 PST
(In reply to
comment #6
)
> Is this bt from trunk? I think we had fixed this deadlock in
r211815
Yes. I'm using trunk@213127
Carlos Garcia Campos
Comment 8
2017-03-01 02:09:16 PST
(In reply to
comment #6
)
> (In reply to
comment #1
) > > Created
attachment 303047
[details]
> > backtrace of web process > > > > Sometimes, fast/canvas/canvas-createPattern-video-loading.html timed out > > itself. > > Is this bt from trunk? I think we had fixed this deadlock in
r211815
I can reproduce it.
Carlos Garcia Campos
Comment 9
2017-03-01 02:44:07 PST
I think this is a GST bug, I remember I debugged similar issues in the past. The problem is that we need to set the pipeline state to NULL before all other elements are released. So, when the media player is destroyed we call gst_element_set_state(m_pipeline.get(), GST_STATE_NULL); and very often that blocks in internal GST mutexes. With our main thread blocked on this, any other thread waiting for a mutex held by the main thread will lock as well causing this deadlock.
Carlos Garcia Campos
Comment 10
2017-03-01 03:28:46 PST
Created
attachment 303057
[details]
Patch This patch fixes the timeout for me
Xabier Rodríguez Calvar
Comment 11
2017-03-01 07:40:01 PST
Comment on
attachment 303057
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=303057&action=review
As you're writing the code, it should be affecting other private players such as the WebRTC and the MSE ones. Please ensure that no tests are broken
> Source/WebCore/ChangeLog:8 > + The timeout happens normally when the media player is and the pipeline state is set to NULL. The call to
This first sentence does not make too much sense to me.
> Source/WebCore/ChangeLog:10 > + happens with the smaple mutex used by VideoRenderRequestScheduler. VideoRenderRequestScheduler::requestRender()
smaple -> sample.
> Source/WebCore/ChangeLog:21 > + ~MediaPlayerPrivateGStreamerBase and ensure the draw timer and mutex is proplery cleaned up before.
is proplery -> are properly
Carlos Garcia Campos
Comment 12
2017-03-01 08:52:55 PST
***
Bug 163850
has been marked as a duplicate of this bug. ***
Carlos Garcia Campos
Comment 13
2017-03-01 08:56:08 PST
***
Bug 169025
has been marked as a duplicate of this bug. ***
Carlos Garcia Campos
Comment 14
2017-03-01 09:03:14 PST
(In reply to
comment #11
)
> Comment on
attachment 303057
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=303057&action=review
> > As you're writing the code, it should be affecting other private players > such as the WebRTC and the MSE ones. Please ensure that no tests are broken > > > Source/WebCore/ChangeLog:8 > > + The timeout happens normally when the media player is and the pipeline state is set to NULL. The call to > > This first sentence does not make too much sense to me.
It doesn't make any sense :-)
> > Source/WebCore/ChangeLog:10 > > + happens with the smaple mutex used by VideoRenderRequestScheduler. VideoRenderRequestScheduler::requestRender() > > smaple -> sample. > > > Source/WebCore/ChangeLog:21 > > + ~MediaPlayerPrivateGStreamerBase and ensure the draw timer and mutex is proplery cleaned up before. > > is proplery -> are properly
Carlos Garcia Campos
Comment 15
2017-03-01 09:06:54 PST
Committed
r213224
: <
http://trac.webkit.org/changeset/213224
>
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