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

Bug 341402

Summary: SWT Cocoa crash in 3.7M6
Product: [Eclipse Project] Platform Reporter: Bryan Hunt <bhunt>
Component: SWTAssignee: Lakshmi P Shanmugam <lshanmug>
Status: RESOLVED FIXED QA Contact: Silenio Quarti <Silenio_Quarti>
Severity: normal    
Priority: P3 CC: dj.houghton, eclipse.felipe, g.watson, lshanmug, malaperle, Silenio_Quarti
Version: 3.7   
Target Milestone: 3.7 M7   
Hardware: PC   
OS: Mac OS X   
Whiteboard:
Attachments:
Description Flags
Problem report
none
patch
none
crash log
none
M7 crash log
none
Second M7 crash log none

Description Bryan Hunt CLA 2011-03-30 13:42:24 EDT
I just captured the following crash with 3.7M6.  The crash happened shortly after I saved an editor and not in direct response to an action.


Process:         eclipse [65988]
Path:            /Users/bhunt/Applications/Eclipse/3.7 M6/Eclipse.app/Contents/MacOS/eclipse
Identifier:      org.eclipse.eclipse
Version:         3.6 (3.6)
Code Type:       X86-64 (Native)
Parent Process:  ??? [1]

Date/Time:       2011-03-30 12:35:12.370 -0500
OS Version:      Mac OS X 10.6.7 (10J869)
Report Version:  6

Interval Since Last Report:          444333 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  393587 sec
Per-App Crashes Since Last Report:   2
Anonymous UUID:                      7397DCB5-F728-41C7-9027-04BA5F045F3C

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc_msgSend() selector name: respondsToSelector:

Java information:
 Exception type: Bus Error (0xa) at pc=7fff8765b1d8
 
 Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02-334 mixed mode macosx-amd64)
 
Current thread (11f801000):  JavaThread "main" [_thread_in_native, id=1893792928, stack(7fff5f400000,7fff5fc00000)]
Stack: [7fff5f400000,7fff5fc00000]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Lorg/eclipse/swt/internal/cocoa/objc_super;JJJJZ)J+0
j  org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(JJJJJJ)J+77
j  org.eclipse.swt.widgets.Display.applicationProc(JJJJJJ)J+93
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.cocoa.OS.objc_msgSend(JJJJJZ)J+0
j  org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(JLorg/eclipse/swt/internal/cocoa/NSDate;Lorg/eclipse/swt/internal/cocoa/NSString;Z)Lorg/eclipse/swt/internal/cocoa/NSEvent;+36
j  org.eclipse.swt.widgets.Display.readAndDispatch()Z+98
j  org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window$IExceptionHandler;Lorg/eclipse/swt/widgets/Display;)V+9
j  org.eclipse.ui.internal.Workbench.runUI()I+555
j  org.eclipse.ui.internal.Workbench.access$4(Lorg/eclipse/ui/internal/Workbench;)I+1
j  org.eclipse.ui.internal.Workbench$7.run()V+55
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+18
j  org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j  org.eclipse.ui.internal.ide.application.IDEApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+108
j  org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+135
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+103
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+29
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+149
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+183
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+211
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+126
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
v  ~StubRoutines::call_stub
 
Java Threads: ( => current thread )
  11fbf4800 JavaThread "[ThreadPool Manager] - Idle Thread" daemon [_thread_blocked, id=881635328, stack(1347cb000,1348cb000)]
  12b857000 JavaThread "Worker-16" [_thread_blocked, id=903159808, stack(135c52000,135d52000)]
  12d8e1000 JavaThread "Worker-15" [_thread_blocked, id=902098944, stack(135b4f000,135c4f000)]
  120a73000 JavaThread "Worker-14" [_thread_blocked, id=901038080, stack(135a4c000,135b4c000)]
  11fc4f800 JavaThread "Worker-13" [_thread_blocked, id=899977216, stack(135949000,135a49000)]
  132920800 JavaThread "Worker-12" [_thread_blocked, id=898916352, stack(135846000,135946000)]
  11ffa8000 JavaThread "Worker-11" [_thread_blocked, id=896282624, stack(1355c3000,1356c3000)]
  132920000 JavaThread "Worker-10" [_thread_blocked, id=893190144, stack(1352d0000,1353d0000)]
  12e84d000 JavaThread "Worker-9" [_thread_blocked, id=892129280, stack(1351cd000,1352cd000)]
  11ff29800 JavaThread "Worker-8" [_thread_blocked, id=889995264, stack(134fc4000,1350c4000)]
  12d040000 JavaThread "Worker-7" [_thread_blocked, id=888934400, stack(134ec1000,134fc1000)]
  12f8ea000 JavaThread "Worker-6" [_thread_blocked, id=887873536, stack(134dbe000,134ebe000)]
  12f8cf800 JavaThread "Worker-5" [_thread_blocked, id=886075392, stack(134c07000,134d07000)]
  12e842800 JavaThread "Worker-4" [_thread_blocked, id=885014528, stack(134b04000,134c04000)]
  11faa2800 JavaThread "Worker-3" [_thread_blocked, id=883953664, stack(134a01000,134b01000)]
  13291f000 JavaThread "Worker-2" [_thread_blocked, id=835252224, stack(131b8f000,131c8f000)]
  12b8f4800 JavaThread "Worker-1" [_thread_blocked, id=796409856, stack(12f684000,12f784000)]
  120db1800 JavaThread "Java indexing" daemon [_thread_blocked, id=868118528, stack(133ae7000,133be7000)]
  11ffb7800 JavaThread "com.google.inject.internal.util.$Finalizer" daemon [_thread_blocked, id=865079296, stack(133801000,133901000)]
  12a994800 JavaThread "Thread-6" [_thread_in_native, id=828026880, stack(1314ab000,1315ab000)]
  1209d4800 JavaThread "Collaboration Service Job Manager" [_thread_blocked, id=836378624, stack(131ca2000,131da2000)]
  120cc0800 JavaThread "Worker-0" [_thread_blocked, id=790630400, stack(12f101000,12f201000)]
  1209ee000 JavaThread "Worker-JM" [_thread_blocked, id=825827328, stack(131292000,131392000)]
  12b8f7000 JavaThread "[Timer] - Main Queue Handler" daemon [_thread_blocked, id=794824704, stack(12f501000,12f601000)]
  12b87a800 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=779063296, stack(12e5f9000,12e6f9000)]
  11fb03800 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=777674752, stack(12e4a6000,12e5a6000)]
  12b80a800 JavaThread "State Data Manager" daemon [_thread_blocked, id=776335360, stack(12e35f000,12e45f000)]
  12b80f000 JavaThread "Framework Active Thread" [_thread_blocked, id=774774784, stack(12e1e2000,12e2e2000)]
  12b810000 JavaThread "Poller SunPKCS11-Darwin" daemon [_thread_blocked, id=724570112, stack(12b201000,12b301000)]
  11f97a800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=697307136, stack(129801000,129901000)]
  11f979800 JavaThread "CompilerThread1" daemon [_thread_blocked, id=694198272, stack(12950a000,12960a000)]
  11f979000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=693137408, stack(129407000,129507000)]
  11f978000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=692076544, stack(129304000,129404000)]
  11f977800 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=691015680, stack(129201000,129301000)]
  11f96e800 JavaThread "Finalizer" daemon [_thread_blocked, id=687923200, stack(128f0e000,12900e000)]
  11f96e000 JavaThread "Reference Handler" daemon [_thread_blocked, id=686862336, stack(128e0b000,128f0b000)]
=>11f801000 JavaThread "main" [_thread_in_native, id=1893792928, stack(7fff5f400000,7fff5fc00000)]
Other Threads:
  11f969800 VMThread [stack: 128d08000,128e08000] [id=685801472]
  11f98c000 WatcherThread [stack: 129b01000,129c01000] [id=700452864]
 
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
 
Heap
 par new generation   total 19136K, used 12722K [7d0000000, 7d14c0000, 7d4000000)
  eden space 17024K,  74% used [7d0000000, 7d0c6cb40, 7d10a0000)
  from space 2112K,   0% used [7d12b0000, 7d12b0000, 7d14c0000)
  to   space 2112K,   0% used [7d10a0000, 7d10a0000, 7d12b0000)
 concurrent mark-sweep generation total 90476K, used 49442K [7d4000000, 7d985b000, 7f0000000)
 concurrent-mark-sweep perm gen total 205836K, used 123612K [7f0000000, 7fc903000, 800000000)
 
Virtual Machine Arguments:
JVM Args: -Xms40m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m 
Java Command: <unknown>
Launcher Type: generic
Physical Memory: Page Size = 4k, Total = 8192M, Free = 981M
 

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff8765b1d8 objc_msgSend_vtable5 + 16
1   com.apple.AppKit              	0x00007fff84732e02 -[NSToolTipManager displayToolTip:] + 332
2   com.apple.AppKit              	0x00007fff84731460 toolTipTimerFired + 114
3   com.apple.CoreFoundation      	0x00007fff8225dbe8 __CFRunLoopRun + 6488
4   com.apple.CoreFoundation      	0x00007fff8225bdbf CFRunLoopRunSpecific + 575
5   com.apple.HIToolbox           	0x00007fff866197ee RunCurrentEventLoopInMode + 333
6   com.apple.HIToolbox           	0x00007fff86619551 ReceiveNextEventCommon + 148
7   com.apple.HIToolbox           	0x00007fff866194ac BlockUntilNextEventMatchingListInMode + 59
8   com.apple.AppKit              	0x00007fff8419ce64 _DPSNextEvent + 718
9   com.apple.AppKit              	0x00007fff8419c7a9 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
10  libswt-pi-cocoa-3724.jnilib   	0x000000012e19022e Java_org_eclipse_swt_internal_cocoa_OS_objc_1msgSendSuper__Lorg_eclipse_swt_internal_cocoa_objc_1super_2JJJJZ + 122
11  ???                           	0x0000000121011cc8 0 + 4848688328
12  ???                           	0x0000000121006929 0 + 4848642345
13  ???                           	0x0000000121006929 0 + 4848642345
14  ???                           	0x0000000121001438 0 + 4848620600
15  libclient64.dylib             	0x000000011e1dfda7 JVM_Lseek + 181440
16  libclient64.dylib             	0x000000011e1dfb7a JVM_Lseek + 180883
17  libclient64.dylib             	0x000000011e202af1 JVM_FindLoadedClass + 3535
18  libclient64.dylib             	0x000000011e34a067 JVM_Sync + 3034
19  libswt-cocoa-3724.jnilib      	0x000000012908ef92 callback + 1344
20  libswt-cocoa-3724.jnilib      	0x0000000129074525 fn3_6 + 90
21  libswt-pi-cocoa-3724.jnilib   	0x000000012e18c0e0 Java_org_eclipse_swt_internal_cocoa_OS_objc_1msgSend__JJJJJZ + 79
22  ???                           	0x0000000121011cc8 0 + 4848688328
23  ???                           	0x0000000121006929 0 + 4848642345
24  ???                           	0x00000001210069b3 0 + 4848642483
25  ???                           	0x0000000121006a82 0 + 4848642690
26  ???                           	0x000000012100685a 0 + 4848642138
27  ???                           	0x000000012100696e 0 + 4848642414
28  ???                           	0x000000012100696e 0 + 4848642414
29  ???                           	0x0000000121006d34 0 + 4848643380
30  ???                           	0x000000012100685a 0 + 4848642138
31  ???                           	0x000000012100696e 0 + 4848642414
32  ???                           	0x000000012100696e 0 + 4848642414
33  ???                           	0x0000000121006e8d 0 + 4848643725
34  ???                           	0x0000000121006e8d 0 + 4848643725
35  ???                           	0x00000001210069b3 0 + 4848642483
36  ???                           	0x00000001210069b3 0 + 4848642483
37  ???                           	0x00000001210069b3 0 + 4848642483
38  ???                           	0x0000000121001438 0 + 4848620600
39  libclient64.dylib             	0x000000011e1dfda7 JVM_Lseek + 181440
40  libclient64.dylib             	0x000000011e1dfb7a JVM_Lseek + 180883
41  libclient64.dylib             	0x000000011e1f7e2e JVM_NewInstanceFromConstructor + 3265
42  libclient64.dylib             	0x000000011e1f8fe2 JVM_InvokeMethod + 940
43  libclient64.dylib             	0x000000011e1f8da9 JVM_InvokeMethod + 371
44  libjvmlinkage.dylib           	0x000000010071de0e JVM_InvokeMethod + 78
45  ???                           	0x0000000121011cc8 0 + 4848688328
46  ???                           	0x00000001210069b3 0 + 4848642483
47  ???                           	0x00000001210069b3 0 + 4848642483
48  ???                           	0x0000000121006e8d 0 + 4848643725
49  ???                           	0x00000001210069b3 0 + 4848642483
50  ???                           	0x000000012100685a 0 + 4848642138
51  ???                           	0x000000012100685a 0 + 4848642138
52  ???                           	0x0000000121001438 0 + 4848620600
53  libclient64.dylib             	0x000000011e1dfda7 JVM_Lseek + 181440
54  libclient64.dylib             	0x000000011e1dfb7a JVM_Lseek + 180883
55  libclient64.dylib             	0x000000011e1ecdfe JVM_MonitorWait + 10780
56  libclient64.dylib             	0x000000011e2dadce JVM_GetClassInterfaces + 8145
57  eclipse_1403.so               	0x000000010040e420 startJavaJNI + 2138
58  eclipse_1403.so               	0x000000010040cf7e startJavaVM + 134
59  eclipse_1403.so               	0x000000010040b74d run + 4645
60  org.eclipse.eclipse           	0x000000010000192c original_main + 1679
61  org.eclipse.eclipse           	0x0000000100001efe main + 1230
62  org.eclipse.eclipse           	0x00000001000010e9 _start + 227
63  org.eclipse.eclipse           	0x0000000100001005 start + 33


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00000001344552c0  rbx: 0x00007fff848ab434  rcx: 0x0000000000000000  rdx: 0x00007fff848ab434
  rdi: 0x00000001349ad0e0  rsi: 0x00007fff848e6c70  rbp: 0x00007fff5fbfbde0  rsp: 0x00007fff5fbfbc48
   r8: 0x00007fff703f2760   r9: 0x0000000000000000  r10: 0x00000001349e79ce  r11: 0x0000000000000000
  r12: 0x0000000000000000  r13: 0x0000000134455260  r14: 0x0000000129e47d50  r15: 0x00000001349ad0e0
  rip: 0x00007fff8765b1d8  rfl: 0x0000000000010202  cr2: 0x0000000000000028
Comment 1 Felipe Heidrich CLA 2011-04-01 09:59:16 EDT
*** Bug 341628 has been marked as a duplicate of this bug. ***
Comment 2 Bryan Hunt CLA 2011-04-04 21:24:59 EDT
I'm starting to see this crash about once a day now.  Any chance we can get this targeted for M7?
Comment 3 Silenio Quarti CLA 2011-04-05 12:21:34 EDT
I have not seen this crash.

Bryan, do you have any other detail to help us reproduce it?

Lakshmi, have you seen it?
Comment 4 Bryan Hunt CLA 2011-04-05 21:54:12 EDT
Unfortunately, I don't have any additional information.  A few days ago when it crashed, it was shortly after I had saved a Java editor.  It crashed just now when it was doing a package rename refactoring.  The java stack is always the same.  I am using the latest release version of OS X and Java, so nothing special there.

If you think it will help, I'm happy to make my IDE available.
Comment 5 Lakshmi P Shanmugam CLA 2011-04-06 08:46:56 EDT
The crash looks very similar to Bug 340593. But, I have not seen the crash happen on my system.
Comment 6 Silenio Quarti CLA 2011-04-06 09:25:32 EDT
*** Bug 340593 has been marked as a duplicate of this bug. ***
Comment 7 Bryan Hunt CLA 2011-04-07 01:19:56 EDT
Eclipse just crashed on me when I went to the Plugins view, clicked the button to add all plugins to the search path, then did a cmd-shift-T.
Comment 8 Marc-André Laperle CLA 2011-04-07 07:59:27 EDT
I got a very similar crash twice. Once after installing the latest CDT build, creating a hello world project. And once after retrieving a mylyn context and double-clicking on a file in Package Explorer.
Comment 9 Marc-André Laperle CLA 2011-04-07 08:00:48 EDT
Created attachment 192725 [details]
Problem report
Comment 10 Lakshmi P Shanmugam CLA 2011-04-07 09:31:49 EDT
Just updated my OS from 10.6.4 to 10.6.7 and my eclipse 4.1 crashed once. Not able to reproduce it again.
Comment 11 Bryan Hunt CLA 2011-04-08 19:16:11 EDT
Crashed today while updating the classpath after changing a bundle dependency in a manifest.
Comment 12 Silenio Quarti CLA 2011-04-11 14:10:39 EDT
I am still running 10.6.0 and I have not seen this crash ever. I am going to update to 10.6.7 and see if I start getting it.  This looks like a bug in cocoa itself.
Comment 13 Lakshmi P Shanmugam CLA 2011-04-18 09:25:43 EDT
Created attachment 193486 [details]
patch

I don't have a reproducible testcase for the crash, but I'm able to see this frequently on my machine.
The patch removes the tooltip before disposing the Shell. I have tested the patch with eclipse for sometime and I have not seen the crash (yet!).
Silenio, can you please review?
Comment 14 Silenio Quarti CLA 2011-04-18 09:49:04 EDT
Patch is good.  Let's get it into tomorrow's I-build. Thanks!

Bryan, please could you give it a try?
Comment 15 Bryan Hunt CLA 2011-04-18 09:57:40 EDT
Silenio,

How close are we to M7?  The way I found the problem was to use M6 for production work, and I'd prefer to wait for M7 before switching.
Comment 16 Silenio Quarti CLA 2011-04-18 10:36:45 EDT
M7 is 04/29/2011. It would be good if you could try an early I-build given that you seem to be able to reproduce this more often than anyone, but I understand if you want to wait for M7.
Comment 17 Lakshmi P Shanmugam CLA 2011-04-18 13:55:07 EDT
Committed patch to HEAD > 20110418.
Comment 18 Greg Watson CLA 2011-04-18 18:44:31 EDT
Created attachment 193539 [details]
crash log

Just had another crash. I was displaying the hover help for a java class when it happened, so the tooltip patch may help. I haven't started using the patched version yet, but I though I'd keep a record of it here anyway.
Comment 19 Lakshmi P Shanmugam CLA 2011-05-13 05:36:09 EDT
I haven't seen the crash in M7 builds, marking bug as Fixed.
Comment 20 Greg Watson CLA 2011-05-16 19:57:16 EDT
Created attachment 195801 [details]
M7 crash log

Unfortunately it just crashed for me twice in a row. I've updated to M7, so it doesn't appear to be resolved yet.
Comment 21 Greg Watson CLA 2011-05-16 19:57:51 EDT
Created attachment 195802 [details]
Second M7 crash log
Comment 22 Greg Watson CLA 2011-05-16 19:58:37 EDT
Reopening.
Comment 23 Lakshmi P Shanmugam CLA 2011-05-17 02:30:19 EDT
(In reply to comment #20)
> Created attachment 195801 [details]
> M7 crash log
> 
> Unfortunately it just crashed for me twice in a row. I've updated to M7, so it
> doesn't appear to be resolved yet.

This bug fixed the crash happening in NSToolTipManager. 
Your crash log shows a different problem. I have opened a separate bug to track this --> Bug 346033.
Comment 24 Lakshmi P Shanmugam CLA 2011-05-17 02:33:52 EDT
(In reply to comment #21)
> Created attachment 195802 [details]
> Second M7 crash log

This is a different problem, its being tracked by Bug 326311.
Comment 25 Lakshmi P Shanmugam CLA 2011-05-17 03:32:45 EDT
Closing bug.