"ASSERTION: Too many calls to ScriptDidExecute" with document.write in deferred script

RESOLVED FIXED

Status

()

Core
HTML: Parser
RESOLVED FIXED
9 years ago
8 years ago

People

(Reporter: Jesse Ruderman, Unassigned)

Tracking

({assertion, testcase})

Trunk
x86
Mac OS X
assertion, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

9 years ago
Created attachment 353142 [details]
testcase

Loading the testcase triggers:

###!!! ASSERTION: Too many calls to ScriptDidExecute: 'mScriptsExecuting > 0', file /Users/jruderman/central/parser/htmlparser/src/nsParser.cpp, line 1810

The assertion was added in bug 444322, and <script defer> was added in bug 28293.

Bug 461555 will change the behavior of this testcase.  (In fact, the testcases for that bug also trigger this assertion.)  Will bug 461555 fix this bug?
Blocks: 28293
Yes, this happens because when we start processing deffered scripts, there is no parser; then the document.write() causes a parser to be created and that parser only ever sees the ScriptDidExecute call.

When bug 461555 lands, the original parser will still be alive when we execute deferred scripts.
Depends on: 461555
(Reporter)

Comment 2

8 years ago
WFM.  I'm guessing this was fixed by bug 461555 or bug 483818.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → WORKSFORME
Yeah, those two together fixes this. In two ways.
Depends on: 483818
Resolution: WORKSFORME → FIXED
You need to log in before you can comment on or make changes to this bug.