felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Debeerst (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-4565) Occasional ArrayIndexOutOfBoundException in iPOJO's ProvidedServiceHandler
Date Wed, 24 Dec 2014 16:28:13 GMT

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

Benjamin Debeerst commented on FELIX-4565:

Sorry, I am currently not in the office and will be back on January 5, 2015.

Please note, your email has not been forwarded.

In urgent cases please contact:
For issues regarding the WEMAG project: Niels Majer (niels.majer@younicos.com).
For issues regarding the UKPN project and other topics: Udo Berninger (udo.berninger@younicos.com).

Let the fossils rest in peace.
Benjamin Debeerst

> Occasional ArrayIndexOutOfBoundException in iPOJO's ProvidedServiceHandler
> --------------------------------------------------------------------------
>                 Key: FELIX-4565
>                 URL: https://issues.apache.org/jira/browse/FELIX-4565
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-runtime-1.11.2
>         Environment: Karaf 2.3.3 / Windows 7 64 bit
>            Reporter: Benjamin Debeerst
>            Assignee: Clement Escoffier
>             Fix For: ipojo-runtime-1.12.1
> I have an iPOJO (1.11.2) component using the @ServiceController annotation to control
the service publishing. Most of the time this works perfectly fine, but occasionally I get
an ArrayIndexOutOfBoundsException.
> {code}
> java.lang.ArrayIndexOutOfBoundsException: 4
>                at org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler.__M_onSet(ProvidedServiceHandler.java:416)[83:org.apache.felix.ipojo:1.11.2]
>                at org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler.onSet(ProvidedServiceHandler.java)[83:org.apache.felix.ipojo:1.11.2]
>                at org.apache.felix.ipojo.InstanceManager.onSet(InstanceManager.java:1401)[83:org.apache.felix.ipojo:1.11.2]
>                [..] (My own code following, where the service controller boolean is manipulated)
> {code}
> Unfortunately I cannot share the consumer code nor reproduce the problem. I looked into
[iPOJOs code|http://grepcode.com/file/repo1.maven.org/maven2/org.apache.felix/org.apache.felix.ipojo/1.11.2/org/apache/felix/ipojo/handlers/providedservice/ProvidedServiceHandler.java#416]
to see what's going on, and there we have:
> {code}
> for (int j = 0; j < svc.getProperties().length; j++) { Property prop = svc.getProperties()[j];
>                [...]
> }
> {code}
> Which looks like a proper race condition to me, if svc.getProperties() changes its value
in the meantime because of missing synchronizations. I don't see any synchronizations there,
but I also don't know if they would be appropriate in the first place.

This message was sent by Atlassian JIRA

View raw message