Bug 69556 - REGRESSION (r96595): First frame in assertion backtraces is no longer labeled "1"
: REGRESSION (r96595): First frame in assertion backtraces is no longer labeled...
Status: RESOLVED FIXED
: WebKit
Web Template Framework
: 528+ (Nightly build)
: Macintosh Intel Mac OS X 10.7
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2011-10-06 13:43 PST by
Modified: 2011-10-06 16:01 PST (History)


Attachments
Patch (1.61 KB, patch)
2011-10-06 14:55 PST, Gavin Peters
no flags Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2011-10-06 13:43:24 PST
Here's an assertion backtrace I got today:


ASSERTION FAILED: !structure->m_previous
Source/JavaScriptCore/runtime/Structure.cpp(236) : void JSC::Structure::materializePropertyMap(JSC::JSGlobalData &)
2   0x10203207c JSC::Structure::materializePropertyMap(JSC::JSGlobalData&)
3   0x101e0903c JSC::Structure::materializePropertyMapIfNecessary(JSC::JSGlobalData&)
4   0x101e08e93 JSC::Structure::get(JSC::JSGlobalData&, JSC::Identifier const&)
5   0x101e8a984 JSC::DFG::ByteCodeParser::parseBlock(unsigned int)
6   0x101e8d70d JSC::DFG::ByteCodeParser::parse()
7   0x101e8d913 JSC::DFG::parse(JSC::DFG::Graph&, JSC::JSGlobalData*, JSC::CodeBlock*)
8   0x101df4d9f JSC::DFG::compile(JSC::DFG::CompileMode, JSC::ExecState*, JSC::ExecState*, JSC::CodeBlock*, JSC::JITCode&, JSC::MacroAssemblerCodePtr*)
9   0x101df4d3c JSC::DFG::tryCompileFunction(JSC::ExecState*, JSC::ExecState*, JSC::CodeBlock*, JSC::JITCode&, JSC::MacroAssemblerCodePtr&)
10  0x101ecf743 JSC::FunctionExecutable::compileForCallInternal(JSC::ExecState*, JSC::ScopeChainNode*, JSC::ExecState*, JSC::JITCode::JITType)
11  0x101ecee9b JSC::FunctionExecutable::compileOptimizedForCall(JSC::ExecState*, JSC::ScopeChainNode*, JSC::ExecState*)
12  0x101e650fb JSC::FunctionExecutable::compileOptimizedFor(JSC::ExecState*, JSC::ScopeChainNode*, JSC::CodeSpecializationKind)
13  0x101e624b4 JSC::FunctionCodeBlock::compileOptimized(JSC::ExecState*, JSC::ScopeChainNode*)
14  0x101f1c4fb cti_optimize_from_ret
15  0x101f25f20 jscGeneratedNativeCode
16  0x101eeb509 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
17  0x101ee78b0 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*)
18  0x101e70fba JSC::evaluate(JSC::ExecState*, JSC::ScopeChainNode*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*)
19  0x10326106d WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::ScopeChainNode*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*)
20  0x10387c51c WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld*)
21  0x10387c644 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&)
22  0x103890372 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&)
23  0x10388f49f WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport)
24  0x102ed1c34 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&)
25  0x102ed1a07 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr<WebCore::Element>, WTF::TextPosition const&)
26  0x102e63320 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder()
27  0x102e6340b WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&)
28  0x102e62d48 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
29  0x102e629b0 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
30  0x102e63d44 WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution()
31  0x102e64387 WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets()
32  0x102afbb62 WebCore::Document::removePendingSheet()

Note that the first frame is labeled "2". It used to be labeled "1".
------- Comment #1 From 2011-10-06 14:55:28 PST -------
Created an attachment (id=110033) [details]
Patch
------- Comment #2 From 2011-10-06 14:57:53 PST -------
(From update of attachment 110033 [details])
I discussed this with gbarra, and we think also that there's some formatting changes that would benefit here.  I'll add those in a separate CL so they can be debated without fixing these regressions.  This fix was tested by adding some superfluous dump to some html elements, and running DumpRenderTree, and it is working for me.
------- Comment #3 From 2011-10-06 15:01:08 PST -------
I think it would be better to fix the long-standing bug (which I’d introduced) where the numbering starts at 1. It really ought to start at 0.
------- Comment #4 From 2011-10-06 15:01:38 PST -------
(The reason to start at 0 is that it would match other backtrace formats).
------- Comment #5 From 2011-10-06 15:19:59 PST -------
mitz, I'll CC you on the upcoming bigger-changes-to-formatting CL.  You will be interested.
------- Comment #6 From 2011-10-06 16:01:13 PST -------
(From update of attachment 110033 [details])
Clearing flags on attachment: 110033

Committed r96869: <http://trac.webkit.org/changeset/96869>
------- Comment #7 From 2011-10-06 16:01:17 PST -------
All reviewed patches have been landed.  Closing bug.