Summary: | [Qt] Crash when calling QWebFrame::render() in response to QWebPage::repaintRequested() | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Andreas Oberritter <obi> | ||||||||
Component: | Layout and Rendering | Assignee: | Andreas Kling <kling> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Critical | CC: | benjamin, kling, menard, noam, simon.fraser, tonikitoo, webkit.review.bot, yael | ||||||||
Priority: | P1 | Keywords: | Qt, QtTriaged | ||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
Attachments: |
|
Description
Andreas Oberritter
2011-01-18 08:33:21 PST
Created attachment 79378 [details]
Quick fix or workaround.
This patch seems to fix the issue, but as I'm new to WebKit, I'm unsure whether it just hides the real problem or not.
Untested by me but I still set P1 since it is a crash in common path.
> This patch seems to fix the issue, but as I'm new to WebKit, I'm unsure whether it just hides the real problem or not.
This is not good enough. If the element removed from the array is <= current index, a rect will be ignored. You need to find what is modifying the data structure, and add a test case.
(In reply to comment #2) > This is not good enough. If the element removed from the array is <= current index, a rect will be ignored. You need to find what is modifying the data structure, and add a test case. I meant an autotest/unittest/layouttest, you already provided a test case ;) Did this regress at some point? I don't know any version that doesn't crash. Apparently, Qt 4.6.3 has the same problem. I can't reproduce with the "exotic" test case. No complain from valgrind. Trunk revision : r79433 Need more infos. Taking. I'm working on a patch for this, will post tomorrow. Created attachment 87177 [details]
Proposed patch
Attachment 87177 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit/qt/ChangeLog', u'Source/WebK..." exit_code: 1
Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2803: This { should be at the end of the previous line [whitespace/braces] [4]
Total errors found: 1 in 3 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 87177 [details]
Proposed patch
Yep, look sane.
Committed r82142: <http://trac.webkit.org/changeset/82142> |