Do you have a reproducible sequence or is it only under load? I think I know the issue. Also did you build 1.7.1 yourself or pointing to our snapshots?
John On Wed, Jul 13, 2016 at 10:41 AM Xavier Dury <[email protected]> wrote: > Sorry, > > I spoke too soon, I still have the problem: > > Caused by: java.lang.NullPointerException > at > org.apache.deltaspike.proxy.impl.invocation.AbstractManualInvocationHandler.invoke(AbstractManualInvocationHandler.java:38) > at > org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler$$OwbNormalScopeProxy0.invoke(org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java) > at > org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler.staticInvoke(DelegateManualInvocationHandler.java:40) > > Xavier > > ---------------------------------------- > > From: [email protected] > > To: [email protected] > > Subject: RE: NPE in AbstractManualInvocationHandler > > Date: Wed, 13 Jul 2016 16:36:18 +0200 > > > > Hi, > > > > Indeed, 1.7.1-SNAPSHOT fixed my problem. > > > > Thanks, > > > > Xavier > > ---------------------------------------- > >> From: [email protected] > >> Date: Wed, 13 Jul 2016 14:23:43 +0000 > >> Subject: Re: NPE in AbstractManualInvocationHandler > >> To: [email protected] > >> > >> Hi Xavier, > >> > >> Could you try with 1.7.1-snapshot? There was some weird static logic > doing > >> initialization which has been changed in the up coming 1.7.1 > >> > >> John > >> > >> On Wed, Jul 13, 2016 at 9:49 AM Xavier Dury <[email protected]> wrote: > >> > >>> Hi, > >>> > >>> Since I upgraded to DeltaSpike 1.7.0 / TomEE 7.0.1, I get NPEs when > >>> calling some repositories in a multi-threaded batch. > >>> > >>> Caused by: java.lang.NullPointerException > >>> at > >>> > org.apache.deltaspike.proxy.impl.invocation.AbstractManualInvocationHandler.invoke(AbstractManualInvocationHandler.java:40) > >>> at > >>> > org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler.staticInvoke(DelegateManualInvocationHandler.java:39) > >>> > >>> That line contains the following code: > >>> > >>> List<Interceptor<?>> interceptors = interceptorLookup.lookup(proxy, > >>> method); > >>> > >>> So it seems that interceptorLookup was not initialized correctly. > >>> > >>> I see there is a double-check locking on a volatile Boolean for > >>> initialization in that class... Wouldn't it be better if the locking > >>> occurred on the interceptorLookup or if the interceptorLookup would > also be > >>> declared as volatile? > >>> > >>> Regards, > >>> > >>> Xavier > >>> > > >
