<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>48529</bug_id>
          
          <creation_ts>2010-10-28 09:48:11 -0700</creation_ts>
          <short_desc>Assert in FrameView::paintContents if Tiled backing store is used.</short_desc>
          <delta_ts>2010-10-31 07:47:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>32381</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Viatcheslav Ostapenko">ostap73</reporter>
          <assigned_to name="Viatcheslav Ostapenko">ostap73</assigned_to>
          <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301117</commentid>
    <comment_count>0</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2010-10-28 09:48:11 -0700</bug_when>
    <thetext>QtTestBrowser (and, I think, other browsers using tiled backing store implementation) assert in FrameView::paintContents (on ASSERT(!needsLayout());) if tiled backing store enabled with this call stack:

0	WebCore::FrameView::paintContents	FrameView.cpp	1975	0x01cff399	
1	WebCore::Frame::tiledBackingStorePaint	Frame.cpp	856	0x01cf2d69	
2	WebCore::Tile::updateBackBuffer	TileQt.cpp	123	0x01fa337a	
3	WebCore::TiledBackingStore::updateTileBuffers	TiledBackingStore.cpp	117	0x01d72445	
4	WebCore::TiledBackingStore::tileBufferUpdateTimerFired	TiledBackingStore.cpp	366	0x01d73a23	
5	WebCore::Timer&lt;WebCore::TiledBackingStore&gt;::fired	Timer.h	98	0x01d77508	
6	WebCore::ThreadTimers::sharedTimerFiredInternal	ThreadTimers.cpp	112	0x01dc0602	
7	WebCore::ThreadTimers::sharedTimerFired	ThreadTimers.cpp	90	0x01dc0549	
8	WebCore::SharedTimerQt::timerEvent	SharedTimerQt.cpp	116	0x01fafedc	
9	QObject::event	qobject.cpp	1175	0x0445e924	
10	QApplicationPrivate::notify_helper	qapplication.cpp	4396	0x03837c3c	
11	QApplication::notify	qapplication.cpp	3798	0x0383ec6e	
12	QCoreApplication::notifyInternal	qcoreapplication.cpp	732	0x0444b99b	
13	QCoreApplication::sendEvent	qcoreapplication.h	215	0x0447d686	
14	QTimerInfoList::activateTimers	qeventdispatcher_unix.cpp	602	0x0447d686	
15	timerSourceDispatch	qeventdispatcher_glib.cpp	184	0x0447a504	
16	g_main_context_dispatch	/lib/libglib-2.0.so.0	0	0x04e575e5	
17	??	/lib/libglib-2.0.so.0	0	0x04e5b2d8	
18	g_main_context_iteration	/lib/libglib-2.0.so.0	0	0x04e5b4b8	
19	QEventDispatcherGlib::processEvents	qeventdispatcher_glib.cpp	415	0x0447a1f5	
20	QGuiEventDispatcherGlib::processEvents	qguieventdispatcher_glib.cpp	204	0x038f5225	
...	&lt;More&gt;				

If assert is removed, than garbage appears on tiles because they are not getting painted by FrameView::paintContents .

To reproduce, start QtTestBrowser, start loading some big page (http://dpreview.com, for example) and scroll it up and down to invoke tile updates. Asserts come randomly in debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301147</commentid>
    <comment_count>1</comment_count>
      <attachid>72205</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2010-10-28 10:27:51 -0700</bug_when>
    <thetext>Created attachment 72205
Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302147</commentid>
    <comment_count>2</comment_count>
      <attachid>72205</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2010-10-29 15:36:22 -0700</bug_when>
    <thetext>Comment on attachment 72205
Proposed fix.

Doesn&apos;t really fix the problem, but somehow hides it a bit, but still reproducible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302330</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2010-10-30 11:24:42 -0700</bug_when>
    <thetext>i think, it is a duplicate of this https://bugs.webkit.org/show_bug.cgi?id=32381
and thus the proposed fix is really just hiding the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302389</commentid>
    <comment_count>4</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2010-10-31 07:44:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; i think, it is a duplicate of this https://bugs.webkit.org/show_bug.cgi?id=32381
&gt; and thus the proposed fix is really just hiding the problem.

Thanks Zalan. It&apos;s really dupplicate.
Also, tiled backing store enforces layout before tile update, so it worked fine before, when layout was really doing it&apos;s job.
But I have a question - why do we enforce layout? Isn&apos;t it better to wait until layout will be completed? Enforcing layout breaks layout throttling and can affect loading performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302390</commentid>
    <comment_count>5</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2010-10-31 07:47:06 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 32381 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72205</attachid>
            <date>2010-10-28 10:27:51 -0700</date>
            <delta_ts>2010-10-29 15:36:22 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>tile_paint_assert_needsLayout_01.diff</filename>
            <type>text/plain</type>
            <size>5551</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDc4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMTAtMjggIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPG9zdGFw
ZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4IGFzc2VydGluZyBpbiBGcmFtZVZpZXc6OnBhaW50Q29u
dGVudHMgaWYgdGlsZWQgYmFja2luZyBzdG9yZSBpcyB1c2VkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg1MjkKKyAgICAgICAgQXNzZXJ0cyBpbiBk
ZWJ1ZyBidWlsZCwgd2hlbiB0aWxlZCBiYWNraW5nIHN0b3JlIHRyaWVzIHRvIHVwZGF0ZSB0aWxl
cyAKKyAgICAgICAgYW5kIGxheW91dCBpcyBwZW5kaW5nLgorICAgICAgICBJZiBhc3NlcnQgaXMg
cmVtb3ZlZCwgdGhhbiBnYXJiYWdlIGFwcGVhcnMgb24gc2NyZWVuIGJlY2F1c2UgdGlsZXMgYXJl
CisgICAgICAgIG5vdCBnZXR0aW5nIHVwZGF0ZWQuCisgICAgICAgIEZpeCBkZWxheXMgdGlsZSB1
cGRhdGUgYW5kIHNjaGVkdWxlcyByZWxheW91dC4KKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnRpbGVkQmFja2luZ1N0b3JlQ2xpZW50UmVhZHlU
b1BhaW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNr
aW5nU3RvcmU6OnVwZGF0ZVRpbGVCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFj
a2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdT
dG9yZTo6dGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nU3RvcmVDbGllbnQuaDoKKwogMjAxMC0xMC0yOCAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkluZGV4
OiBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAJKHJldmlzaW9uIDcwMjQ3KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODU2LDYgKzg1NiwxOSBAQCB2b2lkIEZyYW1lOjp0aWxlZEJhY2tpbmdTdG9y
ZVBhaW50KEdyYXBoCiAgICAgbV92aWV3LT5wYWludENvbnRlbnRzKGNvbnRleHQsIHJlY3QpOwog
fQogCitib29sIEZyYW1lOjp0aWxlZEJhY2tpbmdTdG9yZUNsaWVudFJlYWR5VG9QYWludCgpCit7
CisgICAgaWYgKCFtX3ZpZXcpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChtX3Zp
ZXctPm5lZWRzTGF5b3V0KCkpIHsKKyAgICAgICAgbV92aWV3LT5zY2hlZHVsZVJlbGF5b3V0KCk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
dm9pZCBGcmFtZTo6dGlsZWRCYWNraW5nU3RvcmVQYWludEVuZChjb25zdCBWZWN0b3I8SW50UmVj
dD4mIHBhaW50ZWRBcmVhKQogewogICAgIGlmICghbV9wYWdlIHx8ICFtX3ZpZXcpCkluZGV4OiBX
ZWJDb3JlL3BhZ2UvRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuaAko
cmV2aXNpb24gNzAyNDcpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjM1LDYgKzIzNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2
b2lkIHRpbGVkQmFja2luZ1N0b3JlUGFpbnRCZWdpbigpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
dGlsZWRCYWNraW5nU3RvcmVQYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0aWxlZEJhY2tpbmdTdG9yZVBhaW50RW5kKGNvbnN0IFZl
Y3RvcjxJbnRSZWN0PiYgcGFpbnRlZEFyZWEpOworICAgICAgICB2aXJ0dWFsIGJvb2wgdGlsZWRC
YWNraW5nU3RvcmVDbGllbnRSZWFkeVRvUGFpbnQoKTsKICAgICAgICAgdmlydHVhbCBJbnRSZWN0
IHRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCk7CiAgICAgICAgIHZpcnR1YWwgSW50UmVj
dCB0aWxlZEJhY2tpbmdTdG9yZVZpc2libGVSZWN0KCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCShyZXZpc2lvbiA3MDI0NykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OCwxMSArODgsMTQgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52
YWxpZGF0ZShjb25zdAogICAgIHN0YXJ0VGlsZUJ1ZmZlclVwZGF0ZVRpbWVyKCk7CiB9CiAKLXZv
aWQgVGlsZWRCYWNraW5nU3RvcmU6OnVwZGF0ZVRpbGVCdWZmZXJzKCkKK2Jvb2wgVGlsZWRCYWNr
aW5nU3RvcmU6OnVwZGF0ZVRpbGVCdWZmZXJzKCkKIHsKICAgICBpZiAobV9jb250ZW50c0Zyb3pl
bikKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisgICAgaWYg
KCFtX2NsaWVudC0+dGlsZWRCYWNraW5nU3RvcmVDbGllbnRSZWFkeVRvUGFpbnQoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCiAgICAgVmVjdG9yPEludFJlY3Q+IHBhaW50ZWRBcmVhOwogICAg
IFZlY3RvcjxSZWZQdHI8VGlsZT4gPiBkaXJ0eVRpbGVzOwogICAgIFRpbGVNYXA6Oml0ZXJhdG9y
IGVuZCA9IG1fdGlsZXMuZW5kKCk7CkBAIC0xMDUsNyArMTA4LDcgQEAgdm9pZCBUaWxlZEJhY2tp
bmdTdG9yZTo6dXBkYXRlVGlsZUJ1ZmZlcgogICAgIH0KICAgICAKICAgICBpZiAoZGlydHlUaWxl
cy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
CiAgICAgbV9jbGllbnQtPnRpbGVkQmFja2luZ1N0b3JlUGFpbnRCZWdpbigpOwogCkBAIC0xMjAs
NiArMTIzLDggQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6dXBkYXRlVGlsZUJ1ZmZlcgogICAg
ICAgICBkaXJ0eVRpbGVzW25dLT5zd2FwQmFja0J1ZmZlclRvRnJvbnQoKTsKIAogICAgIG1fY2xp
ZW50LT50aWxlZEJhY2tpbmdTdG9yZVBhaW50RW5kKHBhaW50ZWRBcmVhKTsKKworICAgIHJldHVy
biB0cnVlOwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpwYWludChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCkBAIC0yNTcsNyArMjYyLDggQEAgdm9p
ZCBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgIAogICAgIC8vIFBhaW50IHRo
ZSBjb250ZW50IG9mIHRoZSBuZXdseSBjcmVhdGVkIHRpbGVzCiAgICAgaWYgKHRpbGVzVG9DcmVh
dGVDb3VudCkKLSAgICAgICAgdXBkYXRlVGlsZUJ1ZmZlcnMoKTsKKyAgICAgICAgaWYgKCF1cGRh
dGVUaWxlQnVmZmVycygpKQorICAgICAgICAgICAgcmVxdWlyZWRUaWxlQ291bnQgKz0gdGlsZXNU
b0NyZWF0ZUNvdW50OwogCiAgICAgLy8gS2VlcCBjcmVhdGluZyB0aWxlcyB1bnRpbCB0aGUgd2hv
bGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYgKHJlcXVpcmVkVGlsZUNvdW50KQpAQCAt
MzYzLDcgKzM2OSw4IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnN0YXJ0VGlsZUJ1ZmZlclUK
IAogdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6dGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGls
ZVRpbWVyKikKIHsKLSAgICB1cGRhdGVUaWxlQnVmZmVycygpOworICAgIGlmICghdXBkYXRlVGls
ZUJ1ZmZlcnMoKSkKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci0+c3RhcnRPbmVTaG90KG1f
dGlsZUNyZWF0aW9uRGVsYXkpOwogfQogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpzdGFydFRp
bGVDcmVhdGlvblRpbWVyKCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmgJKHJldmlzaW9uIDcwMjQ3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw3ICs3NSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0aWxlQnVmZmVyVXBkYXRlVGltZXJGaXJlZChUaWxlVGlt
ZXIqKTsKICAgICB2b2lkIHRpbGVDcmVhdGlvblRpbWVyRmlyZWQoVGlsZVRpbWVyKik7CiAgICAg
Ci0gICAgdm9pZCB1cGRhdGVUaWxlQnVmZmVycygpOworICAgIGJvb2wgdXBkYXRlVGlsZUJ1ZmZl
cnMoKTsKICAgICB2b2lkIGNyZWF0ZVRpbGVzKCk7CiAgICAgCiAgICAgdm9pZCBjb21taXRTY2Fs
ZUNoYW5nZSgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdT
dG9yZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmVDbGllbnQuaAkocmV2aXNpb24gNzAyNDcpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDYgKzI4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0aWxlZEJhY2tpbmdTdG9y
ZVBhaW50QmVnaW4oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRpbGVkQmFja2luZ1N0b3JlUGFp
bnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgdGlsZWRCYWNraW5nU3RvcmVQYWludEVuZChjb25zdCBWZWN0b3I8SW50UmVjdD4mIHBhaW50
ZWRBcmVhKSA9IDA7CisgICAgdmlydHVhbCBib29sIHRpbGVkQmFja2luZ1N0b3JlQ2xpZW50UmVh
ZHlUb1BhaW50KCkgPSAwOwogICAgIHZpcnR1YWwgSW50UmVjdCB0aWxlZEJhY2tpbmdTdG9yZUNv
bnRlbnRzUmVjdCgpID0gMDsKICAgICB2aXJ0dWFsIEludFJlY3QgdGlsZWRCYWNraW5nU3RvcmVW
aXNpYmxlUmVjdCgpID0gMDsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>