Bug 108815

Summary: [Qt] JSC a oversize block related crash
Product: WebKit Reporter: honda
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: allan.jensen, hausmann, jturcotte
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Bug Depends on:    
Bug Blocks: 88186, 103747    

Description honda 2013-02-04 04:23:51 PST
When accessing a gmail web site, sooner or later,  qtwebkit 2.3 related browsers (quppzila, arora, etc) crash.
Gdb said that this crash occurs in the following path:

SlotVisitor::copyLater()
m_shared.m_copiedSpace->pin(CopiedSpace::oversizeBlockFor(ptr))
CopiedBlock::pin() 
m_workList.clear() HERE!!.

Clearly memory corruptions happened in oversized blocks beofore clear() deallocation.
After some investigation, I found that the change set 138067 clearly explains its cause, and
the change sets 137961 and 138067 resolve the issue completely.

Taking the importance of these change sets into account, they are better to be included
in the current qtwebkit 2.3.
Comment 2 Allan Sandfeld Jensen 2013-02-05 03:24:13 PST
Thanks for the report. Great stuff. It has been pushed to Qt 5.0, and I will try to integrate it to QtWebKit 2.3 beta2.