[Webkit-unassigned] [Bug 147411] New: Crash calling webSocket.close() from onError handler for blocked web socket

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 29 11:39:43 PDT 2015


https://bugs.webkit.org/show_bug.cgi?id=147411

            Bug ID: 147411
           Summary: Crash calling webSocket.close() from onError handler
                    for blocked web socket
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Page Loading
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: beidson at apple.com

Crash calling webSocket.close() from onError handler for blocked web socket

This was introduced with http://trac.webkit.org/changeset/185848, but isn't really a regression in the traditional sense.

In radar rdar://problem/21771620

In the crashing frame, the m_handshake is null, because the error callback is happening before there was ever a handshake.

>  1 com.apple.WebCore              0x7fff862c0e99 WebCore::URL::stringCenterEllipsizedToLength(unsigned int) const + 0x19
   2 com.apple.WebCore              0x7fff86338c78 WebCore::WebSocketChannel::fail(WTF::String const&) + 0x88
   3 com.apple.WebCore              0x7fff86336232 WebCore::WebSocket::close(int, WTF::String const&, int&) + 0x162
   4 com.apple.WebCore              0x7fff85ea5994 WebCore::jsWebSocketPrototypeFunctionClose(JSC::ExecState*) + 0x104
   5                                0x0000290f31801028 0 + 45145231724584
   6 com.apple.JavaScriptCore       0x7fff8934e706 llint_entry + 0x598d
   7 com.apple.JavaScriptCore       0x7fff8934e706 llint_entry + 0x598d
   8 com.apple.JavaScriptCore       0x7fff89348b69 vmEntryToJavaScript + 0x146
   9 com.apple.JavaScriptCore       0x7fff89271879 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 0xa9
  10 com.apple.JavaScriptCore       0x7fff88e4b49d JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 0x1ed
  11 com.apple.JavaScriptCore       0x7fff88e4b29e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 0x3e
  12 com.apple.JavaScriptCore       0x7fff88f6228a JSC::boundFunctionCall(JSC::ExecState*) + 0x24a
  13 com.apple.JavaScriptCore       0x7fff89348d02 vmEntryToNative + 0x14c
  14 com.apple.JavaScriptCore       0x7fff88e4b4dd JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 0x22d
  15 com.apple.JavaScriptCore       0x7fff88fe5807 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 0x47
  16 com.apple.WebCore              0x7fff8552ce6a WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 0x3ea
  17 com.apple.WebCore              0x7fff859553bb WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow, 16ul>&) + 0x27b
  18 com.apple.WebCore              0x7fff85436ba0 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 0xe0
  19 com.apple.WebCore              0x7fff8552a69d WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 0x5d
  20 com.apple.WebCore              0x7fff8633735a std::__1::__function::__func<WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul> const&, int&)::$_0, std::__1::allocator<WebCore::WebSocket::connect(WTF::String const&, WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow, 16ul> const&, int&)::$_0>, void ()>::operator()() + 0x4a
  21 com.apple.JavaScriptCore       0x7fff8942ef86 WTF::RunLoop::performWork() + 0x1b6

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150729/92cc2889/attachment.html>


More information about the webkit-unassigned mailing list