java.lang.NullPointerException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • From the field... If you assign a campus routing and follow the instructions, there are certain cases where the client will get a 500 error and can't complete the Early Alert. Right now I've identified a scenario where this occurs every time. 1. Log in as Admin goto Early Alert Campus config and select a campus 2. Click icon to edit routings 3. Add a new routing for an EA Reason that isn't being used, and leave Person blank. Notice the instructions say you can pick one or the other. 4. Login or impersonate factory and use that reason and campus when saving an alert and you'll get a 500. I'm fairly certain having a Person but not a Group Email also causes this, but it seems less than 100%. Having multiple reason routings per Campus one or more having Person and the others Group works fine. However, having multiples of the same, still causes this issue. Also, editing an existing routing doesn't work because the select drop-down doesn't allow you to de-select a Person. Seems to be related to EarlyAlertServiceImpl with sendMessageToAdvisor and line 480: _if (alreadySent.contains(route.getPerson().getPrimaryEmailAddress()))_ {code} DEV: 11:40:02.436 [http-8080-4] /ssp/api/1/person/59f98b08-4d66-bf6a-caa5-a0c92030ca64/earlyAlert ERROR o.j.s.w.a.PersonEarlyAlertController - Error: java.lang.NullPointerException: null at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.sendMessageToAdvisor(EarlyAlertServiceImpl.java:480) ~[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:194) ~[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:109) ~[EarlyAlertServiceImpl.class:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at com.sun.proxy.$Proxy171.create(Unknown Source) ~[na:na] at org.jasig.ssp.web.api.AbstractPersonAssocController.create(AbstractPersonAssocController.java:225) ~[AbstractPersonAssocController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController.create(PersonEarlyAlertController.java:155) ~[PersonEarlyAlertController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController$$FastClassBySpringCGLIB$$a31a514.invoke(<generated>) ~[spring-core-3.2.8.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:629) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.jasig.ssp.web.api.PersonEarlyAlertController$$EnhancerBySpringCGLIB$$257a5be2.create(<generated>) ~[spring-core-3.2.8.RELEASE.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) ~[spring-webmvc-3.2.8.RELEASE.jar:3.2.8.RELEASE] ... {code}
    via by Paul Spaude,
  • From the field... If you assign a campus routing and follow the instructions, there are certain cases where the client will get a 500 error and can't complete the Early Alert. Right now I've identified a scenario where this occurs every time. 1. Log in as Admin goto Early Alert Campus config and select a campus 2. Click icon to edit routings 3. Add a new routing for an EA Reason that isn't being used, and leave Person blank. Notice the instructions say you can pick one or the other. 4. Login or impersonate factory and use that reason and campus when saving an alert and you'll get a 500. I'm fairly certain having a Person but not a Group Email also causes this, but it seems less than 100%. Having multiple reason routings per Campus one or more having Person and the others Group works fine. However, having multiples of the same, still causes this issue. Also, editing an existing routing doesn't work because the select drop-down doesn't allow you to de-select a Person. Seems to be related to EarlyAlertServiceImpl with sendMessageToAdvisor and line 480: _if (alreadySent.contains(route.getPerson().getPrimaryEmailAddress()))_ {code} DEV: 11:40:02.436 [http-8080-4] /ssp/api/1/person/59f98b08-4d66-bf6a-caa5-a0c92030ca64/earlyAlert ERROR o.j.s.w.a.PersonEarlyAlertController - Error: java.lang.NullPointerException: null at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.sendMessageToAdvisor(EarlyAlertServiceImpl.java:480) ~[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:194) ~[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:109) ~[EarlyAlertServiceImpl.class:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) ~[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at com.sun.proxy.$Proxy171.create(Unknown Source) ~[na:na] at org.jasig.ssp.web.api.AbstractPersonAssocController.create(AbstractPersonAssocController.java:225) ~[AbstractPersonAssocController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController.create(PersonEarlyAlertController.java:155) ~[PersonEarlyAlertController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController$$FastClassBySpringCGLIB$$a31a514.invoke(<generated>) ~[spring-core-3.2.8.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:629) ~[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.jasig.ssp.web.api.PersonEarlyAlertController$$EnhancerBySpringCGLIB$$257a5be2.create(<generated>) ~[spring-core-3.2.8.RELEASE.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) ~[spring-webmvc-3.2.8.RELEASE.jar:3.2.8.RELEASE] ... {code}
    via by Paul Spaude,
    • java.lang.NullPointerException: null at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.sendMessageToAdvisor(EarlyAlertServiceImpl.java:480)[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:194)[EarlyAlertServiceImpl.class:na] at org.jasig.ssp.service.impl.EarlyAlertServiceImpl.create(EarlyAlertServiceImpl.java:109)[EarlyAlertServiceImpl.class:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606)[na:1.7.0_67] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)[spring-tx-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at com.sun.proxy.$Proxy171.create(Unknown Source)[na:na] at org.jasig.ssp.web.api.AbstractPersonAssocController.create(AbstractPersonAssocController.java:225)[AbstractPersonAssocController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController.create(PersonEarlyAlertController.java:155)[PersonEarlyAlertController.class:na] at org.jasig.ssp.web.api.PersonEarlyAlertController$$FastClassBySpringCGLIB$$a31a514.invoke(<generated>)[spring-core-3.2.8.RELEASE.jar:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:629)[spring-aop-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.jasig.ssp.web.api.PersonEarlyAlertController$$EnhancerBySpringCGLIB$$257a5be2.create(<generated>)[spring-core-3.2.8.RELEASE.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[na:1.7.0_67] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[na:1.7.0_67] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[na:1.7.0_67] at java.lang.reflect.Method.invoke(Method.java:606)[na:1.7.0_67] at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)[spring-webmvc-3.2.8.RELEASE.jar:3.2.8.RELEASE]
    No Bugmate found.