<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>81574</bug_id>
          
          <creation_ts>2012-03-19 15:44:59 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: !m_suspended causing &quot;crashes&quot; on Lion Intel Debug WebKit2 testers</short_desc>
          <delta_ts>2016-08-03 11:02:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r111233%20(5050)/fullscreen/full-screen-twice-crash-log.txt</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, LayoutTestFailure, MakingBotsRed, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>bburg</cc>
    
    <cc>beidson</cc>
    
    <cc>jberlin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582348</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-03-19 15:44:59 -0700</bug_when>
    <thetext>void SuspendableTimer::suspend(ReasonForSuspension)
{
#if !ASSERT_DISABLED
    ASSERT(!m_suspended);
    m_suspended = true;
#endif
    m_active = isActive();
    if (m_active) {
        m_nextFireInterval = nextFireInterval();
        m_repeatInterval = repeatInterval();
        TimerBase::stop();
    }
}

Unfortunately, I don&apos;t know when this started due to the state of our tests. I also cannot reproduce this locally, and it doesn&apos;t always show up on the bots (see http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r111245%20(5052)/results.html where it didn&apos;t happen and http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r111254%20(5053)/results.html where it did.

NRWT is not good at correctly associating crash logs with the tests that crashed. However, I have a suspicion that it is happening while running fast/loader/stateobjects/document-destroyed-navigate-back.html, since the backtrace is about a JS alert, and fast/loader/stateobjects/document-destroyed-navigate-back.html	is the only one of the tests that crashed in http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r111233%20(5050)/results.html that uses JS alerts.

http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r111233%20(5050)/fullscreen/full-screen-twice-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582349</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-03-19 15:45:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/11077302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582679</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-19 20:22:49 -0700</bug_when>
    <thetext>See also: bug 35220.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604860</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-18 10:27:24 -0700</bug_when>
    <thetext>This seems to happen often under JS alert() and confirm() dialogs:

0   com.apple.WebCore             	0x0000000107a231fd WebCore::SuspendableTimer::resume() + 93 (SuspendableTimer.cpp:76)
1   com.apple.WebCore             	0x0000000107a2325c non-virtual thunk to WebCore::SuspendableTimer::resume() + 28
2   com.apple.WebCore             	0x000000010791e449 WebCore::ScriptExecutionContext::resumeActiveDOMObjects() + 361 (ScriptExecutionContext.cpp:211)
3   com.apple.WebCore             	0x00000001067faaec WebCore::Document::resumeActiveDOMObjects() + 28 (Document.cpp:2048)
4   com.apple.WebCore             	0x0000000106806810 WebCore::Document::resumeScheduledTasks() + 176 (Document.cpp:5092)
5   com.apple.WebCore             	0x00000001075b8513 WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer() + 163 (PageGroupLoadDeferrer.cpp:70)
6   com.apple.WebCore             	0x00000001075b8465 WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer() + 21 (PageGroupLoadDeferrer.cpp:73)
7   com.apple.WebCore             	0x000000010654aa4d WebCore::Chrome::runJavaScriptAlert(WebCore::Frame*, WTF::String const&amp;) + 349 (Chrome.cpp:311)
8   com.apple.WebCore             	0x000000010699197d WebCore::DOMWindow::alert(WTF::String const&amp;) + 141 (DOMWindow.cpp:967)
9   com.apple.WebCore             	0x0000000106fd2a89 WebCore::jsDOMWindowPrototypeFunctionAlert(JSC::ExecState*) + 873 (JSDOMWindow.cpp:11401)
10  ???                           	0x00003756dc401258 0 + 60846201901656
11  com.apple.JavaScriptCore      	0x0000000105992099 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*) + 121 (JITCode.h:127)
12  com.apple.JavaScriptCore      	0x000000010598eb58 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1752 (Interpreter.cpp:1270)
13  com.apple.JavaScriptCore      	0x00000001058584db JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 315 (CallData.cpp:39)
14  com.apple.WebCore             	0x0000000106ec6ca3 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 179 (JSMainThreadExecState.h:56)
15  com.apple.WebCore             	0x0000000106ec691e WebCore::JSCallbackData::invokeCallback(JSC::JSValue, JSC::MarkedArgumentBuffer&amp;, bool*) + 878 (JSCallbackData.cpp:78)
16  com.apple.WebCore             	0x0000000106ec6599 WebCore::JSCallbackData::invokeCallback(JSC::MarkedArgumentBuffer&amp;, bool*) + 169 (JSCallbackData.cpp:48)
17  com.apple.WebCore             	0x0000000106f3e2d7 WebCore::JSCustomVoidCallback::handleEvent() + 247 (JSCustomVoidCallback.cpp:68)
18  com.apple.WebCore             	0x00000001079d341e WebCore::SQLTransaction::deliverSuccessCallback() + 126 (SQLTransaction.cpp:539)
19  com.apple.WebCore             	0x00000001079d3ce0 WebCore::SQLTransaction::performPendingCallback() + 608 (SQLTransaction.cpp:215)
20  com.apple.WebCore             	0x000000010678cf3b WebCore::DeliverPendingCallbackTask::performTask(WebCore::ScriptExecutionContext*) + 43 (Database.cpp:347)
21  com.apple.WebCore             	0x00000001067f09c8 WebCore::Document::pendingTasksTimerFired(WebCore::Timer&lt;WebCore::Document&gt;*) + 200 (Document.cpp:5071)
22  com.apple.WebCore             	0x0000000106837353 WebCore::Timer&lt;WebCore::Document&gt;::fired() + 115 (Timer.h:100)
23  com.apple.WebCore             	0x0000000107bd40b7 WebCore::ThreadTimers::sharedTimerFiredInternal() + 311 (ThreadTimers.cpp:118)



0   com.apple.WebCore             	0x000000010bded1fd WebCore::SuspendableTimer::resume() + 93 (SuspendableTimer.cpp:76)
1   com.apple.WebCore             	0x000000010bded25c non-virtual thunk to WebCore::SuspendableTimer::resume() + 28
2   com.apple.WebCore             	0x000000010bce8449 WebCore::ScriptExecutionContext::resumeActiveDOMObjects() + 361 (ScriptExecutionContext.cpp:211)
3   com.apple.WebCore             	0x000000010abc4aec WebCore::Document::resumeActiveDOMObjects() + 28 (Document.cpp:2048)
4   com.apple.WebCore             	0x000000010abd0810 WebCore::Document::resumeScheduledTasks() + 176 (Document.cpp:5092)
5   com.apple.WebCore             	0x000000010b982513 WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer() + 163 (PageGroupLoadDeferrer.cpp:70)
6   com.apple.WebCore             	0x000000010b982465 WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer() + 21 (PageGroupLoadDeferrer.cpp:73)
7   com.apple.WebCore             	0x000000010a914bdc WebCore::Chrome::runJavaScriptConfirm(WebCore::Frame*, WTF::String const&amp;) + 380 (Chrome.cpp:324)
8   com.apple.WebCore             	0x000000010ad5ba25 WebCore::DOMWindow::confirm(WTF::String const&amp;) + 149 (DOMWindow.cpp:980)
9   com.apple.WebCore             	0x000000010b39ce39 WebCore::jsDOMWindowPrototypeFunctionConfirm(JSC::ExecState*) + 873 (JSDOMWindow.cpp:11417)
10  ???                           	0x0000000110357258 0 + 4566905432
11  com.apple.JavaScriptCore      	0x0000000109d5c099 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*) + 121 (JITCode.h:127)
12  com.apple.JavaScriptCore      	0x0000000109d58b58 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1752 (Interpreter.cpp:1270)
13  com.apple.JavaScriptCore      	0x0000000109c224db JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 315 (CallData.cpp:39)
14  com.apple.WebCore             	0x000000010b290ca3 WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 179 (JSMainThreadExecState.h:56)
15  com.apple.WebCore             	0x000000010b3dd664 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 1412 (JSEventListener.cpp:132)
16  com.apple.WebCore             	0x000000010ae02d79 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector&lt;WebCore::RegisteredEventListener, 1ul&gt;&amp;) + 393 (EventTarget.cpp:232)
17  com.apple.WebCore             	0x000000010ae02bbb WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 331 (EventTarget.cpp:200)
18  com.apple.WebCore             	0x000000010ad56f07 WebCore::DOMWindow::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, WTF::PassRefPtr&lt;WebCore::EventTarget&gt;) + 359 (DOMWindow.cpp:1596)
19  com.apple.WebCore             	0x000000010ad5e11b WebCore::DOMWindow::dispatchLoadEvent() + 395 (DOMWindow.cpp:1570)
20  com.apple.WebCore             	0x000000010abc54b2 WebCore::Document::dispatchWindowLoadEvent() + 146 (Document.cpp:3862)
21  com.apple.WebCore             	0x000000010abc28f4 WebCore::Document::implicitClose() + 516 (Document.cpp:2356)
22  com.apple.WebCore             	0x000000010ae9519b WebCore::FrameLoader::checkCallImplicitClose() + 155 (FrameLoader.cpp:779)
23  com.apple.WebCore             	0x000000010ae94e55 WebCore::FrameLoader::checkCompleted() + 341 (FrameLoader.cpp:726)
24  com.apple.WebCore             	0x000000010ae93c13 WebCore::FrameLoader::finishedParsing() + 179 (FrameLoader.cpp:659)
25  com.apple.WebCore             	0x000000010abceaff WebCore::Document::finishedParsing() + 591 (Document.cpp:4606)
26  com.apple.WebCore             	0x000000010b08aad4 WebCore::HTMLTreeBuilder::finished() + 148 (HTMLTreeBuilder.cpp:2819)
27  com.apple.WebCore             	0x000000010afb3c43 WebCore::HTMLDocumentParser::end() + 227 (HTMLDocumentParser.cpp:382)
28  com.apple.WebCore             	0x000000010afb2b66 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd() + 278 (HTMLDocumentParser.cpp:391)
29  com.apple.WebCore             	0x000000010afb293c WebCore::HTMLDocumentParser::prepareToStopParsing() + 268 (HTMLDocumentParser.cpp:154)
30  com.apple.WebCore             	0x000000010afb3c93 WebCore::HTMLDocumentParser::attemptToEnd() + 67 (HTMLDocumentParser.cpp:403)
31  com.apple.WebCore             	0x000000010afb3ce8 WebCore::HTMLDocumentParser::finish() + 72 (HTMLDocumentParser.cpp:430)
32  com.apple.WebCore             	0x000000010ac2d247 WebCore::DocumentWriter::end() + 391 (DocumentWriter.cpp:242)
33  com.apple.WebCore             	0x000000010ac0b7ec WebCore::DocumentLoader::finishedLoading() + 172 (DocumentLoader.cpp:294)
34  com.apple.WebCore             	0x000000010b884cbe WebCore::MainResourceLoader::didFinishLoading(double) + 318 (MainResourceLoader.cpp:481)
35  com.apple.WebCore             	0x000000010bc8b295 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) + 53 (ResourceLoader.cpp:433)
36  com.apple.WebCore             	0x000000010bc87e15 -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 197 (ResourceHandleMac.mm:861)
37  com.apple.Foundation          	0x00007fff8c997662 ___NSURLConnectionDidFinishLoading_block_invoke_1 + 122
38  com.apple.Foundation          	0x00007fff8c9975e2 _NSURLConnectionDidFinishLoading + 81
39  com.apple.CFNetwork           	0x00007fff873cb4fe URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 296
40  com.apple.CFNetwork           	0x00007fff8747b91e URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo&lt;XClientEvent, XClientEventParams&gt;*, long) + 862
41  com.apple.CFNetwork           	0x00007fff873a6389 URLConnectionClient::processEvents() + 185</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604864</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-18 10:32:19 -0700</bug_when>
    <thetext>Tests where this crash has been seen:
svg/W3C-SVG-1.1-SE/color-prop-05-t.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604870</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-18 10:36:35 -0700</bug_when>
    <thetext>Failing during test runs is particularly mysterious - modal dialogs are no-ops, so all this does it suspend and immediately resume everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604953</commentid>
    <comment_count>6</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-04-18 11:45:43 -0700</bug_when>
    <thetext>Welcome to this tricky area! This means JS had been executed when the modal dialog was open. It could be some event listener. We probably need a universal solution to prevent JS reentrancy, but have to keep JS debugger working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604967</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-04-18 11:57:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Welcome to this tricky area! This means JS had been executed when the modal dialog was open. It could be some event listener. We probably need a universal solution to prevent JS reentrancy, but have to keep JS debugger working.

Except this is in DRT and as Alexey stated:

&gt;Failing during test runs is particularly mysterious - modal dialogs are no-ops, so all this does it suspend and immediately resume everything.

Unless something has drastically changed about DRT that both Alexey and I are unaware of where DRT executes JS during modal dialog calls?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604979</commentid>
    <comment_count>8</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-04-18 12:13:32 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Welcome to this tricky area! This means JS had been executed when the modal dialog was open. It could be some event listener. We probably need a universal solution to prevent JS reentrancy, but have to keep JS debugger working.
&gt; 
&gt; Except this is in DRT and as Alexey stated:
&gt; 
&gt; &gt;Failing during test runs is particularly mysterious - modal dialogs are no-ops, so all this does it suspend and immediately resume everything.
&gt; 
&gt; Unless something has drastically changed about DRT that both Alexey and I are unaware of where DRT executes JS during modal dialog calls?

I am unaware, too. This is what needs to be dig out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709145</commentid>
    <comment_count>9</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-08-30 16:38:49 -0700</bug_when>
    <thetext>This is one of the number 1 &quot;crashers&quot; on the ML Debug WK2 bots, especially when running the inspector tests:

http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/console/console-assert-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/function-details-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-suspend-active-dom-objects-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-reload-on-pause-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-step-in-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-activation-crash-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-eval-on-call-frame-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/script-extract-outline-crash-log.txt
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r127193%20(457)/inspector/debugger/debugger-pause-on-exception-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859519</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-20 10:01:16 -0700</bug_when>
    <thetext>See also: bug 97124.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217005</commentid>
    <comment_count>11</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-08-03 11:02:18 -0700</bug_when>
    <thetext>Has this reproduced recently on Yosemite+ ?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>