Bug 83949 - ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
Summary: ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Eric Carlson
Keywords: InRadar
Depends on:
Reported: 2012-04-13 15:30 PDT by Eric Carlson
Modified: 2012-04-16 08:19 PDT (History)
4 users (show)

See Also:

Proposed patch (1.92 KB, patch)
2012-04-14 19:26 PDT, Eric Carlson
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ec2-cr-linux-03 (6.50 MB, application/zip)
2012-04-14 20:56 PDT, WebKit Review Bot
no flags Details
Updated patch. (2.11 KB, patch)
2012-04-15 21:18 PDT, Eric Carlson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Carlson 2012-04-13 15:30:27 PDT
When running layout tests in a debug build, I occasionally get a crash when "ASSERT(!eventDispatchForbidden())" fires in notifyChildInserted:

    WebCore::notifyChildInserted(WebCore::Node*) + 67 (ContainerNode.cpp:1012)
    WebCore::updateTreeAfterInsertion(WebCore::ContainerNode*, WebCore::Node*, bool) + 254 (ContainerNode.cpp:1099)
    WebCore::ContainerNode::appendChild(WTF::PassRefPtr<WebCore::Node>, int&, bool) + 587 (ContainerNode.cpp:570)
    WebCore::replaceChildrenWithText(WebCore::ContainerNode*, WTF::String const&, int&) + 427 (markup.cpp:1072)
    WebCore::HTMLElement::setInnerText(WTF::String const&, int&) + 403 (HTMLElement.cpp:447)
    WebCore::MediaControlRootElement::updateTimeDisplay() + 186 (MediaControlRootElement.cpp:411)
    WebCore::MediaControlRootElement::playbackStopped() + 114 (MediaControlRootElement.cpp:395)
    WebCore::HTMLMediaElement::updatePlayState() + 920 (HTMLMediaElement.cpp:3534)
    WebCore::HTMLMediaElement::pauseInternal() + 207 (HTMLMediaElement.cpp:2274)
    WebCore::HTMLMediaElement::pause() + 94 (HTMLMediaElement.cpp:2254)
    WebCore::HTMLMediaElement::removedFromDocument() + 72 (HTMLMediaElement.cpp:507)
    WebCore::ContainerNode::removedFromDocument() + 254 (ContainerNode.cpp:729)
    WebCore::Element::removedFromDocument() + 294 (Element.cpp:923)

The problem is that the spec says that a media element must pause when removed from the tree, and when the controls update the text of one of the time displays changes.
Comment 1 Eric Carlson 2012-04-14 19:26:24 PDT
Created attachment 137225 [details]
Proposed patch
Comment 2 Radar WebKit Bug Importer 2012-04-14 19:26:53 PDT
Comment 3 WebKit Review Bot 2012-04-14 19:27:56 PDT
Attachment 137225 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 2 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 WebKit Review Bot 2012-04-14 20:56:34 PDT
Comment on attachment 137225 [details]
Proposed patch

Attachment 137225 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12410019

New failing tests:
Comment 5 WebKit Review Bot 2012-04-14 20:56:43 PDT
Created attachment 137230 [details]
Archive of layout-test-results from ec2-cr-linux-03

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-03  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 6 Eric Carlson 2012-04-15 21:18:42 PDT
Created attachment 137273 [details]
Updated patch.
Comment 7 WebKit Review Bot 2012-04-16 08:19:05 PDT
Comment on attachment 137273 [details]
Updated patch.

Clearing flags on attachment: 137273

Committed r114258: <http://trac.webkit.org/changeset/114258>
Comment 8 WebKit Review Bot 2012-04-16 08:19:24 PDT
All reviewed patches have been landed.  Closing bug.