Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 331997 - Bundle with an invalid signature file digest gets installed when dropping it into the pickup folder
Summary: Bundle with an invalid signature file digest gets installed when dropping it ...
Status: RESOLVED FIXED
Alias: None
Product: Virgo
Classification: RT
Component: unknown (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 3.0.0.M01   Edit
Assignee: Hristo Iliev CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-07 05:20 EST by Frieder Heugel CLA
Modified: 2011-11-04 05:02 EDT (History)
4 users (show)

See Also:


Attachments
Bundle with invalid signature file (58.74 KB, application/x-java-archive)
2010-12-07 05:28 EST, Frieder Heugel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frieder Heugel CLA 2010-12-07 05:20:34 EST
Build Identifier: 

When dropping a bundle with an invalid signature file digest into the pickup folder it gets installed with version 0.0.0.0 even though it throws an IOException. When checking the Virgo Server Console one can see the bundle installed with state active but it cannot be referenced by other bundles.

Reproducible: Always

Steps to Reproduce:
1. Drop an invalid bundle into the pickup folder
2. Check the log file
3. Check the Virgo Server Console
4. Try to use this bundle within another bundle
Comment 1 Frieder Heugel CLA 2010-12-07 05:28:21 EST
Created attachment 184701 [details]
Bundle with invalid signature file
Comment 2 Glyn Normington CLA 2010-12-07 06:04:01 EST
Thanks for raising this and providing the test bundle!
Comment 3 Hristo Iliev CLA 2010-12-07 16:44:35 EST
I will take a look at the problem.
Comment 4 Glyn Normington CLA 2010-12-07 23:43:59 EST
Thanks Hristo.
Comment 5 Hristo Iliev CLA 2010-12-09 06:45:28 EST
Here is a short summary of what I've tried so far:
  1) Put the attached bundle in pickup
  2) Deploy via ApplicationDeployer.deploy (from integration test) and step through the code
  3) install the bundle via the console
  4) install the attached bundle in plain Equinox

It seems that none of the steps above senses the incorrect digest.
Comment 6 Hristo Iliev CLA 2010-12-09 07:01:50 EST
The relevant portion of the stack is:

	at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactIdentityDeterminer.determineIdentity(StandardArtifactIdentityDeterminer.java:97)
	at org.eclipse.virgo.kernel.install.artifact.internal.DelegatingServiceRegistryBackedArtifactIdentityDeterminer.determineIdentity(DelegatingServiceRegistryBackedArtifactIdentityDeterminer.java:60)
	at org.eclipse.virgo.kernel.install.artifact.internal.StandardInstallArtifactTreeInclosure.determineIdentity(StandardInstallArtifactTreeInclosure.java:135)
	at org.eclipse.virgo.kernel.install.artifact.internal.StandardInstallArtifactTreeInclosure.createInstallTree(StandardInstallArtifactTreeInclosure.java:118)
	at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.doInstall(PipelinedApplicationDeployer.java:140)
	at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.install(PipelinedApplicationDeployer.java:123)
	at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.deploy(PipelinedApplicationDeployer.java:190)
	at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener.deploy(HotDeploymentFileSystemListener.java:174)
	at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener.onChange(HotDeploymentFileSystemListener.java:78)
	at org.eclipse.virgo.util.io.FileSystemChecker.notifyListeners(FileSystemChecker.java:245)
	at org.eclipse.virgo.util.io.FileSystemChecker.check(FileSystemChecker.java:166)
	at org.eclipse.virgo.kernel.deployer.hot.WatchTask.run(WatchTask.java:58)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Failed to read manifest from file 'faulty.jar'.
	at org.eclipse.virgo.kernel.artifact.internal.BundleManifestUtils.manifestReaderFromJar(BundleManifestUtils.java:89)
	at org.eclipse.virgo.kernel.artifact.internal.BundleManifestUtils.readBundleManifest(BundleManifestUtils.java:64)
	at org.eclipse.virgo.kernel.artifact.bundle.BundleBridge.generateArtifactDescriptor(BundleBridge.java:75)
	... 34 common frames omitted
Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
	at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:221)
	at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
	at java.util.jar.JarVerifier.processEntry(JarVerifier.java:245)
	at java.util.jar.JarVerifier.update(JarVerifier.java:199)
	at java.util.jar.JarFile.initializeVerifier(JarFile.java:323)
	at java.util.jar.JarFile.getInputStream(JarFile.java:388)
	at org.eclipse.virgo.kernel.artifact.internal.BundleManifestUtils.manifestReaderFromJar(BundleManifestUtils.java:86)
	... 36 common frames omitted
Comment 7 Hristo Iliev CLA 2010-12-14 15:49:17 EST
Fixed - the deployment will fail if the bundle has invalid signature file
Comment 8 karthik elavan CLA 2011-11-04 01:05:53 EDT
Hi friends,
           Please help me Par project does not run on virgo server, as of now i am using virgo server 2.1.0 and osgi technology, I have end of stage my project but my another one for PAR project create and export par file and put in virgo this is my goal.

Error: * Some time scope null problem, otherwise don't have error in console and log file but it's not run browser.
  * Artifact 'samplemiddletier_par.par' not recognized as type 'bundle' by repository 'stage' and has been ignored

Log FILE error report:
---------------------
[2011-11-04 10:29:19.796]  TCP Connection(2)-127.0.0.1 o.e.virgo.kernel.userregion.internal.quasi.DependencyCalculator   Calculating missing dependencies of bundle(s) 'samplemiddletier_par_1.0.0' 
[2011-11-04 10:29:19.936]  TCP Connection(2)-127.0.0.1 o.e.virgo.kernel.userregion.internal.quasi.DependencyCalculator   The dependencies of '[samplemiddletier_par_1.0.0]' are '[org.springframework.web.portlet_3.0.0.RELEASE, org.springframework.jms_3.0.0.RELEASE, org.springframework.aspects_3.0.0.RELEASE]' 
[2011-11-04 10:29:20.418]  TCP Connection(2)-127.0.0.1 o.eclipse.virgo.kernel.model.internal.bundle.ModelBundleListener  Processing installed event for 'samplemiddletier_par:1.0.0' 
[2011-11-04 10:29:20.421]  TCP Connection(2)-127.0.0.1 o.eclipse.virgo.kernel.model.internal.bundle.ModelBundleListener  Processing installed event for 'org.springframework.aspects:3.0.0.RELEASE' 
[2011-11-04 10:29:20.426]  TCP Connection(2)-127.0.0.1 o.eclipse.virgo.kernel.model.internal.bundle.ModelBundleListener  Processing installed event for 'org.springframework.jms:3.0.0.RELEASE' 
[2011-11-04 10:29:20.437]  TCP Connection(2)-127.0.0.1 o.eclipse.virgo.kernel.model.internal.bundle.ModelBundleListener  Processing installed event for 'org.springframework.web.portlet:3.0.0.RELEASE' 
[2011-11-04 10:29:20.453]  TCP Connection(2)-127.0.0.1 org.eclipse.virgo.medic.eventlog.default                         DE0001I Installed bundle 'samplemiddletier_par' version '1.0.0'. 
[2011-11-04 10:29:20.454]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'sun.misc.Launcher$AppClassLoader@13f5d07' pushed and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.455]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' popped and set to 'sun.misc.Launcher$AppClassLoader@13f5d07' 
[2011-11-04 10:29:20.455]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'sun.misc.Launcher$AppClassLoader@13f5d07' pushed and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.456]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' popped and set to 'sun.misc.Launcher$AppClassLoader@13f5d07' 
[2011-11-04 10:29:20.456]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'sun.misc.Launcher$AppClassLoader@13f5d07' pushed and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.457]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' pushed and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.457]  TCP Connection(2)-127.0.0.1 org.eclipse.virgo.kernel.core.internal.BundleStartTracker         Adding signal 'org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal@f9e255' for bundle 'samplemiddletier_par_1.0.0 [67]' 
[2011-11-04 10:29:20.457]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.a.internal.AtomicInstallArtifactLifecycleListener       No atomic parent of bundle 'samplemiddletier_par' version '1.0.0' in scope 'null' to propagate starting event to 
[2011-11-04 10:29:20.463] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'cash-web.jar' is already deployed. 
[2011-11-04 10:29:20.463]  TCP Connection(2)-127.0.0.1 org.eclipse.virgo.medic.eventlog.default                         DE0004I Starting bundle 'samplemiddletier_par' version '1.0.0'. 
[2011-11-04 10:29:20.463]  TCP Connection(2)-127.0.0.1 org.eclipse.virgo.kernel.core.internal.BundleStartTracker         Non-Spring DM powered bundle 'samplemiddletier_par_1.0.0 [67]' has started. Driving signals '[org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal@f9e255]'. 
[2011-11-04 10:29:20.463] start-signalling-3           org.eclipse.virgo.kernel.core.internal.BundleStartTracker         Driving signal 'org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal@f9e255' 
[2011-11-04 10:29:20.464] start-signalling-3           o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=org.eclipse.virgo.apps.splash_2.1.0.RELEASE]' pushed and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.467]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' popped and set to 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' 
[2011-11-04 10:29:20.467]  TCP Connection(2)-127.0.0.1 o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' popped and set to 'sun.misc.Launcher$AppClassLoader@13f5d07' 
[2011-11-04 10:29:20.468] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.repository-2.1.0.RELEASE.par'. 
[2011-11-04 10:29:20.468] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/home/sample/server/virgo-web-server-2.1.0.RELEASE/pickup/org.eclipse.virgo.apps.repository-2.1.0.RELEASE.par'. 
[2011-11-04 10:29:20.471] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'org.eclipse.virgo.apps.repository-2.1.0.RELEASE.par' is already deployed. 
[2011-11-04 10:29:20.475] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'samplemiddletier_par-1.0.0.par'. 
[2011-11-04 10:29:20.475] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/home/novabit/server/virgo-web-server-2.1.0.RELEASE/pickup/samplemiddletier_par-1.0.0.par'. 
[2011-11-04 10:29:20.478] start-signalling-3           org.eclipse.virgo.medic.eventlog.default                         DE0005I Started bundle 'samplemiddletier_par' version '1.0.0'. 
[2011-11-04 10:29:20.478] start-signalling-3           o.e.v.k.i.artifact.internal.bundle.BundleThreadContextManager     Thread context class loader 'KernelBundleClassLoader: [bundle=samplemiddletier_par_1.0.0]' popped and set to 'KernelBundleClassLoader: [bundle=org.eclipse.virgo.apps.splash_2.1.0.RELEASE]' 
[2011-11-04 10:29:20.479] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'samplemiddletier_par-1.0.0.par' is already deployed. 
[2011-11-04 10:29:20.487] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.admin-2.1.0.RELEASE.plan'. 
[2011-11-04 10:29:20.487] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/home/sample/server/virgo-web-server-2.1.0.RELEASE/pickup/org.eclipse.virgo.apps.admin-2.1.0.RELEASE.plan'. 
[2011-11-04 10:29:20.491] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'org.eclipse.virgo.apps.admin-2.1.0.RELEASE.plan' is already deployed. 
[2011-11-04 10:29:20.500] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'org.eclipse.virgo.apps.splash-2.1.0.RELEASE.war'. 
[2011-11-04 10:29:20.500] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/home/sample/server/virgo-web-server-2.1.0.RELEASE/pickup/org.eclipse.virgo.apps.splash-2.1.0.RELEASE.war'. 
[2011-11-04 10:29:20.503] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'org.eclipse.virgo.apps.splash-2.1.0.RELEASE.war' is already deployed. 
[2011-11-04 10:29:20.507] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0001I Hot deployer processing 'INITIAL' event for file 'com.snovabits.cash.middletiercore.service-1.0.0.jar'. 
[2011-11-04 10:29:20.507] fs-watcher                   o.e.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener     ApplicationConditionallyDeploying path '/home/sample/server/virgo-web-server-2.1.0.RELEASE/pickup/com.sample.test.middletiercore.service-1.0.0.jar'. 
[2011-11-04 10:29:20.510] fs-watcher                   org.eclipse.virgo.medic.eventlog.default                         HD0005I Hot deploy not performed because file 'com.sample.test.middletiercore.service-1.0.0.jar' is already deployed.
Comment 9 Glyn Normington CLA 2011-11-04 05:02:36 EDT
(In reply to comment #8)
I don't see the relationship of comment 8 to the rest of this bug. Please post your issue to the Virgo forum unless you have recreated this bug and wish to reopen it.