felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-1967) Freeze finding consistent class space
Date Mon, 11 Jan 2010 00:18:54 GMT

    [ https://issues.apache.org/jira/browse/FELIX-1967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12798559#action_12798559

Richard S. Hall commented on FELIX-1967:

Too bad we can't reproduce it...makes it difficult to debug. I am not convinced it is an infinite
loop, but it could be. Since the algorithm is relatively deterministic, I would expect it
to do the same thing with the same input, which is why I guess you are likely getting into
a situation where you are not starting from a clean slate, e.g., the bundles are not all in
the INSTALLED state at the start of the resolve. If you figure out how to reproduce, definitely
let me know.

I am actually hard at work on a new resolver implementation, since I do know for a fact that
the current algorithm can take too long in certain scenarios. Unfortunately, I cannot say
if this new algorithm will help your scenario since we cannot reproduce it. I can definitely
say that it looks like it greatly improves on some scenarios that take the current resolver
a long time.

I don't have a definitive time frame for the new resolver yet, since it is still somewhat
in its infancy. I am hopeful that I won't run into any roadblocks and this is my top priority
right now. If all goes well, I expect it to be part of the next major framework release, but
I expect another micro release of the framework before that.

> Freeze finding consistent class space
> -------------------------------------
>                 Key: FELIX-1967
>                 URL: https://issues.apache.org/jira/browse/FELIX-1967
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-2.0.1
>            Reporter: Don Brown
>         Attachments: felix.m_configMap.txt, MANIFEST.MF, manifests.zip
> Felix seems to be frozen (as in still running from yesterday) while creating a consistent
class space.  Here are excerpts from five thread dumps:
> (first three times and the last)
> 74012 "http-2990-Processor1" daemon prio=10 tid=0x9048b800 nid=0x52eb runnable [0x90fcc000..0x90fceeb0]
> 74013    java.lang.Thread.State: RUNNABLE
> 74014     at java.util.AbstractCollection.containsAll(AbstractCollection.java:276)
> 74015     at org.apache.felix.framework.searchpolicy.ResolvedPackage.isSubset(ResolvedPackage.java:55)
> 74016     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:775)
> 74017     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 74018     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 74019     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 74020     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 74021     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 74022     at org.apache.felix.framework.searchpolicy.Resolver.findConsistentClassSpace(Resolver.java:462)
> 74023     at org.apache.felix.framework.searchpolicy.Resolver.resolve(Resolver.java:94)
> 74024     at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:3733)
> 74025     at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3105)
> 74026     at org.apache.felix.framework.Felix.startBundle(Felix.java:1441)
> 74027     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:779)
> 74028     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:760)
> (fourth time)
> 76082 "http-2990-Processor1" daemon prio=10 tid=0x9048b800 nid=0x52eb runnable [0x90fcc000..0x90fceeb0]
> 76083    java.lang.Thread.State: RUNNABLE
> 76084     at java.util.HashMap.put(HashMap.java:385)
> 76085     at org.apache.felix.framework.searchpolicy.Resolver.calculateExportedPackages(Resolver.java:1071)
> 76086     at org.apache.felix.framework.searchpolicy.Resolver.calculateModulePackages(Resolver.java:954)
> 76087     at org.apache.felix.framework.searchpolicy.Resolver.getModulePackages(Resolver.java:929)
> 76088     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:697)
> 76089     at org.apache.felix.framework.searchpolicy.Resolver.isClassSpaceConsistent(Resolver.java:720)
> 76090     at org.apache.felix.framework.searchpolicy.Resolver.findConsistentClassSpace(Resolver.java:462)
> 76091     at org.apache.felix.framework.searchpolicy.Resolver.resolve(Resolver.java:94)
> 76092     at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:3733)
> 76093     at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3105)
> 76094     at org.apache.felix.framework.Felix.startBundle(Felix.java:1441)
> 76095     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:779)
> 76096     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:760)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message