[
https://issues.apache.org/jira/browse/FELIX-2080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834173#action_12834173
]
Roland Huss commented on FELIX-2080:
------------------------------------
My spring bundles are directly from my local maven repository as they are
distributed by spring itself (e.g
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/springframework/spring-core/3.0.0.RELEASE/).
If you like, I can zip up my sample installation and send it to you.
Unfortunately, it seems the problem seems either to be a race condition or
depends on the number of updates performed on a single bundle.
In fact, I it is not reproducible for the first updates. Also, switching
debugging on/off seems to have an effect, too.
But what I can reproduce is, that for multiple updates on these bundles the
processing time increases more than linearly
for each update:
update 10
update 11 --> 0:01
update 10
update 11 --> 0:06
update 10
update 11 --> 0:33
update 10
update 11 --> 2:13
update 10
update 11 --> 6:22
Theses test are done on a freshly started felix (with an empty cache) (on my
MBP, second generation).
My feeling is also that the time passed between starting the updates has an
influence, too.
FYI: I encountered the problems first, when I tried to update 15 spring bundles
via JMX with the Aries implementation of the OSGi EEG JMX Spec
for FrameworkMBean.installBundles() which under the hood calls update() on each
bundle separately in a loop. With this, I'm able to
kill my server reproducibly (and always ;-) from the first time. I can offer to
post some thread dumps taken after (1,5,10,..) minutes for this scenario.
A minor difference from the scenario above here is, that the debug looks like
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
DEBUG: Constraint violation for 64.1 detected; module can see
org.springframework.context.support from [32.1] and
org.springframework.context.support from [32.0]
...
where the minor version ("64.1","32.1","32.0") are always the same (64 here is
org.springframework.web.servlet, 32 is org.springframework.context) and I don't
whether it
ever stops ;-)
> Updating bundles when debugging switched on might result in a deadlock with
> 100% CPU usage
> ------------------------------------------------------------------------------------------
>
> Key: FELIX-2080
> URL: https://issues.apache.org/jira/browse/FELIX-2080
> Project: Felix
> Issue Type: Bug
> Components: Framework
> Affects Versions: felix-2.0.3
> Reporter: Roland Huss
>
> With the following minimal scenario using Spring 3.0.0.RELEASE bundles the
> following happen when one update spring-core first and the spring-web:
> $ grep log conf/config.properties
> felix.log.level=4
> $ ls bundle/
> com.springsource.javax.servlet-2.4.0.jar
> org.apache.felix.shell-1.4.2.jar spring-context-3.0.0.RELEASE.jar
> com.springsource.org.aopalliance-1.0.0.jar
> org.apache.felix.shell.tui-1.4.1.jar spring-core-3.0.0.RELEASE.jar
> com.springsource.org.apache.commons.logging-1.1.1.jar
> spring-aop-3.0.0.RELEASE.jar spring-web-3.0.0.RELEASE.jar
> org.apache.felix.bundlerepository-1.4.3.jar
> spring-beans-3.0.0.RELEASE.jar
> $ java -jar bin/felix.jar
> ....
> -> ps
> START LEVEL 1
> ID State Level Name
> [ 0] [Active ] [ 0] System Bundle (2.0.3)
> [ 1] [Active ] [ 1] Java Servlet API (2.4.0)
> [ 2] [Active ] [ 1] AOP Alliance API (1.0.0)
> [ 3] [Active ] [ 1] Apache Commons Logging (1.1.1)
> [ 4] [Active ] [ 1] Apache Felix Bundle Repository (1.4.3)
> [ 5] [Active ] [ 1] Apache Felix Shell Service (1.4.2)
> [ 6] [Active ] [ 1] Apache Felix Shell TUI (1.4.1)
> [ 7] [Active ] [ 1] Spring AOP (3.0.0.RELEASE)
> [ 8] [Active ] [ 1] Spring Beans (3.0.0.RELEASE)
> [ 9] [Active ] [ 1] Spring Context (3.0.0.RELEASE)
> [ 10] [Active ] [ 1] Spring Core (3.0.0.RELEASE)
> [ 11] [Active ] [ 1] Spring Web (3.0.0.RELEASE)
> -> update 10
> DEBUG: WIRE: 10.1 -> org.apache.commons.logging -> 3.0
> DEBUG: WIRE: 10.1 -> javax.xml.transform.stax -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.stream.events -> 0
> DEBUG: WIRE: 10.1 -> org.w3c.dom -> 0
> DEBUG: WIRE: 10.1 -> org.xml.sax -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.namespace -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.stream -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.stream.util -> 0
> DEBUG: WIRE: 10.1 -> org.xml.sax.ext -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.transform -> 0
> DEBUG: WIRE: 10.1 -> javax.xml.transform.sax -> 0
> DEBUG: WIRE: 10.1 -> org.xml.sax.helpers -> 0
> -> update 11
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.1] and org.springframework.core from [10.0]
> DEBUG: Constraint violation for 11.0 detected; module can see
> org.springframework.core from [10.0] and org.springframework.core from [10.1]
> .....
> and so on ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.