Created attachment 49173 [details] gdb backtrace Overview: An assertion failure can occur in the Web Inspector while paused in the javascript debugger and switching back and forth between the debugger and console panes. Steps to Reproduce: 1) Run Safari in debugger from WebKit.xcodeproj 2) Open http://www.youtube.com/watch?v=jqxENMKaeCU 3) Show Web Inspector 4) Select Scripts pane 6) Enable debugging for this session, if not enabled 7) Select www-core-new-vfl147421.js 8) Set breakpoints at lines 26 and 29 9) Reload the web page 10) When paused in the debugger, select the Console pane in the Web Inspector 11) Select the Scripts pane again Actual Results: ASSERTION FAILED: !m_suspended (/Users/Shared/data/source/WebKit/WebCore/page/DOMTimer.cpp:181 virtual void WebCore::DOMTimer::suspend()) Expected Results: No assertion failure Build Date & Platform: WebKit svn r55052 built from source, Debug configuration, Mac OS X 10.6.2 Build 10C540, Xcode 3.2.1 Additional Information: Attached backtrace as file "jsdebugger-backtrace.txt".
I've seen it before, but could never find reproducible steps. I think it's related to slow script dialog in some way. However, I can't follow these steps either. Lines 26 and 29 are comment lines, and execution doesn't stop when reloading. When I've set the breakpoint on some other line, it was hit, but I still didn't get the assertion.
Alexey, are you sure you have the right file/lines? For me, line 26 is this: I.createTextNode=function(a){return this.e[Ua](a)};I.ob=function(){return $d(this.e)};I.jb=function(){return this.e.parentWindow||this.e[pb]};I.nd=function(){return!Md&&$d(this.e)?this.e[vb]:this.e[G]};I.oa=function(){var a=!Md&&$d(this.e)?this.e[vb]:this.e[G];return new id(a[Zb],a[zb])};I.appendChild=function(a,b){a[q](b)};var ie=function(a){this.Ua={};this.ia={};this.F={};a=a||{};this.url=a.url||this.url;this.fa=a.url_v8||this.fa;this.za=a.min_version||this.za;this.Ua=a.args||md(fe);this.ia=a.attrs||md(ge);this.F=a.params||md(he)},fe={enablejsapi:1},ge={width:"100%",height:"100%"},he={allowscriptaccess:"always",allowfullscreen:"true",quality:"best",bgcolor:"#000000"};ie[B].url="";ie[B].fa="";ie[B].za="8.0.0";var je=function(){this.Kb=this.td();var
You may be right about the slow script dialog. When I was trying to reproduce this bug with svn r55180, I got two slow script dialogs at once. I also got this different assertion failure: ASSERTION FAILED: hasListeners() (/Users/Shared/data/source/WebKit/WebCore/bindings/js/ScriptDebugServer.cpp:344 void WebCore::ScriptDebugServer::dispatchFunctionToListeners(void (WebCore::ScriptDebugListener::*)(), WebCore::Page*))
Closing as invalid, as this bug pertains to the old inspector UI and/or its tests. Please file a new bug (https://www.webkit.org/new-inspector-bug) if the bug/feature/issue is still relevant to WebKit trunk.