Why does an action that changes the defect status to Closed give a java.lang.NullPointerException?

0 Likes

Problem:

Why does an action that changes the defect status to Closed give a java.lang.NullPointerException?

Resolution:

Full error text is

java.lang.NullPointerException

        at com.segue.radar.utils.Routing.getAffectedInbox(Routing.java:70)
        at com.segue.radar.webgui.module.units.issue.ActionDialog.getNewInboxComponent(ActionDialog.java:425)
        at com.segue.radar.webgui.module.units.issue.ActionDialog.getFormContent(ActionDialog.java:343)
        at com.segue.radar.webgui.module.units.issue.ActionDialog.(ActionDialog.java:91)
        at com.segue.radar.webgui.module.units.issue.IssueForm$13.requestPerformed(IssueForm.java:1305)
        at com.segue.scc.util.html.internal.RequestDispatcher.invokeRequestListenersOfComponent(RequestDispatcher.java:117)
        at com.segue.scc.webgui.component.HtmlServletPage.dispatchRequest(HtmlServletPage.java:601)
        at com.segue.scc.webgui.component.HtmlServletPage.display(HtmlServletPage.java:737)
        at com.segue.scc.webgui.SccUser.handleRequest(SccUser.java:476)
        at com.segue.scc.webgui.SccFrontendMainServlet.handleUserRequest(SccFrontendMainServlet.java:93)
        at com.segue.scc.webgui.SccServlet.doGet(SccServlet.java:48)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:126)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
        at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
        at com.caucho.server.http.Invocation.service(Invocation.java:315)
        at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
        at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:346)
        at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274)
        at com.caucho.server.TcpConnection.run(TcpConnection.java:139)


ANSWER
----------------------------------
This issue can be caused by a data inconsistency. Databases imported from older versions of Issue Manager for example 3.2 -> 4.0.1, have caused this behaviour.
To correct please follow the steps below;

  1. Go to ISSUE MANAGER | CONFIGURATION | WORKFLOWS

  2. Select the state the issue should have after "Not a Defect" action from the Dropdown List

  3. Click "Edit State"

  4. Issues in this state should not be assigned to anyone so it has to be a "No One (Terminal State)" Select this radio button and press OK (please do this even if the button is selected already as this will update data which may be incorrect)

  5. Try the action again

  6. Should the behaviour remain the same please execute the following query on the database (Please backup the database before doing direct updates)

    UPDATE    IM_WorkflowState
    SET              IsTerminal = 1
    WHERE     (RoutingColumn IS NULL)
    

  7. Should the issue remain please send the IM_WorkflowState table to support. The following resolution will provide information on how to Export database tables


Old KB# 23696
Comment List
Related
Recommended