Bug 36705 - BlurBox function spinning forever
Summary: BlurBox function spinning forever
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2010-03-27 10:55 PDT by Sjoerd Simons
Modified: 2010-10-21 17:41 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sjoerd Simons 2010-03-27 10:55:46 PDT
When going to http://developer.apple.com/mac/library/navigation/index.html with WebkitGtk the process spins what seems to be forever (i killed it after several minutes) in the BlurBox function. Backtrace of what was going on below, node the  effectWidth value.


#0  0x00007f905131c825 in boxBlur (srcPixelArray=@0x7ffffb4a5938, 
    dstPixelArray=@0x7ffffb4a5948, dx=<value optimized out>, stride=3088, 
    strideLine=<value optimized out>, effectWidth=141444, effectHeight=772, alphaImage=true)
    at ../WebCore/platform/graphics/filters/FEGaussianBlur.cpp:94
#1  0x00007f905131cca1 in WebCore::FEGaussianBlur::apply (this=0x7f90355baf70, 
    filter=<value optimized out>)
    at ../WebCore/platform/graphics/filters/FEGaussianBlur.cpp:132
#2  0x00007f90514002b2 in WebCore::GraphicsContext::createPlatformShadow (
    this=<value optimized out>, buffer=<value optimized out>, shadowColor=..., 
    shadowRect=..., kernelSize=0.5)
    at ../WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:871
#3  0x00007f905140190f in drawBorderlessRectShadow (this=0x7ffffb4a6eb0, rect=..., color=..., 
    colorSpace=<value optimized out>)
    at ../WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:571
#4  WebCore::GraphicsContext::fillRect (this=0x7ffffb4a6eb0, rect=..., color=..., 
    colorSpace=<value optimized out>)
    at ../WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:580
#5  0x00007f90511fe246 in WebCore::RenderBoxModelObject::paintBoxShadow (
    this=<value optimized out>, context=0x7ffffb4a6eb0, tx=<value optimized out>, 
    ty=<value optimized out>, w=<value optimized out>, h=<value optimized out>, 
    s=0x7f903d17a780, shadowStyle=WebCore::Normal, begin=true, end=true)
    at ../WebCore/rendering/RenderBoxModelObject.cpp:1404
#6  0x00007f90511f64a5 in WebCore::RenderBox::paintBoxDecorations (this=0x7f903d4481f8, 
    paintInfo=..., tx=259, ty=519) at ../WebCore/rendering/RenderBox.cpp:636
#7  0x00007f90511e17d1 in WebCore::RenderBlock::paintObject (this=0x7ffffb4a5938, 
    paintInfo=..., tx=259, ty=519) at ../WebCore/rendering/RenderBlock.cpp:1716
#8  0x00007f90511dea70 in WebCore::RenderBlock::paint (this=0x7f903d4481f8, paintInfo=..., 
    tx=259, ty=519) at ../WebCore/rendering/RenderBlock.cpp:1536
#9  0x00007f90511dbcb9 in WebCore::RenderBlock::paintChildren (this=0x7f9040580f88, 
    paintInfo=..., tx=259, ty=138) at ../WebCore/rendering/RenderBlock.cpp:1678
#10 0x00007f90511e18a2 in WebCore::RenderBlock::paintObject (this=0x7f9040580f88, 
---Type <return> to continue, or q <return> to quit---
    paintInfo=..., tx=259, ty=138) at ../WebCore/rendering/RenderBlock.cpp:1744
#11 0x00007f90511dea70 in WebCore::RenderBlock::paint (this=0x7f9040580f88, paintInfo=..., 
    tx=259, ty=138) at ../WebCore/rendering/RenderBlock.cpp:1536
#12 0x00007f90511dbcb9 in WebCore::RenderBlock::paintChildren (this=0x7f9040581a50, 
    paintInfo=..., tx=0, ty=0) at ../WebCore/rendering/RenderBlock.cpp:1678
#13 0x00007f90511e18a2 in WebCore::RenderBlock::paintObject (this=0x7f9040581a50, 
    paintInfo=..., tx=0, ty=0) at ../WebCore/rendering/RenderBlock.cpp:1744
#14 0x00007f90511dea70 in WebCore::RenderBlock::paint (this=0x7f9040581a50, paintInfo=..., 
    tx=0, ty=0) at ../WebCore/rendering/RenderBlock.cpp:1536
#15 0x00007f905122fd6e in WebCore::RenderLayer::paintLayer (this=0x7f9040581b10, 
    rootLayer=<value optimized out>, p=0x7ffffb4a6eb0, paintDirtyRect=..., 
    paintBehavior=<value optimized out>, paintingRoot=<value optimized out>, 
    overlapTestRequests=0x7ffffb4a6c50, paintFlags=<value optimized out>)
    at ../WebCore/rendering/RenderLayer.cpp:2328
#16 0x00007f905122fe5b in WebCore::RenderLayer::paintLayer (this=0x7f9040581720, 
    rootLayer=<value optimized out>, p=0x7ffffb4a6eb0, paintDirtyRect=..., 
    paintBehavior=<value optimized out>, paintingRoot=<value optimized out>, 
    overlapTestRequests=0x7ffffb4a6c50, paintFlags=<value optimized out>)
    at ../WebCore/rendering/RenderLayer.cpp:2359
#17 0x00007f905122fe5b in WebCore::RenderLayer::paintLayer (this=0x7f9040581558, 
    rootLayer=<value optimized out>, p=0x7ffffb4a6eb0, paintDirtyRect=..., 
    paintBehavior=<value optimized out>, paintingRoot=<value optimized out>, 
    overlapTestRequests=0x7ffffb4a6c50, paintFlags=<value optimized out>)
    at ../WebCore/rendering/RenderLayer.cpp:2359
#18 0x00007f9051230674 in WebCore::RenderLayer::paint (this=0x7ffffb4a5938, 
    p=<value optimized out>, damageRect=<value optimized out>, 
    paintBehavior=<value optimized out>, paintingRoot=<value optimized out>)
    at ../WebCore/rendering/RenderLayer.cpp:2138
#19 0x00007f9051119857 in WebCore::FrameView::paintContents (this=0x7f9040550780, 
    p=0x7ffffb4a6eb0, rect=...) at ../WebCore/page/FrameView.cpp:1839
#20 0x00007f905115d11f in WebCore::ScrollView::paint (this=0x7f9040550780, 
---Type <return> to continue, or q <return> to quit---
    context=0x7ffffb4a6eb0, rect=...) at ../WebCore/platform/ScrollView.cpp:794
#21 0x00007f905145dd98 in webkit_web_view_expose_event (widget=<value optimized out>, 
    event=<value optimized out>) at ../WebKit/gtk/webkit/webkitwebview.cpp:527
#22 0x00007f9050384c38 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1ec6160, 
    return_value=0x7ffffb4a70c0, n_param_values=<value optimized out>, 
    param_values=0x2c4c8c0, invocation_hint=<value optimized out>, 
    marshal_data=0x7f905145dc70) at /tmp/buildd/gtk+2.0-2.20.0/gtk/gtkmarshalers.c:84
#23 0x00007f904f16249e in IA__g_closure_invoke (closure=0x1ec6160, 
    return_value=0x7ffffb4a70c0, n_param_values=2, param_values=0x2c4c8c0, 
    invocation_hint=0x7ffffb4a7080) at /tmp/buildd/glib2.0-2.23.6/gobject/gclosure.c:767
#24 0x00007f904f179112 in signal_emit_unlocked_R (node=0x1ec6460, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at /tmp/buildd/glib2.0-2.23.6/gobject/gsignal.c:3286
#25 0x00007f904f17aa9c in IA__g_signal_emit_valist (instance=0x2bbc000, 
    signal_id=<value optimized out>, detail=0, var_args=0x7ffffb4a7270)
    at /tmp/buildd/glib2.0-2.23.6/gobject/gsignal.c:2991
#26 0x00007f904f17b1a3 in IA__g_signal_emit (instance=0x7ffffb4a5938, signal_id=4215953736, 
    detail=2960834560) at /tmp/buildd/glib2.0-2.23.6/gobject/gsignal.c:3038
#27 0x00007f905049aecf in gtk_widget_event_internal (widget=0x2bbc000, event=0x7ffffb4a73e0)
    at /tmp/buildd/gtk+2.0-2.20.0/gtk/gtkwidget.c:4943
#28 0x00007f905037e446 in IA__gtk_main_do_event (event=0x7ffffb4a73e0)
    at /tmp/buildd/gtk+2.0-2.20.0/gtk/gtkmain.c:1572
#29 0x00007f904fd83752 in _gdk_window_process_updates_recurse (window=0x2c2bc80, 
    expose_region=0x2c67090) at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdkwindow.c:5181
#30 0x00007f904fd836ff in _gdk_window_process_updates_recurse (window=0x220ae30, 
    expose_region=0x2c69cf0) at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdkwindow.c:5154
#31 0x00007f904fd8020b in gdk_window_process_updates_internal (window=0x220ae30)
    at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdkwindow.c:5340
#32 0x00007f904fd82081 in IA__gdk_window_process_all_updates ()
    at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdkwindow.c:5448
---Type <return> to continue, or q <return> to quit---
#33 0x00007f904fd820e9 in gdk_window_update_idle (data=0x7ffffb4a5938)
    at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdkwindow.c:5074
#34 0x00007f904fd5ecd6 in gdk_threads_dispatch (data=0x2c5f6e0)
    at /tmp/buildd/gtk+2.0-2.20.0/gdk/gdk.c:512
#35 0x00007f904eab0772 in g_main_dispatch (context=0x1e59790)
    at /tmp/buildd/glib2.0-2.23.6/glib/gmain.c:1960
#36 IA__g_main_context_dispatch (context=0x1e59790)
    at /tmp/buildd/glib2.0-2.23.6/glib/gmain.c:2513
#37 0x00007f904eab45e8 in g_main_context_iterate (context=0x1e59790, 
    block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /tmp/buildd/glib2.0-2.23.6/glib/gmain.c:2591
#38 0x00007f904eab4af5 in IA__g_main_loop_run (loop=0x1ec0c10)
    at /tmp/buildd/glib2.0-2.23.6/glib/gmain.c:2799
#39 0x00007f905037e677 in IA__gtk_main () at /tmp/buildd/gtk+2.0-2.20.0/gtk/gtkmain.c:1219
#40 0x0000000000435193 in main (argc=1, argv=0x7ffffb4a89d8)
    at /build/buildd-epiphany-browser_2.29.92-1-amd64-IUxO5O/epiphany-browser-2.29.92/src/ephy-main.c:741
Comment 1 Dirk Schulze 2010-04-13 12:20:01 PDT
Can confirm this.
Comment 2 Martin Robinson 2010-10-06 12:25:55 PDT
It doesn't freeze for me, but I can confirm the performance of this page is very bad.
Comment 3 Martin Robinson 2010-10-21 17:41:57 PDT
This issue seems to be fixed with our recent shadow improvements. Closing.