[ 
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.

Reply via email to