[midPoint] NullPointerException Resource Reconciliation/Import
Pavol Mederly
mederly at evolveum.com
Wed Apr 13 17:43:00 CEST 2022
Jeremiah,
I am sorry I am not able to find any useful information. What is missing
is the "Caused by" section. It would (hopefully) point to a specific
place, where the NullPointerException occurred.
At first sight the logging code i.e.
https://github.com/Evolveum/midpoint/blob/7724f68025bde4ca17e04ce7b06d0e909a35b1fa/provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/EventDispatcherImpl.java#L256-L257
as well as exception-rethrowing code i.e.
https://github.com/Evolveum/midpoint/blob/e144db5fba5508889dc08514e5666943a28bf609/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java#L149
look OK. (Meaning I don't see a reason for the cause being lost there.)
Without that "caused by" info we can only guess where's the issue. It
may be a midPoint bug, but it may be a problem in your configuration.
That's all I can do for you - without a subscription. :(
Best regards,
--
Pavol Mederly
Software developer
evolveum.com
On 13/04/2022 17:33, Haywood, Jeremiah via midPoint wrote:
>
> Hey Pavol,
>
> 1. The midpoint version we’re currently on is 4.4.1
> 2. I have attached the stack trace in the text file titled
> “NPE-Resource-Reconciliation-StackTrace.txt”
>
> Thanks for providing some feedback, hopefully we can determine the
> root cause.
>
> Thanks for your time,
>
> Jeremiah Haywood
>
> Lead IAM Administrator
>
> Office of Technology Solutions | Illinois State University
>
> Phone Number (309) 438-3829
>
> *From:* midPoint <midpoint-bounces at lists.evolveum.com> *On Behalf Of
> *Pavol Mederly via midPoint
> *Sent:* Wednesday, April 13, 2022 10:21 AM
> *To:* midpoint at lists.evolveum.com
> *Cc:* Pavol Mederly <mederly at evolveum.com>
> *Subject:* Re: [midPoint] NullPointerException Resource
> Reconciliation/Import
>
>
>
>
> This message originated from outside of the Illinois State University
> email system. Learn why this is important
> <https://help.illinoisstate.edu/technology/page-88179827.html>
>
>
>
> Hello Jeremiah,
>
> it's actually almost impossible to help you without the following data:
>
> 1. exact midPoint version: e.g. 4.4.1; ideally also with exact git
> revision, if there's any;
> 2. full exception trace - including "caused by:" part that is missing
> in your post.
>
> Of course, nobody can guarantee to help you even with that - but that
> is really needed to have a look.
>
> A bonus is to have the stack trace formatted - just as it's present in
> the log file :)
>
> Otherwise, the one who decodes it, must do that by hand.
>
> Best regards,
>
> --
> Pavol Mederly
> Software developer
> evolveum.com
>
> On 13/04/2022 17:07, Haywood, Jeremiah via midPoint wrote:
>
> Realized I was missing the first line of the stack trace:
>
> [SYNCHRONIZATION_SERVICE] [http-nio-8080-exec-7] ERROR
> (com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl):
> Exception class
> com.evolveum.midpoint.util.exception.SystemException thrown by
> listener model synchronization service in
> ResourceObjectChangeDispatcher: java.lang.NullPointerException
>
> Thank you,
>
> Jeremiah Haywood
>
> Lead IAM Administrator
>
> Office of Technology Solutions | Illinois State University
>
> Phone Number (309) 438-3829
>
> *From:* Haywood, Jeremiah
> *Sent:* Wednesday, April 13, 2022 8:33 AM
> *To:* midPoint General Discussion <midpoint at lists.evolveum.com>
> <mailto:midpoint at lists.evolveum.com>
> *Subject:* RE: NullPointerException Resource Reconciliation/Import
>
> Providing the full stack trace for my earlier email regarding the
> NullPointerException:
>
> com.evolveum.midpoint.util.exception.SystemException:
> java.lang.NullPointerException at
> com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:149)
> at
> com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$ResourceObjectChangeDispatcher.lambda$notifyChange$0(EventDispatcherImpl.java:75)
> at
> com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$AbstractDispatcher.notify(EventDispatcherImpl.java:254)
> at
> com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$ResourceObjectChangeDispatcher.notifyChange(EventDispatcherImpl.java:75)
> at
> com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl.notifyChange(EventDispatcherImpl.java:66)
> at
> com.evolveum.midpoint.model.impl.sync.tasks.Synchronizer.handleObjectInternal(Synchronizer.java:136)
> at
> com.evolveum.midpoint.model.impl.sync.tasks.Synchronizer.synchronize(Synchronizer.java:99)
> at
> com.evolveum.midpoint.model.impl.sync.tasks.imp.ImportFromResourceLauncher.importSingleShadow(ImportFromResourceLauncher.java:68)
> at
> com.evolveum.midpoint.model.impl.controller.ModelController.importFromResource(ModelController.java:1539)
> at jdk.internal.reflect.GeneratedMethodAccessor1072.invoke(Unknown
> Source) at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566) at
> org.apache.wicket.proxy.jdk.JdkProxyFactory$JdkHandler.invoke(JdkProxyFactory.java:172)
> at com.sun.proxy.$Proxy176.importFromResource(Unknown Source) at
> com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel.importResourceObject(ResourceContentPanel.java:916)
> at
> com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel$13$1.onSubmit(ResourceContentPanel.java:817)
> at
> com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn.buttonMenuItemClickPerformed(InlineMenuButtonColumn.java:169)
> at
> com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn$1$1.onClick(InlineMenuButtonColumn.java:124)
> at
> org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:85)
> at
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:146)
> at
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:630)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:280)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:222)
> at
> org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:910)
> at
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:63)
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:294)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:255)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:277)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:208)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:307)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:404)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAnonymousAuthenticationFilter.doFilter(MidpointAnonymousAuthenticationFilter.java:88)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219)
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> com.evolveum.midpoint.web.security.filter.RedirectForLoginPagesWithAuthenticationFilter.doFilterInternal(RedirectForLoginPagesWithAuthenticationFilter.java:39)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
> at
> org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.processingOfAuthenticatedRequest(MidpointAuthFilter.java:374)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.doFilterInternal(MidpointAuthFilter.java:191)
> at
> com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.doFilter(MidpointAuthFilter.java:109)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:169)
> at
> com.evolveum.midpoint.web.security.filter.TranslateExceptionFilter.doFilterInternal(TranslateExceptionFilter.java:32)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171)
> at
> org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147)
> at
> org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171)
> at
> org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy.doFilterInternal(MidpointFilterChainProxy.java:95)
> at
> com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy.doFilter(MidpointFilterChainProxy.java:60)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> com.evolveum.midpoint.web.boot.TrailingSlashRedirectingFilter.doFilterInternal(TrailingSlashRedirectingFilter.java:60)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
> at
> com.evolveum.midpoint.web.boot.NodeIdHeaderValve.invoke(NodeIdHeaderValve.java:46)
> at
> com.evolveum.midpoint.web.boot.TomcatRootValve.invoke(TomcatRootValve.java:62)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
> at
> org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.base/java.lang.Thread.run(Thread.java:834) Caused by:
> java.lang.NullPointerException
>
> Thank you,
>
> Jeremiah Haywood
>
> Lead IAM Administrator
>
> Office of Technology Solutions | Illinois State University
>
> Phone Number (309) 438-3829
>
> *From:* Haywood, Jeremiah
> *Sent:* Wednesday, April 13, 2022 8:07 AM
> *To:* midPoint General Discussion <midpoint at lists.evolveum.com>
> *Subject:* NullPointerException Resource Reconciliation/Import
>
> Good morning,
>
> I am running into an odd error when attempting to reconcile and/or
> re-import a database resource using the default connector. There
> are currently 3 fields that are being mapped, an ID field as the
> unique column (read only), a roles field with an expression on the
> inbound to conduct an assignment target search, and lastly
> timestamp field for the changelog column.
>
> On initial import everything works as expected. Reconciliations
> initiated at the user level works as well. But when attempting a
> resource reconciliation I receive many
> “java.lang.NullPointerException” exceptions. Currently configured
> schemaHandling:
>
> <schemaHandling>
>
> <objectType>
>
> <kind>account</kind>
>
> <default>true</default>
>
> <objectClass>ri:AccountObjectClass</objectClass>
>
> <attribute>
>
> <ref>icfs:name</ref>
>
> <limitations>
>
> <access>
>
> <read>true</read>
>
> </access>
>
> </limitations>
>
> </attribute>
>
> <attribute>
>
> <ref>ri:ROLES</ref>
>
> <inbound>
>
> <trace>true</trace>
>
> <strength>strong</strength>
>
> <authoritative>true</authoritative>
>
> <expression>
>
> <assignmentTargetSearch>
>
> <targetType>OrgType</targetType>
>
> <filter>
>
> <q:equal>
>
> <q:path>name</q:path>
>
> <expression>
>
> <script>
>
> <code>
>
> return input?.tokenize('\\| ')
>
> </code>
>
> </script>
>
> </expression>
>
> </q:equal>
>
> </filter>
>
> </assignmentTargetSearch>
>
> </expression>
>
> <target>
>
> <path>assignment</path>
>
> <set>
>
> <predefined>all</predefined>
>
> </set>
>
> </target>
>
> </inbound>
>
> </attribute>
>
> </objectType>
>
> </schemaHandling>
>
> Has anyone experienced something similar?
>
> Thank you,
>
> Jeremiah Haywood
>
> Lead IAM Administrator
>
> Office of Technology Solutions | Illinois State University
>
> Phone Number (309) 438-3829
>
>
>
> _______________________________________________
>
> midPoint mailing list
>
> midPoint at lists.evolveum.com
>
> https://lists.evolveum.com/mailman/listinfo/midpoint <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.evolveum.com%2Fmailman%2Flistinfo%2Fmidpoint&data=04%7C01%7C%7Ca0dfa83e38314f584df808da1d6138f9%7C085f983a0b694270b71d10695076bafe%7C1%7C0%7C637854600683894167%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=mkPDxPYd1nh25T%2Bs6fQ9teH3K7VB%2B22RcJ4%2FH0hSMuQ%3D&reserved=0>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> https://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20220413/de348cf7/attachment-0001.htm>
More information about the midPoint
mailing list