[jboss-osgi-issues] [JBoss JIRA] (JBOSGI-800) On Redeploy of osgi bundle getting DuplicateServiceException: Service jboss.module.spec.service."deployment.basebundle-1.0.0.jar".main is already registered

Arcadiy Ivanov (JIRA) issues at jboss.org
Wed Nov 16 06:28:01 EST 2016


    [ https://issues.jboss.org/browse/JBOSGI-800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13323576#comment-13323576 ] 

Arcadiy Ivanov edited comment on JBOSGI-800 at 11/16/16 6:27 AM:
-----------------------------------------------------------------

[~satish.bhor] Here's the deal. Yes, generally when you undeploy this is what will happen. However when you undeploy *base* without undeploying *dependent*, what happens is that *dependent* is still running and is still using classes from *base*. The current behavior undeploys the *base* bundle and the module with the bundle revision is hanging in the limbo +until it stops being used+, in which case it is undeployed for good. The reason you're experiencing this behavior, is because you're undeploying the bundle that has dependencies.

So my question is: do you want *dependent* to be undeployed too? Or stopped? Or something else? 

I'll see what the prescribed behavior is by OSGi specification (if any), but there is also an issue of WildFly container to consider.


was (Author: arcivanov):
[~satish.bhor]Here's the deal. Yes, generally when you undeploy this is what will happen. However when you undeploy *base* without undeploying *dependent*, what happens is that *dependent* is still running and is still using classes from *base*. The current behavior undeploys the *base* bundle and the module with the bundle revision is hanging in the limbo +until it stops being used+, in which case it is undeployed for good. The reason you're experiencing this behavior, is because you're undeploying the bundle that has dependencies.

So my question is: do you want *dependent* to be undeployed too? Or stopped? Or something else? 

I'll see what the prescribed behavior is by OSGi specification (if any), but there is also an issue of WildFly container to consider.

> On Redeploy of osgi bundle getting DuplicateServiceException: Service jboss.module.spec.service."deployment.basebundle-1.0.0.jar".main is already registered
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBOSGI-800
>                 URL: https://issues.jboss.org/browse/JBOSGI-800
>             Project: JBoss OSGi
>          Issue Type: Bug
>         Environment: JBOSSOSGI  2.5.2.Final, apache felix as dependency manager,Wildfly-10.1.0.Final with openjdk 1.8 on ubuntu 16.04
>            Reporter: satish bhor
>            Assignee: Arcadiy Ivanov
>             Fix For: JBossOSGI 2.5.3
>
>         Attachments: OSGI.zip
>
>
> There are two osgi bundles base bundle and dependent bundle. When I  undeploy base bundle it works fine without any error but when I tried it redeploy application it throwing below error.
> 12:48:48,807 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.unit."basebundle-1.0.0.jar".CONFIGURE_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."basebundle-1.0.0.jar".CONFIGURE_MODULE: WFLYSRV0153: Failed to process phase CONFIGURE_MODULE of deployment "basebundle-1.0.0.jar"
> 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154) [wildfly-server-2.2.0.Final.jar:2.2.0.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_91]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_91]
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]
> Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.module.spec.service."deployment.basebundle-1.0.0.jar".main is already registered
> 	at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:158) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:235) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:768) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:223) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2401) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:317) [jboss-msc-1.2.6.Final.jar:1.2.6.Final]
> 	at org.jboss.as.osgi.service.ModuleLoaderIntegration$FrameworkModuleLoaderImpl.addModuleSpec(ModuleLoaderIntegration.java:208)
> 	at org.jboss.osgi.framework.internal.ModuleManagerImpl.createHostModule(ModuleManagerImpl.java:325)
> 	at org.jboss.osgi.framework.internal.ModuleManagerImpl.addModule(ModuleManagerImpl.java:207)
> 	at org.jboss.osgi.framework.internal.FrameworkResolverImpl.addModules(FrameworkResolverImpl.java:304)
> 	at org.jboss.osgi.framework.internal.FrameworkResolverImpl.applyResolverResults(FrameworkResolverImpl.java:249)
> 	at org.jboss.osgi.framework.internal.FrameworkResolverImpl.resolveInternal(FrameworkResolverImpl.java:164)
> 	at org.jboss.osgi.framework.internal.FrameworkResolverImpl.resolveAndApply(FrameworkResolverImpl.java:109)
> 	at org.jboss.as.osgi.deployment.BundleResolveProcessor.resolveBundle(BundleResolveProcessor.java:81)
> 	at org.jboss.as.osgi.deployment.BundleResolveProcessor.deploy(BundleResolveProcessor.java:68)
> 	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) [wildfly-server-2.2.0.Final.jar:2.2.0.Final]
> 	... 5 more
> 12:48:48,841 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 9) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "basebundle-1.0.0.jar")]) - failure description: {
>     "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE: WFLYSRV0153: Failed to process phase CONFIGURE_MODULE of deployment \"basebundle-1.0.0.jar\"
>     Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.module.spec.service.\"deployment.basebundle-1.0.0.jar\".main is already registered"},
>     "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE"],
>     "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
> }
> 12:48:48,842 ERROR [org.jboss.as.server] (management-handler-thread - 9) WFLYSRV0021: Deploy of deployment "basebundle-1.0.0.jar" was rolled back with the following failure message: 
> {
>     "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE: WFLYSRV0153: Failed to process phase CONFIGURE_MODULE of deployment \"basebundle-1.0.0.jar\"
>     Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.module.spec.service.\"deployment.basebundle-1.0.0.jar\".main is already registered"},
>     "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"basebundle-1.0.0.jar\".CONFIGURE_MODULE"],
>  



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-osgi-issues mailing list