Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 364484 - Eclipse crashes on updateSplash at startup when launched by launchd
Summary: Eclipse crashes on updateSplash at startup when launched by launchd
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Launcher (show other bugs)
Version: unspecified   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 major (vote)
Target Milestone: 3.7.2   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 353185
Blocks:
  Show dependency tree
 
Reported: 2011-11-22 11:00 EST by Andrew Niefer CLA
Modified: 2012-01-13 02:30 EST (History)
11 users (show)

See Also:
tjwatson: review+


Attachments
Silenio's patch from bug 353185 (1.52 KB, patch)
2011-11-22 11:01 EST, Andrew Niefer CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Niefer CLA 2011-11-22 11:00:00 EST
+++ This bug was initially created as a clone of Bug #353185 +++

Build Identifier: 20110615-0604

If Eclipse is launched from the Finder (i.e. using "launchd") to open a file it crashes on splash screen. Specifying -nosplash in eclipse.ini doesn't help (it just hides the splash screen but the crash still occurs).

This problem started after upgrading from Snow Leopard to Lion (Mac OS X 10.7).

Here's stack trace from the crash report:

Current thread (000000000616b400):  JavaThread "main" [_thread_in_native, id=-1394257216, stack(00000000bf800000,00000000c0000000)]
Stack: [00000000bf800000,00000000c0000000]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.equinox.launcher.JNIBridge._update_splash()V+0
j  org.eclipse.equinox.launcher.JNIBridge.updateSplash()Z+1
j  org.eclipse.equinox.launcher.Main$SplashHandler.updateSplash()V+27
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.core.runtime.internal.adaptor.DefaultStartupMonitor.update()V+16
j  org.eclipse.core.runtime.adaptor.EclipseStarter.updateSplash(Lorg/eclipse/core/runtime/internal/adaptor/Semaphore;Lorg/eclipse/core/runtime/adaptor/EclipseStarter$StartupEventListener;)V+65
j  org.eclipse.core.runtime.adaptor.EclipseStarter.setStartLevel(I)V+132
j  org.eclipse.core.runtime.adaptor.EclipseStarter.startup([Ljava/lang/String;Ljava/lang/Runnable;)Lorg/osgi/framework/BundleContext;+269
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+34
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
 

Reproducible: Always

Steps to Reproduce:
1. Choose any file in Finder and select Open With | Other... | Eclipse (you may need to browse to location of your Eclipse installation)
2. Eclipse crashes and Mac shows a crash report
Comment 1 Andrew Niefer CLA 2011-11-22 11:01:22 EST
Created attachment 207372 [details]
Silenio's patch from bug 353185
Comment 2 Steven Darnell CLA 2011-12-12 16:47:34 EST
Andrew -- Thanks for committing the patch into master for Bug 353185. Do you have an estimate when it will be committed to the 3.7.2 branch?
Comment 3 Thomas Watson CLA 2011-12-15 14:23:22 EST
+1
Comment 4 Andrew Niefer CLA 2011-12-16 12:12:01 EST
I have released this to R3_7_maintenance and recompiled
Comment 5 Steven Darnell CLA 2012-01-05 16:00:10 EST
@Andrew,
The first 3.7.x stream build since you committed the launcher patch was released yesterday (M20120104-0800); however, it did not contain the patch. Our RCP app built using this stream build fails as originally described. FYI: The problem is fixed when using the current 3.8 stream integration build, I20120103-0800 (addressed in Bug 353185). Thanks for that!

The fragment plugin included in the 3.7.x stream build was org.eclipse.equinox.launcher.cocoa.macosx[.x86_64]_1.1.100.v20110502 -- the same as that found in the 3.7.0 release. MD5 checksums also indicate the library eclipse_1406.so is the same in both versions.

I suggest reopening this bug to fix this build problem.
Comment 6 Thomas Watson CLA 2012-01-09 10:00:41 EST
(In reply to comment #5)
> I suggest reopening this bug to fix this build problem.

You are correct.  Something is fishy in the build.properties files of the mac launcher fragments.  They have this (qualifier=v20110502) which I think needs to be removed.  We also need to increment the micro version of these fragments.
Comment 7 Thomas Watson CLA 2012-01-09 10:06:56 EST
BTW, the original qualifier=xxx statements were placed in the build.properties with this commit:

http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?h=R3_7_maintenance&id=08e482b232fd11bd946c540ce70cd990facd1f25

This was to prevent the build from incrementing all of our qualifiers when we moved the maint build to git.  I fixed this for the mac launcher fragments in commit:

http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?h=R3_7_maintenance&id=8e304a85b706dfd8f15adbdc5213ce16914cd718
Comment 8 Thomas Watson CLA 2012-01-12 08:55:12 EST
@Andrew

We have another 3.7.2 build available M20120111-0800

http://download.eclipse.org/eclipse/downloads/drops/M20120111-0800/index.php

I have confirmed that the mac launcher fragments have the new native.  Could you confirm this is fixed in your environment/scenario?
Comment 9 Thomas Watson CLA 2012-01-12 08:56:00 EST
(In reply to comment #8)
> @Andrew

I meant @Steven, sorry.

> 
> We have another 3.7.2 build available M20120111-0800
> 
> http://download.eclipse.org/eclipse/downloads/drops/M20120111-0800/index.php
> 
> I have confirmed that the mac launcher fragments have the new native.  Could
> you confirm this is fixed in your environment/scenario?
Comment 10 Steven Darnell CLA 2012-01-12 18:16:03 EST
Success! Double-clicking an associated file from Finder now successfully launches my RCP app and opens the file (using M20120111-0800).

Thank you Jordi, Andrew, and Thomas!