RESOLVED FIXED 125939
[iOS] Frequent ASSERT(hasOneRef()) in SharedBuffer::releasePurgeableBuffer
https://bugs.webkit.org/show_bug.cgi?id=125939
Summary [iOS] Frequent ASSERT(hasOneRef()) in SharedBuffer::releasePurgeableBuffer
Tim Horton
Reported 2013-12-18 12:34:30 PST
http://trac.webkit.org/changeset/146082 fixed this by not making a purgeable buffer if a SharedBuffer has multiple refs, but the check was put in ResourceBuffer::createPurgeableBuffer instead of down in SharedBuffer::createPurgeableBuffer. This is fine for ToT WebKit, because ResourceBuffer::createPurgeableBuffer is the only caller of SharedBuffer::createPurgeableBuffer, but causes trouble for not-quite-yet-upstreamed iOS SharedBuffer code, which has another caller of SharedBuffer::createPurgeableBuffer. Pushing the early-return down into SharedBuffer::createPurgeableBuffer makes more sense and will fix the aforementioned assertion failures on iOS, and hopefully resolve some hard-to-track-down crashes.
Attachments
patch (2.51 KB, patch)
2013-12-18 12:37 PST, Tim Horton
simon.fraser: review+
Tim Horton
Comment 1 2013-12-18 12:37:55 PST
Pratik Solanki
Comment 2 2013-12-18 12:50:15 PST
Comment on attachment 219558 [details] patch Patch looks fine to me. Though you'll need an official reviewer to give you r+.
Tim Horton
Comment 3 2013-12-18 13:01:41 PST
Note You need to log in before you can comment on or make changes to this bug.