Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 411847 - Unable to launch platform after add "osgi.signedcontent.support=certificate" in config.ini
Summary: Unable to launch platform after add "osgi.signedcontent.support=certificate" ...
Status: CLOSED DUPLICATE of bug 401098
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 4.3   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-28 00:33 EDT by Beck Yang CLA
Modified: 2013-06-28 08:39 EDT (History)
1 user (show)

See Also:


Attachments
log file under configuration (99.00 KB, text/plain)
2013-06-28 00:33 EDT, Beck Yang CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Beck Yang CLA 2013-06-28 00:33:51 EDT
Created attachment 232872 [details]
log file under configuration

I only test it in windows 7, but the error should happened in all OS.

Steps for reproduce:
1. Extract eclipse-platform-4.3-win32.zip
2. Modify 
3. add line "osgi.signedcontent.support=certificate" in %ECLIPSE_HOME%\configuration\config.ini 
4. Run eclipse.exe

Result: Platform does not launch, a dialog display message "An error has occured. See the log file ???\configuration\???.log".

The top error messages in log file are:
!SESSION 2013-06-28 11:38:40.239 -----------------------------------------------
eclipse.buildId=4.3.0.I20130605-2000
java.version=1.6.0_45
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_TW
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.osgi 4 0 2013-06-28 11:38:40.926
!MESSAGE An error occurred while automatically activating bundle org.eclipse.equinox.registry (1800).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.registry.osgi.Activator.start() of bundle org.eclipse.equinox.registry.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
	at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
	at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
	at org.eclipse.osgi.internal.loader.MultiSourcePackage.loadClass(MultiSourcePackage.java:31)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
...
Caused by: java.lang.SecurityException: class "org.eclipse.core.runtime.IExtension"'s signer information does not match signer information of other classes in the same package
	at java.lang.ClassLoader.checkCerts(ClassLoader.java:806)
	at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:638)
	at 
...
(Detail message could be found in attachment)
Comment 1 Thomas Watson CLA 2013-06-28 08:39:39 EDT
This is because the inner jars are not signed.  The workaround is to set:

osgi.support.class.certificate=false

That disables the framework from defining the classes with certificates as part of the CodeSource.  Not sure what your usecase is but I imagine that may not be acceptable.  Your other option is to no include the compatibility fragment org.eclipse.core.runtime.compatibility.registry.

*** This bug has been marked as a duplicate of bug 401098 ***