You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Karl Pauls (Jira)" <ji...@apache.org> on 2021/12/06 22:34:00 UTC

[jira] [Closed] (FELIX-6442) NPE when generating ServiceReferenceDTOs

     [ https://issues.apache.org/jira/browse/FELIX-6442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls closed FELIX-6442.
-----------------------------

> NPE when generating ServiceReferenceDTOs
> ----------------------------------------
>
>                 Key: FELIX-6442
>                 URL: https://issues.apache.org/jira/browse/FELIX-6442
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-7.0.1
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>            Priority: Major
>             Fix For: framework-7.0.3
>
>
> Sometimes when iterating over SCR DTOs, a NPE occurs - I suspect this is a race condition with the framework unregistering a service
> {noformat}
> 	
> [pool-85-thread-1] java.lang.NullPointerException: null at 
> org.apache.felix.framework.DTOFactory.createServiceReferenceDTO(DTOFactory.java:349) at 
> org.apache.felix.framework.DTOFactory.createServiceReferenceDTOArray(DTOFactory.java:341) at 
> org.apache.felix.framework.DTOFactory.createDTO(DTOFactory.java:106) at 
> org.apache.felix.framework.BundleImpl.adapt(BundleImpl.java:1160) at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.serviceReferenceToDTO(ServiceComponentRuntimeImpl.java:303) [org.apache.felix.scr:2.1.26] at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.satisfiedRefManagersToDTO(ServiceComponentRuntimeImpl.java:250) [org.apache.felix.scr:2.1.26] at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.managerToConfiguration(ServiceComponentRuntimeImpl.java:215) [org.apache.felix.scr:2.1.26] at 
> org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl.getComponentConfigurationDTOs(ServiceComponentRuntimeImpl.java:141) [org.apache.felix.scr:2.1.26] at 
> org.apache.felix.rootcause.DSRootCause.getRootCause(DSRootCause.java:60) [org.apache.felix.rootcause:0.1.0] at 
> org.apache.felix.rootcause.DSRootCause.getRootCause(DSRootCause.java:51) [org.apache.felix.rootcause:0.1.0] at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at 
> java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at 
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at 
> java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) at 
> org.apache.felix.systemready.impl.ComponentsCheck.getStatus(ComponentsCheck.java:97) at 
> org.apache.felix.systemready.impl.SystemReadyMonitorImpl.getStatus(SystemReadyMonitorImpl.java:150) at 
> org.apache.felix.systemready.impl.SystemReadyMonitorImpl.lambda$evaluateAllChecks$2(SystemReadyMonitorImpl.java:133) at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at 
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at 
> java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at 
> java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) at 
> org.apache.felix.systemready.impl.SystemReadyMonitorImpl.evaluateAllChecks(SystemReadyMonitorImpl.java:135) at 
> org.apache.felix.systemready.impl.SystemReadyMonitorImpl.check(SystemReadyMonitorImpl.java:119) at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at 
> java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source) at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)