You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Niels Beekman (JIRA)" <ji...@apache.org> on 2014/12/11 16:58:13 UTC

[jira] [Commented] (FELIX-4728) InstanceManager concurrency issue

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

Niels Beekman commented on FELIX-4728:
--------------------------------------

Relevant portions of the thread stacks:

Thread 98: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.containsKey(java.lang.Object) @bci=2, line=449 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=19, line=1310 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 62: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.get(java.lang.Object) @bci=11, line=417 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=5, line=1309 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 58: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.containsKey(java.lang.Object) @bci=2, line=449 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=19, line=1310 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 53: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.containsKey(java.lang.Object) @bci=2, line=449 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=19, line=1310 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 44: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.get(java.lang.Object) @bci=11, line=417 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=5, line=1309 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 40: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.containsKey(java.lang.Object) @bci=2, line=449 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=19, line=1310 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)

Thread 39: (state = IN_JAVA)
 - java.util.HashMap.getEntry(java.lang.Object) @bci=81, line=465 (Compiled frame; information may be imprecise)
 - java.util.HashMap.containsKey(java.lang.Object) @bci=2, line=449 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.getMethodById(java.lang.String) @bci=19, line=1310 (Compiled frame)
 - org.apache.felix.ipojo.InstanceManager.onEntry(java.lang.Object, java.lang.String, java.lang.Object[]) @bci=28, line=1238 (Compiled frame)


> InstanceManager concurrency issue
> ---------------------------------
>
>                 Key: FELIX-4728
>                 URL: https://issues.apache.org/jira/browse/FELIX-4728
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.11.2
>            Reporter: Niels Beekman
>
> We observed a race condition in InstanceManager.onEntry. This is caused by improperly synchronized access on a HashMap. Unlike reported in FELIX-3500, we did not get an exception, but high cpu usage due to the data race. See the relevant thread stacks in the comments.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)