Bug 59311 - [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
Summary: [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P3 Normal
Assignee: Martin Robinson
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2011-04-24 21:52 PDT by Martin Robinson
Modified: 2011-04-25 13:01 PDT (History)
1 user (show)

See Also:


Attachments
Patch (2.09 KB, patch)
2011-04-24 22:14 PDT, Martin Robinson
xan.lopez: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Robinson 2011-04-24 21:52:53 PDT
(gdb) bt
#0  0x00afd894 in WebCore::FrameView::notifyPageThatContentAreaWillPaint() const () from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#1  0x00b880fa in WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&) () from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#2  0x00c95d19 in WebCore::RenderWidget::paint(WebCore::PaintInfo&, int, int) () from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#3  0x00c3b682 in WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) () from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#4  0x00c3bf9c in WebCore::RenderLayer::paintList(WTF::Vector<WebCore::RenderLayer*, 0u>*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) ()
   from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#5  0x00c3af70 in WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) () from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0
#6  0x00c3bf9c in WebCore::RenderLayer::paintList(WTF::Vector<WebCore::RenderLayer*, 0u>*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) ()
   from /home/xan/gnome2/lib/libwebkitgtk-3.0.so.0

The issue here seems to be that a GtkAdjustment is attached to some zombie Scrollbar.
Comment 1 Martin Robinson 2011-04-24 22:14:08 PDT
Created attachment 90900 [details]
Patch
Comment 2 Xan Lopez 2011-04-25 09:42:25 PDT
Comment on attachment 90900 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=90900&action=review

r=me with that check.

> Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp:72
> +    // In some cases this adjustment may still be attached to a living MainFrameScrollbar.

I suppose we don't really know when this happens?

> Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp:80
> +                                         0, reinterpret_cast<void*>(MainFrameScrollbarGtk::gtkValueChanged), 0);

Double check that you really need the signal id and the detail.
Comment 3 Martin Robinson 2011-04-25 13:01:02 PDT
Committed r84793: <http://trac.webkit.org/changeset/84793>