Bug 189215 - [GTK] ASSERT(!m_nicosia.imageBacking) when starting any YouTube video
Summary: [GTK] ASSERT(!m_nicosia.imageBacking) when starting any YouTube video
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Normal
Assignee: Zan Dobersek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-31 16:40 PDT by Michael Catanzaro
Modified: 2018-09-05 09:20 PDT (History)
9 users (show)

See Also:


Attachments
Full backtrace (37.63 KB, text/plain)
2018-08-31 16:41 PDT, Michael Catanzaro
no flags Details
Patch (1.80 KB, patch)
2018-09-05 03:34 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2018-08-31 16:40:11 PDT
Try to play any video on youtube.com and you'll immediately hit this assertion in CoordinatedGraphicsLayer's destructor:

ASSERT(!m_nicosia.imageBacking);

I'll attach a full backtrace. Here's a truncated one:

#0  0x00007fdef9e64f43 in WTFCrash ()
    at /home/mcatanzaro/Projects/WebKit/Source/WTF/wtf/Assertions.cpp:267
#1  0x00007fdefbef8193 in WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer (
    this=0x7fde7cdc4780, __in_chrg=<optimized out>)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:141
#2  0x00007fdefbef86cb in WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer (
    this=0x7fde7cdc4780, __in_chrg=<optimized out>)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:135
#3  0x00007fdefd45c23b in std::default_delete<WebCore::GraphicsLayer>::operator() (
    __ptr=<optimized out>, this=0x7fde80d3dbd0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:468
#4  std::unique_ptr<WebCore::GraphicsLayer, std::default_delete<WebCore::GraphicsLayer> >::reset (
    __p=<optimized out>, this=0x7fde80d3dbd0) at /usr/include/c++/8/bits/unique_ptr.h:382
#5  std::unique_ptr<WebCore::GraphicsLayer, std::default_delete<WebCore::GraphicsLayer> >::operator=(decltype(nullptr)) (this=0x7fde80d3dbd0) at /usr/include/c++/8/bits/unique_ptr.h:318
#6  WebCore::RenderLayerBacking::destroyGraphicsLayers (this=this@entry=0x7fde80d3dbb0)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:468
#7  0x00007fdefd482834 in WebCore::RenderLayerBacking::~RenderLayerBacking (this=0x7fde80d3dbb0, 
    __in_chrg=<optimized out>)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:249
#8  0x00007fdefd482903 in WebCore::RenderLayerBacking::~RenderLayerBacking (this=0x7fde80d3dbb0, 
    __in_chrg=<optimized out>)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:238
#9  0x00007fdefd4829c9 in std::default_delete<WebCore::RenderLayerBacking>::operator() (
    __ptr=<optimized out>, this=0x7fde80d57960)
    at /home/mcatanzaro/Projects/WebKit/Source/WebCore/rendering/RenderLayer.cpp:5977
#10 std::unique_ptr<WebCore::RenderLayerBacking, std::default_delete<WebCore::RenderLayerBacking> >::reset (__p=<optimized out>, this=0x7fde80d57960) at /usr/include/c++/8/bits/unique_ptr.h:382
Comment 1 Michael Catanzaro 2018-08-31 16:41:09 PDT
Created attachment 348680 [details]
Full backtrace
Comment 2 Michael Catanzaro 2018-08-31 16:44:14 PDT
BTW, these destructors are quite tricky (bug #180232)
Comment 3 Zan Dobersek 2018-09-05 03:34:03 PDT
Created attachment 348906 [details]
Patch
Comment 4 Zan Dobersek 2018-09-05 09:20:04 PDT
Comment on attachment 348906 [details]
Patch

Clearing flags on attachment: 348906

Committed r235671: <https://trac.webkit.org/changeset/235671>
Comment 5 Zan Dobersek 2018-09-05 09:20:07 PDT
All reviewed patches have been landed.  Closing bug.