Summary: | suspend/resumeWidgetHierarchyUpdates should be a RAII object | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> | ||||||||
Component: | DOM | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | andersca, cmarcelo, eric, gtk-ews, gustavo, pdr, simon.fraser, tkent, webkit.review.bot, xan.lopez | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Bug Depends on: | 96719, 96729 | ||||||||||
Bug Blocks: | 96702 | ||||||||||
Attachments: |
|
Description
Ryosuke Niwa
2012-09-13 16:33:55 PDT
This could coudl be duped with bug 96702, one way or the other. Created attachment 164000 [details]
Refactoring
(In reply to comment #1) > This could coudl be duped with bug 96702, one way or the other. I think the bug 96702 is a more generic bug. Once we've turned all these paired methods, we can consider creating a object that encompasses multiple RAII objects. Created attachment 164001 [details]
Reverted irrelevant xcodeproj change
Comment on attachment 164001 [details] Reverted irrelevant xcodeproj change Attachment 164001 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/13849359 Will land after merging http://trac.webkit.org/changeset/128524. Comment on attachment 164001 [details] Reverted irrelevant xcodeproj change Attachment 164001 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13851308 Comment on attachment 164001 [details] Reverted irrelevant xcodeproj change Attachment 164001 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13841546 Committed r128531: <http://trac.webkit.org/changeset/128531> (In reply to comment #9) > Committed r128531: <http://trac.webkit.org/changeset/128531> The patch made plugins/document-open.html crash on Chromium-Linux debug. I'll roll it out. crash log for DumpRenderTree (pid 4685): STDOUT: <empty> STDERR: [4685:4685:15051224664231:ERROR:process_util_posix.cc(143)] Received signal 11 STDERR: base::debug::StackTrace::StackTrace() [0x7f1dfb72213a] STDERR: base::(anonymous namespace)::StackDumpSignalHandler() [0x7f1dfb78970d] STDERR: 0x7f1df4a5baf0 STDERR: WebCore::Document::frame() [0x7f1dfdb4cf38] STDERR: WebKit::WebPluginContainerImpl::clearScriptObjects() [0x7f1dfdc14c27] STDERR: webkit::npapi::WebPluginImpl::TearDownPluginInstance() [0x7f1df95057be] STDERR: webkit::npapi::WebPluginImpl::SetContainer() [0x7f1df95047fe] STDERR: webkit::npapi::WebPluginImpl::destroy() [0x7f1df94ffb19] STDERR: WebKit::WebPluginContainerImpl::~WebPluginContainerImpl() [0x7f1dfdc160d7] STDERR: WTF::RefCounted<>::deref() [0x7f1dfdb31cf8] STDERR: WTF::derefIfNotNull<>() [0x7f1dfe703e68] STDERR: WTF::RefPtr<>::~RefPtr() [0x7f1dfe770e2b] STDERR: WTF::KeyValuePair<>::~KeyValuePair() [0x7f1dff3d8ed8] STDERR: WTF::HashTable<>::deallocateTable() [0x7f1dff3d8f23] STDERR: WTF::HashTable<>::~HashTable() [0x7f1dff3d84b8] STDERR: WTF::HashMap<>::~HashMap() [0x7f1dff3d816e] STDERR: WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets() [0x7f1dff3d61fd] STDERR: WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope() [0x7f1dfe44b61a] STDERR: WebCore::ContainerNode::removeChildren() [0x7f1dfe448f56] STDERR: WebCore::Document::implicitOpen() [0x7f1dfe46ec0c] STDERR: WebCore::Document::open() [0x7f1dfe46eac4] STDERR: WebCore::V8HTMLDocument::openCallback() [0x7f1dfec5638b] STDERR: v8::internal::HandleApiCallHelper<>() [0x7f1dfbb9e54e] STDERR: v8::internal::Builtin_Impl_HandleApiCall() [0x7f1dfbb991ad] STDERR: v8::internal::Builtin_HandleApiCall() [0x7f1dfbb9917e] STDERR: 0x31cc0730618e Re-opened since this is blocked by 96719 Strange. I ran all the tests in plugins prior to landing this patch and it didn't crash. I can't reproduce the failure on my machine. I'll do a speculative fix and see what EWS has to say. Created attachment 164043 [details]
Speculative fix
Comment on attachment 164043 [details]
Speculative fix
What's the difference between this and the previous patch?
(In reply to comment #16) > (From update of attachment 164043 [details]) > What's the difference between this and the previous patch? In Element::attach, resumePostAttachCallbacks is called before suspendWidgetHierarchyUpdates is destructed. I'm landing this speculative fix for now. Committed r128552: <http://trac.webkit.org/changeset/128552> Re-opened since this is blocked by 96729 At this point, I don't know what to do with this bug. I can't fix it. I don't intend to work on this bug. Committed r129406: <http://trac.webkit.org/changeset/129406> pdr ran the tests on cr-linux with a fix (keep removedChildren outside of the scope in ContainerNode::removeChildren) for me. Thanks pdr! |