Uploaded image for project: 'Apache Fineract'
  1. Apache Fineract
  2. FINERACT-1259

NPE at SynchronousCommandProcessingService.processAndLogCommand()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      See FINERACT-932 for general background; I've found this in logs of https://www.fineract.dev:

      java.lang.NullPointerException: null
              at org.apache.fineract.commands.service.SynchronousCommandProcessingService.processAndLogCommand (SynchronousCommandProcessingService.java:94)
              at org.apache.fineract.commands.service.SynchronousCommandProcessingService$$FastClassBySpringCGLIB$$ec92d53f.invoke (<generated>)
              at org.springframework.cglib.proxy.MethodProxy.invoke (MethodProxy.java:218)
              at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint (CglibAopProxy.java:771)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:163)
              at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed (CglibAopProxy.java:749)
              at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java:367)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:118)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186)
              at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed (CglibAopProxy.java:749)
              at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept (CglibAopProxy.java:691)
              at org.apache.fineract.commands.service.SynchronousCommandProcessingService$$EnhancerBySpringCGLIB$$d3ccdf7c.processAndLogCommand (<generated>)
              at org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl.logCommandSource (PortfolioCommandSourceWritePlatformServiceImpl.java:99)
              at org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl$$FastClassBySpringCGLIB$$31c15082.invoke (<generated>)
              at org.springframework.cglib.proxy.MethodProxy.invoke (MethodProxy.java:218)
              at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept (CglibAopProxy.java:687)
              at org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl$$EnhancerBySpringCGLIB$$2c71f325.logCommandSource (<generated>)
              at org.apache.fineract.portfolio.savings.api.SavingsAccountsApiResource.submitGSIMApplication (SavingsAccountsApiResource.java:190)

      https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/java/org/apache/fineract/commands/service/SynchronousCommandProcessingService.java could certainly be written to be more null safe - if none of the conditions in the {{ findCommandHandler()}} method match, it probably better shouldn't just return null, but throw UnsupportedCommandException(wrapper.commandName())?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vorburger Michael Vorburger
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: