Bug 108815
Summary: | [Qt] JSC a oversize block related crash | ||
---|---|---|---|
Product: | WebKit | Reporter: | honda |
Component: | JavaScriptCore | Assignee: | 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 |
honda
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.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Allan Sandfeld Jensen
https://codereview.qt-project.org/#change,46660
and
https://codereview.qt-project.org/#change,46666
Allan Sandfeld Jensen
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.