<?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>17984</bug_id>
          
          <creation_ts>2008-03-21 11:01:54 -0700</creation_ts>
          <short_desc>[Gtk] [Qt] Reproductible assertion failure ASSERT(document) in FrameLoader::saveDocumentState()</short_desc>
          <delta_ts>2008-03-29 19:26:08 -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>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>18064</dup_id>
          
          <bug_file_loc>http://tc.labs.opera.com/apis/XMLHttpRequest/open/001.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, NeedsReduction, Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>74653</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-21 11:01:54 -0700</bug_when>
    <thetext>Step to reproduce :
1) Open a random URL
2) Open the test case URL
3) Go back to the previous URL

You should see :
ASSERTION FAILED: document
(/home/WebKit-Git/WebKit/WebCore/loader/FrameLoader.cpp:3990 void WebCore::FrameLoader::saveDocumentState())

The assertion is triggered on both Qt and Gtk port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74658</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-21 11:16:03 -0700</bug_when>
    <thetext>I tracked down the issue to FrameLoaderClient::detachedFromParent4().

In both cases, we are setting m_frame to zero (and calling g_object_unref on gtk) which is not done in the Mac port (removing that part does remove the assertion failure in both cases).
The commit logs suggest that it is to prevent memory leaks so I could not determine if the platform is wrong or the assertion :
http://trac.webkit.org/projects/webkit/changeset/19046
http://trac.webkit.org/projects/webkit/changeset/30226</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75444</commentid>
    <comment_count>2</comment_count>
    <who name="Jasper Bryant-Greene">jasper</who>
    <bug_when>2008-03-27 04:14:22 -0700</bug_when>
    <thetext>This is a dupe of 18064. I&apos;m 99% certain that the assert is wrong, for reasons specified in that bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75801</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-29 19:26:08 -0700</bug_when>
    <thetext>Marking as duplicate as there is a patch on the other bug.

*** This bug has been marked as a duplicate of 18064 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>