Community
Participate
Working Groups
Build Identifier: SWT3650 We've had several users reporting crashing when the Browser widget is used by our app. One of them sent us his Crash Log. Hopefully you can make more sense out of it than I can. I'm not sure when the user is actually getting the crash, other than they are using the Browser widget at the time. Java 1.5, Carbon, OSX 10.4.11. Date/Time: 2010-06-25 19:21:23.861 +0300 OS Version: 10.4.11 (Build 8S2167) Report Version: 4 Command: JavaApplicationStub Path: /Applications/Vuze.app/Contents/MacOS/JavaApplicationStub Parent: WindowServer [73] Version: 4.4.0.7_B11 (4.4.0.7_B11) PID: 2295 Thread: 0 Exception: EXC_BREAKPOINT (0x0006) Code[0]: 0x00000002 Code[1]: 0x00000000 Thread 0 Crashed: 0 com.apple.Foundation 0x92835e13 _NSRaiseError + 227 1 com.apple.Foundation 0x9285cc57 +[NSException raise:format:] + 57 2 com.apple.Foundation 0x928e4fe2 -[NSObject doesNotRecognizeSelector:] + 123 3 com.apple.Foundation 0x92808d1b -[NSObject(NSForwardInvocation) forward::] + 184 4 libobjc.A.dylib 0x90a5cba1 _objc_msgForward + 49 5 ...wt-cocoa-carbon-3650.jnilib 0x136cc0ab Java_org_eclipse_swt_internal_cocoa_Cocoa_objc_1msgSend__II + 31 6 <<00000000>> 0x045a7281 0 + 73036417 7 <<00000000>> 0x045a1a7f 0 + 73013887 8 <<00000000>> 0x04bfa7ac 0 + 79669164 9 <<00000000>> 0x04bf9e28 0 + 79666728 10 <<00000000>> 0x04613d80 0 + 73481600 11 <<00000000>> 0x0459f21f 0 + 73003551 12 libjvm.dylib 0x9a891e7a jio_snprintf + 396420 13 libjvm.dylib 0x9a891bc8 jio_snprintf + 395730 14 libjvm.dylib 0x9a8ae01f JVM_MaxMemory + 7297 15 libjvm.dylib 0x9a963dad JVM_IsInterrupted + 3789 16 libswt-carbon-3650.jnilib 0x027cfef4 callback + 839 17 <<00000000>> 0x027fcbe4 0 + 41929700 18 ...wt-cocoa-carbon-3650.jnilib 0x136cdcce -[WebKitDelegate handleEvent:] + 70 19 com.apple.WebCore 0x13f9f4af WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, (unsigned long)1>&) + 199 20 com.apple.WebCore 0x139ac229 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 263 21 com.apple.WebCore 0x139ac59f WebCore::Node::handleLocalEvents(WebCore::Event*) + 67 22 com.apple.WebCore 0x139abf47 WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>) + 1419 23 com.apple.WebCore 0x139ab8be WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 222 24 com.apple.WebCore 0x13ae0646 WebCore::Node::dispatchUIEvent(WebCore::AtomicString const&, int, WTF::PassRefPtr<WebCore::Event>) + 238 25 com.apple.WebCore 0x13a3999b WebCore::Document::setFocusedNode(WTF::PassRefPtr<WebCore::Node>) + 829 26 com.apple.WebCore 0x13addc6a WebCore::FocusController::setFocusedNode(WebCore::Node*, WTF::PassRefPtr<WebCore::Frame>) + 378 27 com.apple.WebCore 0x13add9d3 WebCore::Element::focus(bool) + 143 28 com.apple.WebCore 0x13add92c WebCore::jsElementPrototypeFunctionFocus(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, JSC::ArgList const&) + 148 29 <<00000000>> 0x0000f166 0 + 61798 30 com.apple.JavaScriptCore 0x073acc65 JSC::Interpreter::execute(JSC::FunctionExecutable*, JSC::ExecState*, JSC::JSFunction*, JSC::JSObject*, JSC::ArgList const&, JSC::ScopeChainNode*, JSC::JSValue*) + 763 31 com.apple.JavaScriptCore 0x07328aed JSC::JSFunction::call(JSC::ExecState*, JSC::JSValue, JSC::ArgList const&) + 125 32 com.apple.JavaScriptCore 0x07328a45 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 53 33 com.apple.WebCore 0x13ad7dfa WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 1052 34 com.apple.WebCore 0x13f9f4af WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, (unsigned long)1>&) + 199 35 com.apple.WebCore 0x139ac1a9 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 135 36 com.apple.WebCore 0x139ca2ea WebCore::DOMWindow::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, WTF::PassRefPtr<WebCore::EventTarget>) + 232 37 com.apple.WebCore 0x13a09b30 WebCore::DOMWindow::dispatchLoadEvent() + 162 38 com.apple.WebCore 0x139adc01 WebCore::Document::implicitClose() + 295 39 com.apple.WebCore 0x139ad935 WebCore::FrameLoader::checkCompleted() + 147 40 com.apple.WebCore 0x139ae10c WebCore::FrameLoader::completed() + 140 41 com.apple.WebCore 0x139ad94f WebCore::FrameLoader::checkCompleted() + 173 42 com.apple.WebCore 0x13aa8fec WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) + 274 43 com.apple.WebCore 0x13aa8e45 WebCore::SubresourceLoader::didFinishLoading() + 55 44 com.apple.WebCore 0x13a08ee3 -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 77 45 com.apple.Foundation 0x92869794 -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 176 46 com.apple.Foundation 0x92867839 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 748 47 com.apple.Foundation 0x928674d6 _sendCallbacks + 201 48 com.apple.CoreFoundation 0x9082cf06 CFRunLoopRunSpecific + 1213 49 com.apple.CoreFoundation 0x9082ca42 CFRunLoopRunInMode + 61 50 com.apple.HIToolbox 0x92e01878 RunCurrentEventLoopInMode + 285 51 com.apple.HIToolbox 0x92e00eb9 ReceiveNextEventCommon + 184 52 com.apple.HIToolbox 0x92f1799c ReceiveNextEvent + 58 53 libswt-pi-carbon-3650.jnilib 0x07557799 Java_org_eclipse_swt_internal_carbon_OS_ReceiveNextEvent + 188 54 <<00000000>> 0x049cf57b 0 + 77395323 55 <<00000000>> 0x04a296fc 0 + 77764348 56 <<00000000>> 0x04b0da88 0 + 78699144 57 <<00000000>> 0x0461a8c0 0 + 73509056 58 <<00000000>> 0x045a19d3 0 + 73013715 59 <<00000000>> 0x045a19d3 0 + 73013715 60 <<00000000>> 0x0459f21f 0 + 73003551 61 libjvm.dylib 0x9a891e7a jio_snprintf + 396420 62 libjvm.dylib 0x9a891bc8 jio_snprintf + 395730 63 libjvm.dylib 0x9a8ab65f JVM_NewInstanceFromConstructor + 2145 64 libjvm.dylib 0x9a8ab313 JVM_NewInstanceFromConstructor + 1301 65 libjvm.dylib 0x9a8aaf17 JVM_NewInstanceFromConstructor + 281 66 <<00000000>> 0x045a7281 0 + 73036417 67 <<00000000>> 0x045a1aaa 0 + 73013930 68 <<00000000>> 0x045a1aaa 0 + 73013930 69 <<00000000>> 0x045a1db0 0 + 73014704 70 <<00000000>> 0x045a1aaa 0 + 73013930 71 <<00000000>> 0x045a19d3 0 + 73013715 72 <<00000000>> 0x0459f21f 0 + 73003551 73 libjvm.dylib 0x9a891e7a jio_snprintf + 396420 74 libjvm.dylib 0x9a891bc8 jio_snprintf + 395730 75 libjvm.dylib 0x9a8ab65f JVM_NewInstanceFromConstructor + 2145 76 libjvm.dylib 0x9a94ef35 JVM_InvokeMethod + 1203 77 libjvm.dylib 0x9a94ec22 JVM_InvokeMethod + 416 78 <<00000000>> 0x045a7281 0 + 73036417 79 <<00000000>> 0x045a1aaa 0 + 73013930 80 <<00000000>> 0x045a1aaa 0 + 73013930 81 <<00000000>> 0x045a1db0 0 + 73014704 82 <<00000000>> 0x045a1aaa 0 + 73013930 83 <<00000000>> 0x045a19d3 0 + 73013715 84 <<00000000>> 0x045a19d3 0 + 73013715 85 <<00000000>> 0x0459f21f 0 + 73003551 86 libjvm.dylib 0x9a891e7a jio_snprintf + 396420 87 libjvm.dylib 0x9a891bc8 jio_snprintf + 395730 88 libjvm.dylib 0x9a8ae01f JVM_MaxMemory + 7297 89 libjvm.dylib 0x9a964f09 JVM_IsInterrupted + 8233 90 ...ple.JavaApplicationLauncher 0x97202fec JNIEnv_::CallStaticVoidMethod(_jclass*, _jmethodID*, ...) + 44 91 ...ple.JavaApplicationLauncher 0x971f5e15 startJavaApplication + 4869 92 org.gudy.azureus2 0x00001e3a 0x1000 + 3642 93 org.gudy.azureus2 0x00001c99 0x1000 + 3225 94 org.gudy.azureus2 0x00001bc8 0x1000 + 3016 Model: iMac4,1, BootROM IM41.0055.B08, 2 processors, Intel Core Duo, 1.83 GHz, 1.5 GB Reproducible: Couldn't Reproduce
Found a URL that consistently crashes. Here's a snippet: Users also reported this only started to happen after they updated Safari. I can reproduce on Version 4.1 (4533.16) public static void main(String[] args) { Display display = new Display(); final Shell shell = new Shell(display, SWT.SHELL_TRIM); shell.setLayout(new FillLayout()); Browser browser = new Browser(shell, SWT.NONE); browser.setUrl("http://btjunkie.org/?do=help"); shell.open(); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); }
Browser bugs to Grant, but it is Carbon. I can't reproduce this on 10.6.4 and Safari 5, FWIW.
Found a potential fix in Safari.java::handleEvent (Webkit.java in 3.7, I believe). changing the line if (typeString.equals(DOMEVENT_FOCUSIN)) { to if (typeString.equals(DOMEVENT_FOCUSIN) || typeString.equals("focusin")) { and similarly for DOMEVENT_FOCUSOUT/"focusout" prevents the crash. No idea if I'm breaking anything :)
Closing as Carbon is not a supported platform.