[
https://issues.apache.org/jira/browse/FELIX-5627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carsten Ziegeler updated FELIX-5627:
------------------------------------
Fix Version/s: scr-2.0.12
> Class loading issues while finding fields causes an NPE
> -------------------------------------------------------
>
> Key: FELIX-5627
> URL: https://issues.apache.org/jira/browse/FELIX-5627
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Reporter: Thomas Watson
> Fix For: scr-2.0.12
>
>
> See eclipse bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=515873
> The following snippet of an NPE can happen
> Caused by: java.lang.NullPointerException
> at
> org.apache.felix.scr.impl.inject.FieldHandler.validateField(FieldHandler.java:279)
> at
> org.apache.felix.scr.impl.inject.FieldHandler.access$500(FieldHandler.java:51)
> at
> org.apache.felix.scr.impl.inject.FieldHandler$NotResolved.resolve(FieldHandler.java:839)
> at
> org.apache.felix.scr.impl.inject.FieldHandler$NotResolved.fieldExists(FieldHandler.java:864)
> at
> org.apache.felix.scr.impl.inject.FieldHandler.fieldExists(FieldHandler.java:918)
> This is because
> org.apache.felix.scr.impl.inject.FieldHandler.findField(SimpleLogger) can
> return null. In this case it is returning null because of a
> NoClassDefFoundError which is caught in
> org.apache.felix.scr.impl.inject.FieldHandler.getField(Class<?>, boolean,
> boolean, SimpleLogger) and null ultimately is returned. It seems a null
> check is the correct fix here since later on it appears that null may be used
> when things are not as expected.
> While investigating this issue I found the field handler implementation
> suffers from the same global lock strategy as the BaseMethod implementation
> did in FELIX-5615
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)