[
https://issues.apache.org/jira/browse/KARAF-6089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16746212#comment-16746212
]
ASF GitHub Bot commented on KARAF-6089:
---------------------------------------
grgrzybek commented on pull request #729: [KARAF-6089] Prevent deadlock on
bundle lock between FelixStartLevel …
URL: https://github.com/apache/karaf/pull/729
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Deadlock with FeatureDeploymentListener
> ---------------------------------------
>
> Key: KARAF-6089
> URL: https://issues.apache.org/jira/browse/KARAF-6089
> Project: Karaf
> Issue Type: Bug
> Components: karaf
> Affects Versions: 4.2.2
> Reporter: Grzegorz Grzybek
> Assignee: Grzegorz Grzybek
> Priority: Critical
> Fix For: 4.2.3
>
>
> When I have feature files inside {{deploy/}} dir (which is bad practice, I
> know), I see deadlock between:
> {noformat}
> "FelixStartLevel" #21 daemon prio=5 os_prio=0 tid=0x00007f56dd2ac000
> nid=0x7e69 waiting on condition [0x00007f5685bbc000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000e3044b98> (a
> java.util.concurrent.FutureTask)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
> at java.util.concurrent.FutureTask.get(FutureTask.java:191)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvisionInThread(FeaturesServiceImpl.java:966)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.updateReposAndRequirements(FeaturesServiceImpl.java:912)
> at
> org.apache.karaf.deployer.features.FeatureDeploymentListener.bundleChanged(FeatureDeploymentListener.java:251)
> - locked <0x00000000e3044ce0> (a
> org.apache.karaf.deployer.features.FeatureDeploymentListener)
> at
> org.apache.karaf.deployer.features.FeatureDeploymentListener.init(FeatureDeploymentListener.java:95)
> at
> org.apache.karaf.deployer.features.osgi.Activator.doStart(Activator.java:52)
> at
> org.apache.karaf.util.tracker.BaseActivator.start(BaseActivator.java:89)
> at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
> and
> {noformat}
> "features-3-thread-1" #55 prio=5 os_prio=0 tid=0x00007f5648486800 nid=0x7e99
> in Object.wait() [0x00007f55f2bf6000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:502)
> at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:5293)
> - locked <0x00000000e08b42f8> (a [Ljava.lang.Object;)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1948)
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
> at
> org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:161)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1116)
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:997)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl$$Lambda$97/1752701.call(Unknown
> Source)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)