Bug 66749

Summary: [Qt] Assertion fails in three regression tests after r93567
Product: WebKit Reporter: Renata Hodovan <rhodovan.u-szeged>
Component: FramesAssignee: Rafael Brandao <rafael.lobo>
Status: RESOLVED FIXED    
Severity: Normal CC: allan.jensen, ap, ggaren, lakshmiprasannag10, noam, ossy, rafael.lobo, zherczeg
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 53191, 79666, 79668    

Description Renata Hodovan 2011-08-23 00:27:39 PDT
Three tests have assertion error in debug mode on x86-32 Linux Qt:

ASSERTION FAILED: webFrame.isNull()
../../../../Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp(1323) : virtual WTF::PassRefPtr<WebCore::Frame> WebCore::FrameLoaderClientQt::createFrame(const WebCore::KURL&, const WTF::String&, WebCore::HTMLFrameOwnerElement*, const WTF::String&, bool, int, int)
Segmentation fault

The failed tests are:
fast/frames/iframe-onload-remove-self-no-crash.html
fast/loader/create-frame-in-DOMContentLoaded.html
fast/loader/frame-creation-removal.html
Comment 1 Renata Hodovan 2011-08-23 01:25:48 PDT
Committed r93581: <http://trac.webkit.org/changeset/93581>
Comment 2 Renata Hodovan 2011-08-23 01:28:12 PDT
The error is still exist.
Comment 3 Alexey Proskuryakov 2011-08-23 09:56:36 PDT
Why was this assigned to me? Even provided that it started with my check-in, I have no way to work on this bug.

Notably, Mac WebKit1 also has this assertion, which doesn't get hit.
Comment 4 lakshmig 2011-09-21 00:23:14 PDT
The Asset condition is checking webFrame object existence, it has not been freed any where before the Assert instruction, so the webFrame.isNull() instruction is returning false. After adding following instructions all the test cases mentioned above are passing.
 
 delete webFrame ;
 ASSERT(webFrame.isNull());
Comment 5 Allan Sandfeld Jensen 2012-05-07 01:32:17 PDT
I think the assert can be removed. The frame is not always deleted right away, and none of the other implementations of FrameLoaderClient has a similar assert.
Comment 6 Rafael Brandao 2012-05-17 15:23:14 PDT
I think the first step is to figure out why there's this assumption that it will be deleted at that point. I will take a look.
Comment 7 Rafael Brandao 2012-05-17 16:10:31 PDT
It looks like this is fixed already. Tests are passing and I can't find these ones skipped. Closing bug.