Nullpointer exception when opening a plan
We are having an issue with one of our clients located in Sweden. They get a nullpointer exception when trying to open the Backlog plan of their proyects.
java.lang.NullPointerException
com.ibm.team.apt.internal.service.tools.AbstractPlanResolveHelper.fetchPlanView(AbstractPlanResolveHelper.java:805)
com.ibm.team.apt.internal.service.rest.PlanRestService.getPlanItems(PlanRestService.java:1573)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy857.getPlanItems(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:600)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:555)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2355)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2155)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1983)
javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:139)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:172)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1613
From our location (Latin America) we had issue only in one of their plan and in the eclipse client (we can open it in the Web UI). The error is:
An error occurred while executing the operation. See the error log for details.
CRJAZ0586I Query is too complex (14391 parameters).
We are using RTC 4.0.3 with distributed topology.
What calls our attention is that we an open the plans normally in the Web UI but they can't.
Is it possible that this is due to the delay they have? (approximately 4.5 secs while we have 0.5 sec for a simple request)
3 answers
1. Go to Plan Views in Eclipse Client
Open PA in Eclipse Client > Project Configuration > Configuration Data > Planning > Plan Views
2. Delete any view which appears with an exclamation mark against it.
When you select a view > If the Details shows OK to use this View > that view is fine.
For a view with an exclamation against it, you will not see OK for its details.
3. Now, check if the troubled plan loads fine.
Caution: Deleting such a invalid view will remove it from the repository and hence will be lost. However, since you are anyways not able to use that view (as its possibly corrupt due to some unexpected modification), deleting such a view will leave you will atleast a useable plan.
hope it helps.