<?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>112523</bug_id>
          
          <creation_ts>2013-03-17 16:03:30 -0700</creation_ts>
          <short_desc>Crash in AXObjectCache::notificationPostTimerFired()</short_desc>
          <delta_ts>2013-03-18 17:56:20 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>106106</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>856764</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:03:30 -0700</bug_when>
    <thetext>Various tests randomly crash in AXObjectCache::notificationPostTimerFired()

e.g.
svg/custom/empty-className-baseVal-crash.html
http://build.webkit.org/results/Apple%20Lion%20Release%20WK2%20(Tests)/r146025%20(8956)/results.html

I&apos;m not sure why accessibility is active there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856766</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:12:28 -0700</bug_when>
    <thetext>Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000010

VM Regions Near 0x10:
--&gt; 
    __TEXT                 0000000106a44000-0000000106a47000 [   12K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit2.framework/WebProcess.app/Contents/MacOS/WebProcess

Application Specific Information:
objc[91481]: garbage collection is OFF
CRASHING TEST: svg/custom/embedding-external-svgs.xhtml

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000107790537 WebCore::AXObjectCache::notificationPostTimerFired(WebCore::Timer&lt;WebCore::AXObjectCache&gt;*) + 87 (RefPtr.h:58)
1   com.apple.WebCore             	0x00000001084a976f WebCore::ThreadTimers::sharedTimerFiredInternal() + 175 (ThreadTimers.cpp:132)
2   com.apple.WebCore             	0x000000010833b833 _ZN7WebCoreL10timerFiredEP16__CFRunLoopTimerPv + 51 (SharedTimerMac.mm:166)
3   com.apple.CoreFoundation      	0x00007fff8e0d5934 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
4   com.apple.CoreFoundation      	0x00007fff8e0d5486 __CFRunLoopDoTimer + 534
5   com.apple.CoreFoundation      	0x00007fff8e0b5e11 __CFRunLoopRun + 1617
6   com.apple.CoreFoundation      	0x00007fff8e0b5486 CFRunLoopRunSpecific + 230
7   com.apple.HIToolbox           	0x00007fff8a3852bf RunCurrentEventLoopInMode + 277
8   com.apple.HIToolbox           	0x00007fff8a38c56d ReceiveNextEventCommon + 355
9   com.apple.HIToolbox           	0x00007fff8a38c3fa BlockUntilNextEventMatchingListInMode + 62
10  com.apple.AppKit              	0x00007fff8e322779 _DPSNextEvent + 659
11  com.apple.AppKit              	0x00007fff8e32207d -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
12  com.apple.AppKit              	0x00007fff8e31e9b9 -[NSApplication run] + 470
13  com.apple.WebCore             	0x00000001082f080d WebCore::RunLoop::run() + 77 (RunLoopMac.mm:43)
14  com.apple.WebKit2             	0x0000000106c9814c int WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebContentProcessMainDelegate&gt;(int, char**) + 696 (ChildProcessEntryPoint.h:100)
15  com.apple.WebProcess          	0x0000000106a45d97 main + 307
16  com.apple.WebProcess          	0x0000000106a45c5c start + 52</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856769</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:25:06 -0700</bug_when>
    <thetext>It seems that if any test in a shard does accessibility, then accessibility remains on for the other tests in that process. That&apos;s unfortunate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856770</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:28:08 -0700</bug_when>
    <thetext>void Document::clearAXObjectCache()
{
    // Clear the cache member variable before calling delete because attempts
    // are made to access it during destruction.
    topDocument()-&gt;m_axObjectCache.release();
}

Two things odd:
1. Why might a subframe nuke the accessibility cache on the top document?
Is this because we&apos;re unable to remove just a subframes accessibility objects from the cache, or a mistake?
2. .release() should be .clear()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856771</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:30:05 -0700</bug_when>
    <thetext>See also bug 112525</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856772</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 16:33:24 -0700</bug_when>
    <thetext>See also bug 106106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856853</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-17 23:22:51 -0700</bug_when>
    <thetext>Something very odd is happening with accessibility. See this sample:
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r146032%20(7849)/svg/wicd/sizing-flakiness-sample.txt

notably:
       911 WebCore::ThreadTimers::sharedTimerFiredInternal()  (in WebCore) + 302  [0x1134a177e]  ThreadTimers.cpp:129
         911 WebCore::Timer&lt;WebCore::AXObjectCache&gt;::fired()  (in WebCore) + 115  [0x111a19823]  Timer.h:113
           911 WebCore::AXObjectCache::notificationPostTimerFired(WebCore::Timer&lt;WebCore::AXObjectCache&gt;*)  (in WebCore) + 400  [0x1119cbcd0]  AXObjectCache.cpp:645
             911 WebCore::AXObjectCache::postPlatformNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification)  (in WebCore) + 597  [0x111b011e5]  AXObjectCacheMac.mm:131
               911 -[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]  (in WebCore) + 161  [0x1134f70b1]  WebAccessibilityObjectWrapperBase.mm:240
                 911 -[NSNotificationCenter postNotificationName:object:userInfo:]  (in Foundation) + 64  [0x7fff918abe26]
                   911 _CFXNotificationPost  (in CoreFoundation) + 2554  [0x7fff9351deda]
                     907 -[AccessibilityNotificationHandler _notificationReceived:]  (in WebKitTestRunnerInjectedBundle) + 681  [0x119ea0fa9]  AccessibilityNotificationHandler.mm:136
                     ! 907 JSObjectCallAsFunction  (in JavaScriptCore) + 523  [0x110c5b56b]  JSObjectRef.cpp:468
                     !   907 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 306  [0x1109b3782]  CallData.cpp:40
                     !     907 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 1519  [0x110ba61cf]  Interpreter.cpp:1059
                     !       907 JSC::JITCode::execute(JSC::JSStack*, JSC::ExecState*, JSC::JSGlobalData*)  (in JavaScriptCore) + 84  [0x110ba8f24]  JITCode.h:135
                     !         907 ???  (in JavaScriptCore)  load address 0x110939000 + 0x2b3250  [0x110bec250]
                     !           796 cti_op_put_by_id_generic  (in JavaScriptCore) + 203  [0x110bdfdfb]  JITStubs.cpp:1415
                     !           : 796 JSC::JSValue::put(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)  (in JavaScriptCore) + 185  [0x110ad0859]  JSCJSValueInlines.h:678

The test is svg/wicd/sizing-flakiness.html, which has nothing to do with accessibility. So why is an accessibility notification firing, and why is it running JS code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856857</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-17 23:29:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Something very odd is happening with accessibility. See this sample:
&gt; http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r146032%20(7849)/svg/wicd/sizing-flakiness-sample.txt
&gt; 
&gt; notably:
&gt;        911 WebCore::ThreadTimers::sharedTimerFiredInternal()  (in WebCore) + 302  [0x1134a177e]  ThreadTimers.cpp:129
&gt;          911 WebCore::Timer&lt;WebCore::AXObjectCache&gt;::fired()  (in WebCore) + 115  [0x111a19823]  Timer.h:113
&gt;            911 WebCore::AXObjectCache::notificationPostTimerFired(WebCore::Timer&lt;WebCore::AXObjectCache&gt;*)  (in WebCore) + 400  [0x1119cbcd0]  AXObjectCache.cpp:645
&gt;              911 WebCore::AXObjectCache::postPlatformNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification)  (in WebCore) + 597  [0x111b011e5]  AXObjectCacheMac.mm:131
&gt;                911 -[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]  (in WebCore) + 161  [0x1134f70b1]  WebAccessibilityObjectWrapperBase.mm:240
&gt;                  911 -[NSNotificationCenter postNotificationName:object:userInfo:]  (in Foundation) + 64  [0x7fff918abe26]
&gt;                    911 _CFXNotificationPost  (in CoreFoundation) + 2554  [0x7fff9351deda]
&gt;                      907 -[AccessibilityNotificationHandler _notificationReceived:]  (in WebKitTestRunnerInjectedBundle) + 681  [0x119ea0fa9]  AccessibilityNotificationHandler.mm:136
&gt;                      ! 907 JSObjectCallAsFunction  (in JavaScriptCore) + 523  [0x110c5b56b]  JSObjectRef.cpp:468
&gt;                      !   907 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 306  [0x1109b3782]  CallData.cpp:40
&gt;                      !     907 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 1519  [0x110ba61cf]  Interpreter.cpp:1059
&gt;                      !       907 JSC::JITCode::execute(JSC::JSStack*, JSC::ExecState*, JSC::JSGlobalData*)  (in JavaScriptCore) + 84  [0x110ba8f24]  JITCode.h:135
&gt;                      !         907 ???  (in JavaScriptCore)  load address 0x110939000 + 0x2b3250  [0x110bec250]
&gt;                      !           796 cti_op_put_by_id_generic  (in JavaScriptCore) + 203  [0x110bdfdfb]  JITStubs.cpp:1415
&gt;                      !           : 796 JSC::JSValue::put(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)  (in JavaScriptCore) + 185  [0x110ad0859]  JSCJSValueInlines.h:678
&gt; 
&gt; The test is svg/wicd/sizing-flakiness.html, which has nothing to do with accessibility. So why is an accessibility notification firing, and why is it running JS code?

(In reply to comment #6)
&gt; Something very odd is happening with accessibility. See this sample:
&gt; http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r146032%20(7849)/svg/wicd/sizing-flakiness-sample.txt
&gt; 
&gt; notably:
&gt;        911 WebCore::ThreadTimers::sharedTimerFiredInternal()  (in WebCore) + 302  [0x1134a177e]  ThreadTimers.cpp:129
&gt;          911 WebCore::Timer&lt;WebCore::AXObjectCache&gt;::fired()  (in WebCore) + 115  [0x111a19823]  Timer.h:113
&gt;            911 WebCore::AXObjectCache::notificationPostTimerFired(WebCore::Timer&lt;WebCore::AXObjectCache&gt;*)  (in WebCore) + 400  [0x1119cbcd0]  AXObjectCache.cpp:645
&gt;              911 WebCore::AXObjectCache::postPlatformNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification)  (in WebCore) + 597  [0x111b011e5]  AXObjectCacheMac.mm:131
&gt;                911 -[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]  (in WebCore) + 161  [0x1134f70b1]  WebAccessibilityObjectWrapperBase.mm:240
&gt;                  911 -[NSNotificationCenter postNotificationName:object:userInfo:]  (in Foundation) + 64  [0x7fff918abe26]
&gt;                    911 _CFXNotificationPost  (in CoreFoundation) + 2554  [0x7fff9351deda]
&gt;                      907 -[AccessibilityNotificationHandler _notificationReceived:]  (in WebKitTestRunnerInjectedBundle) + 681  [0x119ea0fa9]  AccessibilityNotificationHandler.mm:136
&gt;                      ! 907 JSObjectCallAsFunction  (in JavaScriptCore) + 523  [0x110c5b56b]  JSObjectRef.cpp:468
&gt;                      !   907 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 306  [0x1109b3782]  CallData.cpp:40
&gt;                      !     907 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)  (in JavaScriptCore) + 1519  [0x110ba61cf]  Interpreter.cpp:1059
&gt;                      !       907 JSC::JITCode::execute(JSC::JSStack*, JSC::ExecState*, JSC::JSGlobalData*)  (in JavaScriptCore) + 84  [0x110ba8f24]  JITCode.h:135
&gt;                      !         907 ???  (in JavaScriptCore)  load address 0x110939000 + 0x2b3250  [0x110bec250]
&gt;                      !           796 cti_op_put_by_id_generic  (in JavaScriptCore) + 203  [0x110bdfdfb]  JITStubs.cpp:1415
&gt;                      !           : 796 JSC::JSValue::put(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;)  (in JavaScriptCore) + 185  [0x110ad0859]  JSCJSValueInlines.h:678
&gt; 
&gt; The test is svg/wicd/sizing-flakiness.html, which has nothing to do with accessibility. So why is an accessibility notification firing, and why is it running JS code?

It&apos;s informing the layout test that an accessibility notification (like ValueChanged perhaps) fired. It does that by storing a function callback which it will call when the notification comes in.

However, things should be cleaned up when the test finishes, which is obviously not happening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857820</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-18 17:56:20 -0700</bug_when>
    <thetext>Duplicate of 
https://bugs.webkit.org/show_bug.cgi?id=106106

*** This bug has been marked as a duplicate of bug 106106 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>