Uploaded image for project: 'MidPoint'
  1. MidPoint
  2. MID-1536

When WorkFlows are turned on, assigning accounts to resources produces ERROR

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.2 (Crius)
    • Fix Version/s: 2.2 (Crius)
    • Component/s: Model
    • Labels:
      None
    • Environment:

      MySQL repository

      Description

      Try to assign account to CSV/DBtable resource, while midPoint is running with WorkFlow engine turned on. Assignment produces following error:

      Workflow hook invocation (Workflow)
      Runtime exception while running change processor class com.evolveum.midpoint.wf.processors.primary.user.PrimaryUserChangeProcessor
      Parameter:task: Task(id:1375890053970-0-1, name:null, oid:null)
      Kontext:model state: PRIMARY
      

      Full stack trace:

      java.lang.NullPointerException
       at com.evolveum.midpoint.wf.processors.primary.user.AbstractUserWrapper.resolveObjectRef(AbstractUserWrapper.java:53)
       at com.evolveum.midpoint.wf.processors.primary.user.AddRoleAssignmentWrapper.getAssignmentToApproveList(AddRoleAssignmentWrapper.java:149)
       at com.evolveum.midpoint.wf.processors.primary.user.AddRoleAssignmentWrapper.prepareProcessesToStart(AddRoleAssignmentWrapper.java:86)
       at com.evolveum.midpoint.wf.processors.primary.PrimaryChangeProcessor.gatherStartProcessInstructions(PrimaryChangeProcessor.java:181)
       at com.evolveum.midpoint.wf.processors.primary.PrimaryChangeProcessor.startProcessesIfNeeded(PrimaryChangeProcessor.java:161)
       at com.evolveum.midpoint.wf.processors.primary.user.PrimaryUserChangeProcessor.startProcessesIfNeeded(PrimaryUserChangeProcessor.java:66)
       at com.evolveum.midpoint.wf.WfHook.startProcessesIfNeeded(WfHook.java:129)
       at com.evolveum.midpoint.wf.WfHook.invoke(WfHook.java:86)
       at com.evolveum.midpoint.model.lens.Clockwork.invokeHooks(Clockwork.java:231)
       at com.evolveum.midpoint.model.lens.Clockwork.click(Clockwork.java:186)
       at com.evolveum.midpoint.model.lens.Clockwork.run(Clockwork.java:110)
       at com.evolveum.midpoint.model.controller.ModelController.executeChanges(ModelController.java:384)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:434)
       at $Proxy157.executeChanges(Unknown Source)
       at com.evolveum.midpoint.web.page.admin.users.PageUser.savePerformed(PageUser.java:1438)
       at com.evolveum.midpoint.web.page.admin.users.PageUser.access$1800(PageUser.java:99)
       at com.evolveum.midpoint.web.page.admin.users.PageUser$23.onSubmit(PageUser.java:855)
       at org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:116)
       at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$1.onSubmit(AjaxFormSubmitBehavior.java:179)
       at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1235)
       at org.apache.wicket.markup.html.form.Form.process(Form.java:921)
       at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:767)
       at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:156)
       at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:131)
       at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:603)
       at sun.reflect.GeneratedMethodAccessor502.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
       at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
       at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)
       at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
       at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:840)
       at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
       at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
       at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
       at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
       at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:244)
       at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
       at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:267)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
       at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
       at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
       at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
       at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
       at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
       at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
       at com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:39)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
       at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
       at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
       at java.lang.Thread.run(Thread.java:662)
      

      Add account operation works as expected.

        Attachments

          Activity

            People

            Assignee:
            erik Erik Suta
            Reporter:
            erik Erik Suta
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: