Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 365130 - People will get warning there is unsigned contents for EDT 070 release build
Summary: People will get warning there is unsigned contents for EDT 070 release build
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-29 15:26 EST by Jing Qian CLA
Modified: 2017-02-23 14:14 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jing Qian CLA 2011-11-29 15:26:29 EST
During the installation of EDT 070 release build, you will get a warning saying there is unsigned contents for the org.eclipse.edt.runtime.java plugin

Currently in 070, this plugin is not signed. 
Because if it is signed, you would get the following error when running Eunit testing in java

eglx.lang.DynamicAccessException Creation of a delegate for function executeLibTest failed due to java.lang.SecurityException: class "org.eclipse.edt.eunit.runtime.MultiStatus"'s signer information does not match signer information of other classes in the same package
	at eglx.lang.AnyException.fillInStackTrace(AnyException.java:187)
	at java.lang.Throwable.<init>(Throwable.java:181)
	at java.lang.Exception.<init>(Unknown Source)
	at java.lang.RuntimeException.<init>(Unknown Source)
	at eglx.lang.AnyException.<init>(AnyException.java:32)
	at eglx.lang.DynamicAccessException.<init>(DynamicAccessException.java:22)
	at org.eclipse.edt.javart.Delegate.<init>(Delegate.java:33)
	at eunitgen.aeunit.smoke.SmokeLib.invokeTheTest(SmokeLib.java:38)
	at eunitgen.RunAllTests_pgm.main(RunAllTests_pgm.java:2002)
	at org.eclipse.edt.javart.resources.RunUnitBase.start(RunUnitBase.java:239)
	at eunitgen.RunAllTests_pgm.main(RunAllTests_pgm.java:509)
Caused by: java.lang.SecurityException: class "org.eclipse.edt.eunit.runtime.MultiStatus"'s signer information does not match signer information of other classes in the same package
	at java.lang.ClassLoader.checkCerts(Unknown Source)
	at java.lang.ClassLoader.preDefineClass(Unknown Source)
	at java.lang.ClassLoader.defineClassCond(Unknown Source)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$000(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.getDeclaredMethod(Unknown Source)
	at org.eclipse.edt.javart.Delegate.<init>(Delegate.java:30)
	... 4 more

The root cause is because in the EGL workspace, there are egl files created under the same package as the ones inside javaruntime jar, in this case: org.eclipse.edt.eunit.runtime package.

Possible Solution

1. sign the java runtime plugin jar, so user won't get the warning during install
- split the org.eclipse.edt.eunit.runtime package, so the egl parts in the workspace are in different package. 
However, user would still hit the same issue, if they have parts that's under any egl system packages (i.e. eglx.lang), according to Brian, it might be ok to put such restriction, user should not declare any egl parts using any of the system package name

2. figure out a way to package java runtime plugin as directory, and have a unsigned jar file within the directory, this might fool the installation, so no warnings
- we may need to modify the java classpath for any egl project to use this new jar
Comment 1 Jing Qian CLA 2011-11-29 15:27:49 EST
target this for EDT 1.0