cardano-foundation / cf-ledger-sync

An open-source Java application designed to facilitate access to indexed Cardano blockchain data
Apache License 2.0
20 stars 2 forks source link

(Conway) NullPointerException's thrown during getting redeemer script hash from referenced object #187

Closed Sotatek-HuyLe3a closed 4 months ago

Sotatek-HuyLe3a commented 4 months ago

java.lang.NullPointerException: Cannot invoke "java.util.Map.keySet()" because the return value of "org.cardanofoundation.ledgersync.aggregate.AggregatedTx.getWithdrawals()" is null at org.cardanofoundation.ledgersync.service.impl.RedeemerServiceImpl.getRedeemerPointer(RedeemerServiceImpl.java:202) at org.cardanofoundation.ledgersync.service.impl.RedeemerServiceImpl.buildRedeemer(RedeemerServiceImpl.java:156) at org.cardanofoundation.ledgersync.service.impl.RedeemerServiceImpl.lambda$handleRedeemers$8(RedeemerServiceImpl.java:126) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.cardanofoundation.ledgersync.service.impl.RedeemerServiceImpl.lambda$handleRedeemers$9(RedeemerServiceImpl.java:84) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.cardanofoundation.ledgersync.service.impl.RedeemerServiceImpl.handleRedeemers(RedeemerServiceImpl.java:80) at org.cardanofoundation.ledgersync.service.impl.TransactionServiceImpl.handleTxContents(TransactionServiceImpl.java:189) at org.cardanofoundation.ledgersync.service.impl.TransactionServiceImpl.handleTxs(TransactionServiceImpl.java:145) at org.cardanofoundation.ledgersync.service.impl.TransactionServiceImpl.prepareAndHandleTxs(TransactionServiceImpl.java:134) at org.cardanofoundation.ledgersync.service.impl.block.BlockSyncServiceImpl.handleBlockSync(BlockSyncServiceImpl.java:71) at org.cardanofoundation.ledgersync.service.impl.block.BlockSyncServiceImpl.startBlockSyncing(BlockSyncServiceImpl.java:45) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at io.micrometer.core.aop.TimedAspect.processWithTimer(TimedAspect.java:227) at io.micrometer.core.aop.TimedAspect.perform(TimedAspect.java:202) at io.micrometer.core.aop.TimedAspect.timedMethod(TimedAspect.java:194) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at org.cardanofoundation.ledgersync.service.impl.block.BlockSyncServiceImpl$$SpringCGLIB$$0.startBlockSyncing() at org.cardanofoundation.ledgersync.listeners.BlockEventListener.handleAggregateBlock(BlockEventListener.java:176) at org.cardanofoundation.ledgersync.listeners.BlockEventListener.handleBlockEvent(BlockEventListener.java:66) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at org.cardanofoundation.ledgersync.listeners.BlockEventListener$$SpringCGLIB$$0.handleBlockEvent() at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:365) at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:237) at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:168) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:397) at com.bloxbean.cardano.yaci.store.core.service.publisher.ShelleyBlockEventPublisher.processBlockSingleThread(ShelleyBlockEventPublisher.java:210) at com.bloxbean.cardano.yaci.store.core.service.publisher.ShelleyBlockEventPublisher.publishBlockEvents(ShelleyBlockEventPublisher.java:60) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at com.bloxbean.cardano.yaci.store.core.service.publisher.ShelleyBlockEventPublisher$$SpringCGLIB$$0.publishBlockEvents() at com.bloxbean.cardano.yaci.store.core.service.BlockFetchService.onBlock(BlockFetchService.java:124) at com.bloxbean.cardano.yaci.helper.listener.BlockFetchAgentListenerAdapter.blockFound(BlockFetchAgentListenerAdapter.java:62) at com.bloxbean.cardano.yaci.core.protocol.blockfetch.BlockfetchAgent.lambda$onReceiveBlocks$4(BlockfetchAgent.java:134) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at com.bloxbean.cardano.yaci.core.protocol.blockfetch.BlockfetchAgent.onReceiveBlocks(BlockfetchAgent.java:134) at com.bloxbean.cardano.yaci.core.protocol.blockfetch.BlockfetchAgent.processResponse(BlockfetchAgent.java:83) at com.bloxbean.cardano.yaci.core.protocol.Agent.receiveResponse(Agent.java:44)

Reason: New Redeemer Tag: voting