Bug 104859 - REGRESSION(r137524): Causes m_deletionHasBegun assertion failures in MutationObserver tests (Requested by aklein on #webkit).
Summary: REGRESSION(r137524): Causes m_deletionHasBegun assertion failures in Mutation...
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: WebKit Review Bot
Depends on:
Blocks: 59816
  Show dependency treegraph
Reported: 2012-12-12 16:15 PST by WebKit Review Bot
Modified: 2012-12-12 17:26 PST (History)
3 users (show)

See Also:

ROLLOUT of r137524 (18.74 KB, patch)
2012-12-12 16:16 PST, WebKit Review Bot
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description WebKit Review Bot 2012-12-12 16:15:50 PST
http://trac.webkit.org/changeset/137524 broke the build:
Causes m_deletionHasBegun assertion failures in MutationObserver tests (Requested by aklein on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don't already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

"Only you can prevent forest fires." -- Smokey the Bear
Comment 1 WebKit Review Bot 2012-12-12 16:16:44 PST
Created attachment 179144 [details]
ROLLOUT of r137524

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.
Comment 2 Ryosuke Niwa 2012-12-12 16:17:47 PST
Please provide justifications and reasons for which this patch needs to reverted on publicly visible place.
Comment 3 Adam Klein 2012-12-12 16:24:14 PST
Stack trace from fast/mutation/observe-attributes.html (11 other similar results in fast/mutation): 

crash log for DumpRenderTree (pid 26400):
STDOUT: <empty>
STDERR: ../../third_party/WebKit/Source/WebCore/dom/Document.h(240) : void WebCore::Document::guardDeref()
STDERR: 1   0x7fa2c173a888
STDERR: 2   0x7fa2c17d1d57
STDERR: 3   0x7fa2c170bf48
STDERR: 4   0x7fa2c1725570
STDERR: 5   0x7fa2c25c8f8f
STDERR: 6   0x7fa2c25c8fda
STDERR: 7   0x7fa2c173a90e
STDERR: 8   0x7fa2c17257c2
STDERR: 9   0x7fa2c17da1b6
STDERR: 10  0x7fa2c10426a0
STDERR: 11  0x7fa2c28de7d6
STDERR: 12  0x7fa2c1f2bdcc
STDERR: 13  0x7fa2c1f2bd94
STDERR: 14  0x7fa2c6da1b84
STDERR: 15  0x7fa2c6da0458
STDERR: 16  0x7fa2c6db1da1
STDERR: 17  0x7fa2c6db10b2
STDERR: 18  0x7fa2c6d20a66
STDERR: 19  0x7fa2c6eb22c9
STDERR: 20  0x7fa2c6f4974b
STDERR: 21  0x7fa2c6f49f2e
STDERR: 22  0x3d3f0a0654e
STDERR: Received signal 11
STDERR: 	base::debug::StackTrace::StackTrace() [0x7fa2c5083dcc]
STDERR: 	base::debug::(anonymous namespace)::StackDumpSignalHandler() [0x7fa2c5083acd]
STDERR: 	<unknown> [0x7fa2bd8d54a0]
STDERR: 	WebCore::Document::guardDeref() [0x7fa2c173a892]
STDERR: 	WebCore::Node::~Node() [0x7fa2c17d1d57]
STDERR: 	WebCore::ContainerNode::~ContainerNode() [0x7fa2c170bf48]
STDERR: 	WebCore::Document::~Document() [0x7fa2c1725570]
STDERR: 	WebCore::HTMLDocument::~HTMLDocument() [0x7fa2c25c8f8f]
STDERR: 	WebCore::HTMLDocument::~HTMLDocument() [0x7fa2c25c8fda]
STDERR: 	WebCore::Document::guardDeref() [0x7fa2c173a90e]
STDERR: 	WebCore::Document::removedLastRef() [0x7fa2c17257c2]
STDERR: 	WebCore::Node::removedLastRef() [0x7fa2c17da1b6]
STDERR: 	WebCore::TreeShared<>::deref() [0x7fa2c10426a0]
STDERR: 	WebCore::V8HTMLDocument::derefObject() [0x7fa2c28de7d6]
STDERR: 	WebCore::WrapperTypeInfo::derefObject() [0x7fa2c1f2bdcc]
STDERR: 	WebCore::DOMDataStore::weakCallback() [0x7fa2c1f2bd94]
STDERR: 	v8::internal::GlobalHandles::Node::PostGarbageCollectionProcessing() [0x7fa2c6da1b84]
STDERR: 	v8::internal::GlobalHandles::PostGarbageCollectionProcessing() [0x7fa2c6da0458]
STDERR: 	v8::internal::Heap::PerformGarbageCollection() [0x7fa2c6db1da1]
STDERR: 	v8::internal::Heap::CollectGarbage() [0x7fa2c6db10b2]
STDERR: 	v8::internal::Heap::CollectGarbage() [0x7fa2c6d20a66]
STDERR: 	v8::internal::JSReceiver::SetProperty() [0x7fa2c6eb22c9]
STDERR: 	v8::internal::Runtime::SetObjectProperty() [0x7fa2c6f4974b]
STDERR: 	v8::internal::Runtime_SetProperty() [0x7fa2c6f49f2e]
STDERR: 	<unknown> [0x3d3f0a0654e]

It seems that the Document is being deleted twice.
Comment 4 WebKit Review Bot 2012-12-12 16:33:19 PST
Comment on attachment 179144 [details]
ROLLOUT of r137524

Clearing flags on attachment: 179144

Committed r137535: <http://trac.webkit.org/changeset/137535>
Comment 5 WebKit Review Bot 2012-12-12 16:33:23 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 Elliott Sprehn 2012-12-12 17:26:59 PST
(In reply to comment #5)
> All reviewed patches have been landed.  Closing bug.

This was my bad, inside ~Node we guardDeref() the document, and previously ~Document did m_document = 0 to prevent guard derefing itself.