Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 318354

Summary: EXC_BREAKPOINT exception while using Browser widget (Carbon)
Product: [Eclipse Project] Platform Reporter: ArronM <arronm>
Component: SWTAssignee: Grant Gayed <grant_gayed>
Status: RESOLVED WONTFIX QA Contact: Silenio Quarti <Silenio_Quarti>
Severity: normal    
Priority: P3 CC: eclipse.felipe, grant_gayed, skovatch
Version: 3.6   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description ArronM CLA 2010-06-29 12:46:05 EDT
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
Comment 1 ArronM CLA 2010-06-29 18:13:21 EDT
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 ();
	}
Comment 2 Scott Kovatch CLA 2010-07-14 13:46:18 EDT
Browser bugs to Grant, but it is Carbon. I can't reproduce this on 10.6.4 and Safari 5, FWIW.
Comment 3 ArronM CLA 2010-08-19 15:19:22 EDT
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 :)
Comment 4 Lakshmi P Shanmugam CLA 2018-12-10 06:48:04 EST
Closing as Carbon is not a supported platform.