Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-42694

Bullhorns > ArrayIndexOutOfBoundsException thrown when creating a group assignment

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: RESOLVED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 20.0
    • Fix Version/s: 20.0
    • Component/s: Portal Bullhorns
    • Labels:
      None
    • Test Plan:
      1. In a site, create several student groups
      2. Create and post an assignment released to several of the groups
      3. After posting, check the logs for the stack trace

      Description

      I haven't tested if this affects 19.x, etc.

      I created a simple group assignment released to 3 groups and posted, the following stack trace was printed to the log:

      5-Oct-2019 09:50:37.624 ERROR [https-jsse-nio-8088-exec-15] org.sakaiproject.portal.service.BullhornServiceImpl.update Caught exception whilst handling events
      java.lang.ArrayIndexOutOfBoundsException: 3
              at org.sakaiproject.portal.beans.bullhornhandlers.AddAssignmentBullhornHandler.handleEvent(AddAssignmentBullhornHandler.java:85)
              at org.sakaiproject.portal.service.BullhornServiceImpl.update(BullhornServiceImpl.java:134)
              at java.util.Observable.notifyObservers(Observable.java:159)
              at org.sakaiproject.event.impl.BaseEventTrackingService.notifyObservers(BaseEventTrackingService.java:109)
              at org.sakaiproject.event.impl.ClusterEventTracking.postEvent(ClusterEventTracking.java:330)
              at org.sakaiproject.event.impl.BaseEventTrackingService.post(BaseEventTrackingService.java:284)
              at org.sakaiproject.assignment.tool.AssignmentAction.post_save_assignment(AssignmentAction.java:8012)
              at org.sakaiproject.assignment.tool.AssignmentAction.doPost_assignment(AssignmentAction.java:7595)
              at org.sakaiproject.assignment.tool.AssignmentAction.doAssignment_form(AssignmentAction.java:10205)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch(VelocityPortletPaneledAction.java:760)
              at org.sakaiproject.cheftool.VelocityPortletPaneledAction.processAction(VelocityPortletPaneledAction.java:569)
              at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:228)
              at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1172)
              at org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:152)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
              at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:426)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
              at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)
              at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:356)
              at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)
              at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:508)
              at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1490)
              at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1232)
              at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1066)
              at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:492)
              at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:268)
              at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:156)
              at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69)
              at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1172)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:475)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
              at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
              at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
              at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
              at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
              at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              at java.lang.Thread.run(Thread.java:748)
      

      I was using the default demo data, created some auto groups for the student role, and assigned a group assignment to 3 of the groups.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                • Assignee:
                  chmaurer@iupui.edu Chris Maurer
                  Reporter:
                  bjones86 Brian Jones
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Integration