title: How do I debug "Safari Web Content quit unexpectedly" errors?
body: <p>I've got a Drupal website which loads content via AJAX. Quite often I see an error message in Safari which simply tells me that Safari reloaded the page due to an error. This happens randomly now and then, and there is no clear pattern when it happens. </p>
  
  <p>Even though I get the error message, I can continue to use Safari. However, I'd still like to find out what's causing Safari to act up. All other browsers work fine.</p>
  
  <p>Please see below for the error message I get from Safari. How do I debug this sort of error message? The stack trace listed by Safari isn't very useful. </p>
  
  <blockquote>
    <p>Process:               com.apple.WebKit.WebContent [71117] Path:<br>
    /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent
    Identifier:            com.apple.WebKit.WebContent Version:<br>
    10600 (10600.1.25) Build Info:            WebKit2-7600001025000000~1
    Code Type:             X86-64 (Native) Parent Process:        ??? [1]
    Responsible:           Safari [71114] User ID:               502</p>
    
    <p>Date/Time:             2015-01-04 19:36:19.709 +0100 OS Version:<br>
    Mac OS X 10.10.1 (14B25) Report Version:        11 Anonymous UUID:<br>
    7CA339CD-D40C-353C-270E-993C7AF943FC</p>
    
    <p>Time Awake Since Boot: 10000 seconds</p>
    
    <p>Crashed Thread:        0  Dispatch queue: com.apple.main-thread</p>
    
    <p>Exception Type:        EXC_BREAKPOINT (SIGTRAP) Exception Codes:<br>
    0x0000000000000002, 0x0000000000000000</p>
    
    <p>Application Specific Information: Bundle controller class:
    BrowserBundleController   Process Model: Multiple Web Processes  </p>
    
    <p>Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0   ???<br>
      0x0000327f340258e1 0 + 55521914804449 1   ???<br>
      0x0000327f34079552 0 + 55521915147602 2   ???<br>
      0x0000327f34057875 0 + 55521915009141 3   ???<br>
      0x0000327f7400095a 0 + 55522988394842 4   com.apple.JavaScriptCore<br>
      0x00007fff94d330a6 llint_entry + 23008 5   ???<br>
      0x0000327f3411acef 0 + 55521915809007 6   ???<br>
      0x0000327f3412fd0a 0 + 55521915895050 7   ???<br>
      0x0000327f7400095a 0 + 55522988394842 8   com.apple.JavaScriptCore<br>
      0x00007fff94d32f33 llint_entry + 22637 9   ???<br>
      0x0000327f340bc560 0 + 55521915422048 10  ???<br>
      0x0000327f3411a906 0 + 55521915808006 11  ???<br>
      0x0000327f7400095a 0 + 55522988394842 12  com.apple.JavaScriptCore<br>
      0x00007fff94d32f33 llint_entry + 22637 13  com.apple.JavaScriptCore<br>
      0x00007fff94d32f33 llint_entry + 22637 14  com.apple.JavaScriptCore<br>
      0x00007fff94d32f33 llint_entry + 22637 15  com.apple.JavaScriptCore<br>
      0x00007fff94d33168 llint_entry + 23202 16  com.apple.JavaScriptCore<br>
      0x00007fff94d32f9e llint_entry + 22744 17  com.apple.JavaScriptCore<br>
      0x00007fff94d32f9e llint_entry + 22744 18  com.apple.JavaScriptCore<br>
      0x00007fff94d32f9e llint_entry + 22744 19  com.apple.JavaScriptCore<br>
      0x00007fff94d2d4a1 callToJavaScript + 311 20 
    com.apple.JavaScriptCore          0x00007fff94cb2823
    JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 35 21 
    com.apple.JavaScriptCore          0x00007fff94975e5e
    JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*,
    JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList
    const&amp;) + 462 22  com.apple.JavaScriptCore        0x00007fff94b4c4cf
    JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData
    const&amp;, JSC::JSValue, JSC::ArgList const&amp;, JSC::JSValue*) + 63 23 
    com.apple.WebCore                 0x00007fff92a20948
    WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*,
    WebCore::Event*) + 952 24  com.apple.WebCore<br>
      0x00007fff92a20404
    WebCore::EventTarget::fireEventListeners(WebCore::Event*,
    WebCore::EventTargetData*,
    WTF::Vector&amp;) + 692 25  com.apple.WebCore<br>
      0x00007fff928f4f27
    WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 167 26 
    com.apple.WebCore                 0x00007fff92a1deb5
    WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr) +
    85 27  com.apple.WebCore              0x00007fff92a1de07
    WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent(WTF::PassRefPtr)
    + 199 28  com.apple.WebCore               0x00007fff92a1dd08 WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent(WTF::PassRefPtr,
    WebCore::ProgressEventAction) + 56 29  com.apple.WebCore<br>
      0x00007fff92a1daf8
    WebCore::XMLHttpRequest::callReadyStateChangeListener() + 168 30 
    com.apple.WebCore                 0x00007fff92a43700
    WebCore::XMLHttpRequest::didFinishLoading(unsigned long, double) + 368
    31  com.apple.WebCore                 0x00007fff929a9f3a
    WebCore::CachedResource::checkNotify() + 170 32  com.apple.WebCore<br>
      0x00007fff929a9ddf
    WebCore::CachedRawResource::finishLoading(WebCore::ResourceBuffer*) +
    207 33  com.apple.WebCore                 0x00007fff929a9c7c
    WebCore::SubresourceLoader::didFinishLoading(double) + 92 34 
    com.apple.WebKit                  0x00007fff8ee4349e
    WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection*,
    IPC::MessageDecoder&amp;) + 630 35  com.apple.WebKit<br>
      0x00007fff8ecf116a
    IPC::Connection::dispatchMessage(std::<strong>1::unique_ptr >) + 94 36 
    com.apple.WebKit                  0x00007fff8ecf32e2
    IPC::Connection::dispatchOneMessage() + 114 37 
    com.apple.JavaScriptCore          0x00007fff94dd4357
    WTF::RunLoop::performWork() + 423 38  com.apple.JavaScriptCore<br>
      0x00007fff94dd4a22 WTF::RunLoop::performWork(void*) + 34 39 
    com.apple.CoreFoundation          0x00007fff945db661
    __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION</strong> + 17 40  com.apple.CoreFoundation          0x00007fff945cd7ed
    __CFRunLoopDoSources0 + 269 41  com.apple.CoreFoundation          0x00007fff945cce1f __CFRunLoopRun + 927 42  com.apple.CoreFoundation 
      0x00007fff945cc838 CFRunLoopRunSpecific + 296 43  com.apple.HIToolbox
      0x00007fff925e243f RunCurrentEventLoopInMode + 235 44 
    com.apple.HIToolbox               0x00007fff925e21ba
    ReceiveNextEventCommon + 431 45  com.apple.HIToolbox<br>
      0x00007fff925e1ffb _BlockUntilNextEventMatchingListInModeWithFilter +
    71 46  com.apple.AppKit               0x00007fff8b00e6d1 _DPSNextEvent
    + 964 47  com.apple.AppKit                0x00007fff8b00de80 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194 48  com.apple.AppKit                  0x00007fff8b001e23 -[NSApplication
    run] + 594 49  com.apple.AppKit               0x00007fff8afed2d4
    NSApplicationMain + 1832 50  libxpc.dylib<br>
      0x00007fff8d336ef2 _xpc_objc_main + 793 51  libxpc.dylib<br>
      0x00007fff8d338a9d xpc_main + 490 52  com.apple.WebKit.WebContent<br>
      0x000000010910db40 0x10910d000 + 2880 53  libdyld.dylib<br>
      0x00007fff8fae15c9 start + 1</p>
  </blockquote>