felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bertrand Delacretaz (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-961) 100% CPU looping inside uses calculation
Date Wed, 25 Feb 2009 12:50:01 GMT

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

Bertrand Delacretaz commented on FELIX-961:

I have seen similar problems when working on the Sling jcrinstall module, framework seems
to hang but is really only spending *lots* of time in the R4SearchPolicyCore.findConsistentClassSpace()

Looks like my problem is more likely to happen with JDK 1.6 than with JDK 1.5: the test scenario
below always passes with 1.5 but "hangs" almost every time with 1.6 (macosx, java versions
"1.6.0-dp" and "1.5.0_16").

Note that I'm still running V1.0.4 of the Felix framework for those tests, so not sure if
it's the same problem.

Here's my test scenario FWIW.

Uses the Felix webconsole mounted at /system/console.

1. Install about 80 bundles (can't share those, sorry) via the console, using a loop of CURL
commands like

curl -F action=install -Fbundlefile=@$f http://admin:admin@localhost:4502/system/console/bundles

2. Try to start all bundles using a loop of CURL commands like

curl -d action=start http://admin:admin@localhost:4502/system/console/bundles/N

with N ranging from 20 (the number of bundles installed before 1.) to 150

With JDK 1.6, step 2. very often hangs when the first bundle is started (HTTP response does
not come), and jconsole shows the SCR Actor thread spending all its time inside R4SearchPolicyCore.findConsistentClassSpace()

> 100% CPU looping inside uses calculation
> ----------------------------------------
>                 Key: FELIX-961
>                 URL: https://issues.apache.org/jira/browse/FELIX-961
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.1
>            Reporter: Stuart McCulloch
>         Attachments: USES_TESTCASE.zip, USES_TESTCASE2.zip
> While investigating a problem report against pax-runner (http://article.gmane.org/gmane.comp.java.ops4j.general/6778)
I found it was actually caused by a 100% CPU loop inside the "uses" calculation code. In Felix
1.4.1 this was stopping the shell bundle from activating, hence the lack of console. Using
the trunk build I can get a console, but the looping still occurs with the testcase.

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

View raw message