<?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>19370</bug_id>
          
          <creation_ts>2008-06-03 06:14:04 -0700</creation_ts>
          <short_desc>[Gtk] Assertion failure at ScrollWindow.update for r34340</short_desc>
          <delta_ts>2008-10-03 22:11:02 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://webkit.org/blog</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jan Alonzo">jmalonzo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>camaradetux</cc>
    
    <cc>jakub.rusinek</cc>
    
    <cc>marco.barisione</cc>
    
    <cc>mh+webkit</cc>
    
    <cc>pierre-luc.beaudoin</cc>
    
    <cc>xclaesse</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82193</commentid>
    <comment_count>0</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-06-03 06:14:04 -0700</bug_when>
    <thetext>Here&apos;s a backtrace:

[New process 6778]
#0  0x00007fa9169c27c3 in WebCore::ScrollView::update (this=&lt;value optimized out&gt;) at WebCore/platform/gtk/ScrollViewGtk.cpp:321
321         ASSERT(containingWindow());
(gdb) bt
#0  0x00007fa9169c27c3 in WebCore::ScrollView::update (this=&lt;value optimized out&gt;) at WebCore/platform/gtk/ScrollViewGtk.cpp:321
#1  0x00007fa9161d1e76 in WebCore::Document::implicitClose (this=0x23e48e0) at WebCore/dom/Document.cpp:1590
#2  0x00007fa91647d7b8 in WebCore::FrameLoader::checkCompleted (this=0x23d5598) at WebCore/loader/FrameLoader.cpp:1291
#3  0x00007fa91647f842 in WebCore::FrameLoader::finishedParsing (this=0x23d5598) at WebCore/loader/FrameLoader.cpp:1241
#4  0x00007fa9161c1bdd in WebCore::Document::finishedParsing (this=0x23e48e0) at WebCore/dom/Document.cpp:3730
#5  0x00007fa91647b0cc in WebCore::FrameLoader::endIfNotLoadingMainResource (this=0x23d5598) at WebCore/loader/FrameLoader.cpp:1070
#6  0x00007fa91696a0f7 in WebCore::SVGImage::dataChanged (this=0x237cae0, allDataReceived=&lt;value optimized out&gt;) at WebCore/svg/graphics/SVGImage.cpp:222
#7  0x00007fa916594182 in WebCore::Image::setData (this=0x237cae0, data=&lt;value optimized out&gt;, allDataReceived=false) at WebCore/platform/graphics/Image.cpp:72
#8  0x00007fa91644678d in WebCore::CachedImage::data (this=0x21833c0, data=&lt;value optimized out&gt;, allDataReceived=192) at WebCore/loader/CachedImage.cpp:233
#9  0x00007fa91649c7f5 in WebCore::Loader::Host::didFinishLoading (this=0x2054970, loader=0x237fa50) at WebCore/loader/loader.cpp:268
#10 0x00007fa9164b1b66 in WebCore::SubresourceLoader::didFinishLoading (this=0x237fa50) at WebCore/loader/SubresourceLoader.cpp:193
#11 0x00007fa91671f32b in WebCore::ResourceHandleManager::downloadTimerCallback (this=0x1de33a0, timer=&lt;value optimized out&gt;) at WebCore/platform/network/curl/ResourceHandleManager.cpp:298
#12 0x00007fa9165d1000 in WebCore::TimerBase::fireTimers (fireTime=1212497292.2715991, firingTimers=@0x7fff1f89a6a0) at WebCore/platform/Timer.cpp:347
#13 0x00007fa9165d1110 in WebCore::TimerBase::sharedTimerFired () at WebCore/platform/Timer.cpp:368
#14 0x00007fa9169c72b2 in timeout_cb () at WebCore/platform/gtk/SharedTimerGtk.cpp:48
#15 0x00007fa914bde81b in ?? () from /usr/lib/libglib-2.0.so.0
#16 0x00007fa914bde0f2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#17 0x00007fa914be1396 in ?? () from /usr/lib/libglib-2.0.so.0
#18 0x00007fa914be1657 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#19 0x00007fa9151ecc43 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x0000000000401ecb in main (argc=1, argv=0x7fff1f89a9f8) at WebKitTools/GtkLauncher/main.c:200
Current language:  auto; currently c++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82378</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-06-05 19:36:10 -0700</bug_when>
    <thetext>Thanks for the trace. It&apos;d be best to figure out why this is null, but it might be worth adding a nullcheck to avoid crashes for users in the meantime if debugging doesn&apos;t get us anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86218</commentid>
    <comment_count>2</comment_count>
      <attachid>22339</attachid>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-07-17 08:28:27 -0700</bug_when>
    <thetext>Created attachment 22339
Temporary workaround

Usually I don&apos;t like this kind of workarounds but I wasn&apos;t able to find the real reason for this problem and this bug is very annoying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86229</commentid>
    <comment_count>3</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-07-17 10:02:11 -0700</bug_when>
    <thetext>Okay. Is that the FrameView of the main frame? Looks like we have detached the containing window from the WebCore::FrameView but then do something with the FrameView... So the above URL is enough to make that happen? Does this happen with page cache turned off?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86231</commentid>
    <comment_count>4</comment_count>
    <who name="Xavier Claessens">xclaesse</who>
    <bug_when>2008-07-17 10:08:03 -0700</bug_when>
    <thetext>I can reproduce this bug with empathy, using webkit to render adium themes. It happens when a contact don&apos;t have an avatar so it get replaced by a SVG icon.

To reproduce:

1) Take the adium empathy branch:
http://git.collabora.co.uk/?p=user/xclaesse/empathy.git;a=shortlog;h=refs/heads/adium
2) Put the &quot;Contents&quot; dir of an adium theme in you home
3) In the preference dialog select &apos;adium&apos;
4) start a chat with someone that have no avatar</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86232</commentid>
    <comment_count>5</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-07-17 10:10:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Okay. Is that the FrameView of the main frame?

Frame view.

&gt; Looks like we have detached the
&gt; containing window from the WebCore::FrameView but then do something with the
&gt; FrameView...

Yes, but I cannot find where the problem is and why it happens.

&gt; So the above URL is enough to make that happen? Does this happen
&gt; with page cache turned off?

Yes, that&apos;s enough. I can reproduce the bug also in other ways, for instace using the experimental code for adium thems in the empathy IM client.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87654</commentid>
    <comment_count>6</comment_count>
      <attachid>22339</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-01 17:05:21 -0700</bug_when>
    <thetext>Comment on attachment 22339
Temporary workaround

Better to fix the bug, or explain why it is OK for a ScrollView to ever not have a window.  Printing perhaps?  During teardown?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87718</commentid>
    <comment_count>7</comment_count>
      <attachid>22622</attachid>
    <who name="Kalle Vahlman">zuh</who>
    <bug_when>2008-08-03 05:23:28 -0700</bug_when>
    <thetext>Created attachment 22622
Reduced test case

Here&apos;s a reduced test case.

Seems that the problem is with showing any SVG in an img tag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87757</commentid>
    <comment_count>8</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-08-04 08:02:19 -0700</bug_when>
    <thetext>It seems that the bug is only visible when you have a SVG inside an &lt;img&gt; tag. This is supported only by WebKit and this is why we were seeing the crash only on pages thought to be viewed in WebKit.

The reason for the crash is that SVGImage contains a FrameView and FrameView derives from ScrollView. The FrameView doesn&apos;t have an associated widget -&gt; crash.

Why are svg images in &lt;img&gt; treated in a different way? If that&apos;s normal is it normal that they don&apos;t have an associated widget? (I think so but I don&apos;t know that code)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87981</commentid>
    <comment_count>9</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-08-06 12:15:22 -0700</bug_when>
    <thetext>*** Bug 18444 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88173</commentid>
    <comment_count>10</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-08-10 02:02:12 -0700</bug_when>
    <thetext>#8  0x00007f3c1f01f610 in WebCore::Loader::Host::didFinishLoading (this=0xa8ff40, loader=0xceb0d0) at ../../WebCore/loader/loader.cpp:275
#9  0x00007f3c1f033331 in WebCore::SubresourceLoader::didFinishLoading (this=0xceb0d0) at ../../WebCore/loader/SubresourceLoader.cpp:196

I started looking at those parts of the stack in Host::didFinishLoading, [CachedResource*] resource-&gt;size() is 0 here. Whereas for non-svg images this is the size of the image. There&apos;s probably something wrong with the way we&apos;re loading SVG images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88216</commentid>
    <comment_count>11</comment_count>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-08-11 07:51:28 -0700</bug_when>
    <thetext>*** Bug 20344 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92458</commentid>
    <comment_count>12</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-09-23 20:36:12 -0700</bug_when>
    <thetext>Both the reduced test case and webkit.org/blog seems to be OK now. Must&apos;ve been (accidentally) fixed lately. Closing as WONTFIX.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92517</commentid>
    <comment_count>13</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-09-24 07:55:29 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Both the reduced test case and webkit.org/blog seems to be OK now. Must&apos;ve been
&gt; (accidentally) fixed lately. Closing as WONTFIX.

Are you sure? I can still reproduce it with an updated copy of webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92520</commentid>
    <comment_count>14</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-09-24 08:02:35 -0700</bug_when>
    <thetext>Well, it works on my curl backend build. Are you using curl or soup?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94038</commentid>
    <comment_count>15</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-10-03 22:11:02 -0700</bug_when>
    <thetext>Closing as this is obsolete (due to dhyatt&apos;s refactoring of scrollviews) and test cases work fine now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22339</attachid>
            <date>2008-07-17 08:28:27 -0700</date>
            <delta_ts>2008-08-01 17:05:21 -0700</delta_ts>
            <desc>Temporary workaround</desc>
            <filename>update-assertion-failure.patch</filename>
            <type>text/plain</type>
            <size>1324</size>
            <attacher name="Marco Barisione">marco.barisione</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWI4OTgzNy4uYmUxMmZmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAwOC0wNy0xNyAgTWFyY28gQmFyaXNp
b25lICA8bWFyY28uYmFyaXNpb25lQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBBc3NlcnRpb24gZmFpbHVyZSBh
dCBTY3JvbGxXaW5kb3cudXBkYXRlIGZvciByMzQzNDAKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNzAKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
Y3JvbGxWaWV3R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZSk6
IFJldHVybiBpZiB0aGUgY29udGFpbmluZyB3aW5kb3cgaXMgbnVsbAorICAgICAgICBhcyBhIHRl
bXBvcmFyeSB3b3JrYXJvdW5kIGZvciB0aGUgY3Jhc2guCisKIDIwMDgtMDctMTYgIEpvbiBIb25l
eWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBDYW4n
dCBjcmVhdGUgd2luZG93bGVzcyBwbHVnLWluIHdpdGggRmxhc2ggOQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9TY3JvbGxWaWV3R3RrLmNwcAppbmRleCBlNzM4OTgyLi5jNGVhN2JlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxWaWV3R3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9TY3JvbGxWaWV3R3RrLmNwcApAQCAtMzIzLDcgKzMyMywxMCBAQCB2b2lkIFNjcm9s
bFZpZXc6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QsIGJvb2wgbm93
KQogCiB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZSgpCiB7Ci0gICAgQVNTRVJUKGNvbnRhaW5pbmdX
aW5kb3coKSk7CisgICAgLyogRklYTUU6IHRoaXMgaXMganVzdCBhIHRlbXBvcmFyeSB3b3JrYXJv
dW5kIHRvIGF2b2lkIGNyYXNoZXMuICovCisgICAgLyogQVNTRVJUKGNvbnRhaW5pbmdXaW5kb3co
KSk7ICovCisgICAgaWYgKCFjb250YWluaW5nV2luZG93KCkpCisgICAgICAgIHJldHVybjsKIAog
ICAgIEdka1JlY3RhbmdsZSByZWN0ID0gZnJhbWVHZW9tZXRyeSgpOwogICAgIGdka193aW5kb3df
aW52YWxpZGF0ZV9yZWN0KEdUS19XSURHRVQoY29udGFpbmluZ1dpbmRvdygpKS0+d2luZG93LCAm
cmVjdCwgdHJ1ZSk7Cg==
</data>
<flag name="review"
          id="9844"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>22622</attachid>
            <date>2008-08-03 05:23:28 -0700</date>
            <delta_ts>2008-08-03 05:23:28 -0700</delta_ts>
            <desc>Reduced test case</desc>
            <filename>crash-with-svg.html</filename>
            <type>text/html</type>
            <size>128</size>
            <attacher name="Kalle Vahlman">zuh</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjx0aXRsZT5DcmFzaCBib29tIGJhbmc8L3RpdGxlPjwvaGVhZD4KPGJvZHk+
CjxpbWcgc3JjPSJodHRwOi8vd2Via2l0Lm9yZy9ibG9nLWZpbGVzL2NpcmNsZS5zdmciLz4KPC9i
b2R5Pgo8L2h0bWw+Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>