[JBoss JIRA] (JBOSGI-622) Deadlock in Module FallbackClassLoader
by Steve Reed (JIRA)
Steve Reed created JBOSGI-622:
---------------------------------
Summary: Deadlock in Module FallbackClassLoader
Key: JBOSGI-622
URL: https://issues.jboss.org/browse/JBOSGI-622
Project: JBoss OSGi
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Blueprint
Affects Versions: JBossOSGi 2.0.0
Reporter: Steve Reed
Assignee: Thomas Diesler
Actually the version is 2.0.1.final - jbosgi-framework-core-2.0.1.Final.jar
Commit reference for JBOSS AS :- https://github.com/jbossas/jboss-as/commit/ed2bc551a55ec6a8167a8657cbb5d8...
During start up of JBOSS AS7.0 two GeminiBlueprintExtender Threads deadlock, and services in the JBOSS OSGI container are not started.
The deadlock appears to be concerned with a Module FallbackLoader, which acquires a lock during a call to loadClassLocal() and then proceeds to use an alternate Module to load the class, if this results in the alternate Module using it's FallbackLoader to load a class or resource, then it must also acquire a lock first. Obviously if two or more threads are attempting this, then a dead lock is possible.
I will attach the thread dump to this issue as supporting evidence.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (JBOSGI-615) VFSAdaptor30 uses non-thread-safe Map, which may result in deadlock
by Rico Neubauer (JIRA)
Rico Neubauer created JBOSGI-615:
------------------------------------
Summary: VFSAdaptor30 uses non-thread-safe Map, which may result in deadlock
Key: JBOSGI-615
URL: https://issues.jboss.org/browse/JBOSGI-615
Project: JBoss OSGi
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Framework
Affects Versions: JBossOSGi 1.1.1, JBossOSGi 1.2.0, JBossOSGi 2.0.0 Beta1
Environment: all
Reporter: Rico Neubauer
Assignee: Thomas Diesler
org.jboss.osgi.vfs30.VFSAdaptor30 uses a WeakHashMap, which is unsynchronized. However concurrent access may happen, at least in method org.jboss.osgi.vfs30.VFSAdaptor30#unregister().
This may result in a complete deadlock of the application with 100% CPU load, which cannot be resolved besides killing the java-process.
See attached thread-dump.
Possible solutions:
- Use synchronized Map.
- Use concurrent, thread-safe map.
- If unregister is the only potential concurrent access, synchronizing there would suffice.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (JBOSGI-621) Implement a consistent integration plugin API
by Thomas Diesler (JIRA)
Thomas Diesler created JBOSGI-621:
-------------------------------------
Summary: Implement a consistent integration plugin API
Key: JBOSGI-621
URL: https://issues.jboss.org/browse/JBOSGI-621
Project: JBoss OSGi
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Core Framework
Reporter: Thomas Diesler
Assignee: Thomas Diesler
Fix For: JBossOSGi 1.2.0
Currently there are a number of different approaches for OSGi Framework/AS7 integration. These should be consolidated and all integration should be done through the SPI. Changes to the SPI can then be properly reflected on the (semantic) version of the framework
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (JBOSGI-620) Add ability to lock a set of Bundles
by Thomas Diesler (JIRA)
Thomas Diesler created JBOSGI-620:
-------------------------------------
Summary: Add ability to lock a set of Bundles
Key: JBOSGI-620
URL: https://issues.jboss.org/browse/JBOSGI-620
Project: JBoss OSGi
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Core Framework
Reporter: Thomas Diesler
Assignee: Thomas Diesler
Fix For: JBossOSGi 1.2.0
Refresh/Resolve operate on a set of bundles. These should be locked together while these ops are running. Disconnected sets should stay unlocked
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (JBOSGI-618) Bundle refresh or re-install may lead to DuplicateServiceException
by Thomas Diesler (JIRA)
Thomas Diesler created JBOSGI-618:
-------------------------------------
Summary: Bundle refresh or re-install may lead to DuplicateServiceException
Key: JBOSGI-618
URL: https://issues.jboss.org/browse/JBOSGI-618
Project: JBoss OSGi
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Framework
Reporter: Thomas Diesler
Assignee: Thomas Diesler
Fix For: JBossOSGi 1.2.0
Currently, the ModuleIdentifier is derived from the BundleRevision only without taking subsequent resolve actions into account. On bundle refresh we set the bundle's module service to REMOVE. It is an async operation for the service to actually get removed. If a subsequent resolve creates a new module service, we see
{code}
09:08:54,454 ERROR [org.jboss.osgi.framework] (OSGi PackageAdmin refresh Thread) JBOSGI011026: Framework Error: org.jboss.msc.service.DuplicateServiceException: Service jbosgi.internal.module."jbosgi.Exporter"."1.0.0" is already registered
at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:154)
at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:227)
at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:560)
at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201)
at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228)
at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307)
at org.jboss.osgi.framework.internal.DefaultModuleLoaderPlugin.createModuleService(DefaultModuleLoaderPlugin.java:201)
at org.jboss.osgi.framework.internal.ResolverPlugin.createModuleServices(ResolverPlugin.java:347)
at org.jboss.osgi.framework.internal.ResolverPlugin.applyResolverResults(ResolverPlugin.java:278)
at org.jboss.osgi.framework.internal.ResolverPlugin.resolveAndApply(ResolverPlugin.java:155)
at org.jboss.osgi.framework.internal.ResolverPlugin.resolveAndApply(ResolverPlugin.java:169)
at org.jboss.osgi.framework.internal.AbstractBundleState.ensureResolved(AbstractBundleState.java:593)
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months
[JBoss JIRA] (JBOSGI-617) Identity capability uses 'anonymous' in toString()
by Thomas Diesler (JIRA)
Thomas Diesler created JBOSGI-617:
-------------------------------------
Summary: Identity capability uses 'anonymous' in toString()
Key: JBOSGI-617
URL: https://issues.jboss.org/browse/JBOSGI-617
Project: JBoss OSGi
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Framework
Reporter: Thomas Diesler
Assignee: Thomas Diesler
{code}
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) Install resource: HostBundleRevision[example-bundle:0.0.0]
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XIdentityCapability[atts={osgi.identity=example-bundle, type=osgi.bundle, version=0.0.0},[anonymous]]
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XResourceCapability[atts={osgi.wiring.bundle=example-bundle, bundle-version=0.0.0},[example-bundle:0.0.0]]
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XHostCapability[atts={osgi.wiring.host=example-bundle, bundle-version=0.0.0},[example-bundle:0.0.0]]
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageCapability[atts={osgi.wiring.package=org.jboss.as.test.integration.osgi.core},[example-bundle:0.0.0]]
09:34:36,840 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.osgi.framework},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.arquillian.container.test.api},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.arquillian.junit},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.arquillian.osgi},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.arquillian.test.api},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.shrinkwrap.api},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.shrinkwrap.api.asset},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.jboss.shrinkwrap.api.spec},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.junit},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=org.junit.runner},[example-bundle:0.0.0]]
09:34:36,841 DEBUG [org.jboss.osgi.resolver] (MSC service thread 1-1) XPackageRequirement[atts={osgi.wiring.package=javax.inject},[example-bundle:0.0.0]]
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 5 months