Bug 61924 - Tests crashing on GTK debug bots because of failing ASSERT in FrameView.cpp
Summary: Tests crashing on GTK debug bots because of failing ASSERT in FrameView.cpp
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-02 06:35 PDT by Mario Sanchez Prada
Modified: 2011-11-05 17:57 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mario Sanchez Prada 2011-06-02 06:35:22 PDT
The following tests are crashing frequently in the debug GTK bots:

editing/pasteboard/drop-file-svg.html
http/tests/fileapi/create-blob-url-from-data-url.html
http/tests/misc/SVGFont-delayed-load.html
svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml
svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml
svg/custom/object-sizing-width-50p-on-target-svg.xhtml
svg/hixie/intrinsic/002.html

In all those cases (and perhaps some more that I was not able to find) the reasons seems to be the same one, a failing ASSERT in FrameView.cpp:2422:

ASSERTION FAILED: !needsLayout()
../../Source/WebCore/page/FrameView.cpp(2422) : virtual void WebCore::FrameView::paintContents(WebCore::GraphicsContext*, const WebCore::IntRect&)

Here you have the full backtrace:

Thread 1 (Thread 23783):
#0  0x00002b7b8c6f6407 in WebCore::FrameView::paintContents (this=0x37ca100, p=0x7fff0ff76070, rect=...) at ../../Source/WebCore/page/FrameView.cpp:2422
#1  0x00002b7b8c7e476d in WebCore::ScrollView::paint (this=0x37ca100, context=0x7fff0ff76070, rect=...) at ../../Source/WebCore/platform/ScrollView.cpp:1020
#2  0x00002b7b8bfe7046 in paintWebView (frame=0x19ceef0, transparent=0, context=..., clipRect=..., rects=WTF::Vector of length 1, capacity 16 = {...}) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:640
#3  0x00002b7b8bfe7379 in webkit_web_view_expose_event (widget=0x1a20090, event=0x7fff0ff766a0) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:679
#4  0x00002b7b8ec28d48 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#5  0x00002b7b90452e7e in g_closure_invoke (closure=0x19b8b00, return_value=0x7fff0ff76350, n_param_values=2, param_values=0x3bcd790, invocation_hint=0x7fff0ff76310) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#6  0x00002b7b904646e8 in signal_emit_unlocked_R (node=<value optimized out>, detail=0, instance=0x1a20090, emission_return=0x7fff0ff764c0, instance_and_params=0x3bcd790) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3290
#7  0x00002b7b9046daa5 in g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, var_args=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2993
#8  0x00002b7b9046ded3 in g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#9  0x00002b7b8ed44d8f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00002b7b8ec2756a in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00002b7b8f178cf2 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#12 0x00002b7b8f178c9f in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#13 0x00002b7b8f173c2b in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#14 0x00002b7b8f175e39 in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0
#15 0x00002b7b8f175ea9 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#16 0x00002b7b8f153126 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#17 0x00002b7b90cea4a3 in g_main_dispatch (context=0x19b3a40) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#18 g_main_context_dispatch (context=0x19b3a40) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#19 0x00002b7b90ceac80 in g_main_context_iterate (context=0x19b3a40, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#20 0x00002b7b90ceb2f2 in g_main_loop_run (loop=0x3d18740) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3299
#21 0x00002b7b8ec262b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x0000000000423f2d in runTest (testPathOrURL=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:703
#23 0x00000000004235ca in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:495
#24 0x000000000042588c in main (argc=2, argv=0x7fff0ff77478) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1180


For the time being, skipping those tests in GTK
Comment 1 Mario Sanchez Prada 2011-06-02 06:57:17 PDT
Add ten more to the list: 

svg/custom/frame-getSVGDocument.html
svg/custom/object-sizing-height-50p-on-target-svg.xhtml
svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml
svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml
svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml
svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml
svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml
svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml
svg/custom/object-sizing.xhtml


Looks like the SVG tests are doomed at the moment for GTK...
Comment 2 Mario Sanchez Prada 2011-06-02 07:38:43 PDT
Two more, this time only seen in the GTK 32 bit debug bot:

svg/hixie/intrinsic/001.html
svg/hixie/intrinsic/003.html
Comment 3 Mario Sanchez Prada 2011-06-02 10:02:06 PDT
(In reply to comment #0)
> The following tests are crashing frequently in the debug GTK bots:
> [...]
> http/tests/fileapi/create-blob-url-from-data-url.html

Sorry, I made a mistake reporting this bug: this test is not happening because of an ASSERT in FrameView.cpp but in webkitwebdatasource.cpp, in WKGTK. See bug 61937
Comment 4 Martin Robinson 2011-11-05 17:57:10 PDT
This is likely fixed with the change to a backing store for WebkitWebView. I'll unskip the tests, close the bug and reopen if there are problems in the future.