Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Null Pointer Exception when looking at My Requests / All Requests in Customer Portal

Alvin Quidem January 20, 2021

We just recently upgraded our production from 4.11 to 4.14 for Jira Service Desk.  A week later customers started reporting that when going to the customer portal, when they clicked on "My Requests" / "All Request", they would get a blank screen.  Testing on a clean instance this behavior does not occur so there does not seem to be an issue with 4.14.

 

Looking at the production logs we see the following:

1. Null Pointer Exception anytime a user clicks on "My Request" / "All Request".

 

Not exactly sure why we would be getting this on our production system.  The only thing that I believe is different between the test instance that works 100% and our production system is the data in the database.

1 answer

0 votes
Nafis Faramarzi
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 4, 2021

Hi Alvin,

Thanks so much for your question.

In order to verify whether the exception you are seeing is the cause of this issue, we would need to analyse the exception logs.

One possible cause of requests not loading can be a broken index which can be fixed with a re-indexing Jira.

To re-index a specific project to prove this out:

Navigate to the project in question

Click on "Project Settings"

Select "Re-index project"

You should then see a button that says "Start project re-index". Click on that button, and confirm you want to start the project re-index. Note, if you don’t choose a background re-index, you will have limited/no access to the project during the re-index, but a background re-index will take longer.

If this resolves the issue on the project which you reindexed, you can rebuild your indexes across all projects by following the steps described in this article.

Thank you,

Nafis

Jira Service Management

ps. if this answer is correct, please select the ‘accept answer’ button

Alvin Quidem March 6, 2021

Just tried solution and this did not fix the issue.  I tried creating a new project thinking the issue was isolated to our main project.  However, even the new project has the same issue where a user can not see their "My Requests / All Requests".  I believe the problem on our instance occurs for any project on service management.

 

Below is the error we're getting anytime anyone clicks on the "My Request / All Request" button in the customer portal.

2021-01-21 12:41:08,583-0800 http-nio-8080-exec-22 ERROR <username> 761x100075x1 1c9rpt3 <IP> /servicedesk/customer/user/requests [o.a.c.c.C.[.[localhost].[/servicedesk].[default]] Servlet.service() for servlet [default] threw exception
java.lang.NullPointerException
at com.atlassian.jira.issue.customfields.impl.SelectCFType.getDefaultValue(SelectCFType.java:223)
at com.atlassian.servicedesk.internal.fields.optionsprovider.SelectOptionsProvider.getDefaultValues(SelectOptionsProvider.java:67)
at com.atlassian.servicedesk.internal.fields.optionsprovider.SelectOptionsProvider.apply(SelectOptionsProvider.java:40)
at com.atlassian.servicedesk.internal.fields.ServiceDeskJIRAFieldServiceImpl$OptionsProvidersFunction.lambda$apply$1(ServiceDeskJIRAFieldServiceImpl.java:366)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
at com.atlassian.servicedesk.internal.fields.ServiceDeskJIRAFieldServiceImpl$OptionsProvidersFunction.apply(ServiceDeskJIRAFieldServiceImpl.java:367)
at com.atlassian.servicedesk.internal.fields.ServiceDeskJIRAFieldServiceImpl$OptionsProvidersFunction.apply(ServiceDeskJIRAFieldServiceImpl.java:342)
at com.atlassian.servicedesk.internal.feature.precondition.FieldPreconditionServiceImpl.lambda$getRequiredAndEmptyFieldsWithOptions$0(FieldPreconditionServiceImpl.java:79)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.atlassian.servicedesk.internal.feature.precondition.FieldPreconditionServiceImpl.getRequiredAndEmptyFieldsWithOptions(FieldPreconditionServiceImpl.java:81)
at com.atlassian.servicedesk.internal.feature.precondition.FieldPreconditionServiceImpl.getEmptyButRequiredFields(FieldPreconditionServiceImpl.java:65)
at com.atlassian.servicedesk.internal.feature.precondition.FieldMissingOptionsPrecondition.checkPrecondition(FieldMissingOptionsPrecondition.java:87)
at com.atlassian.servicedesk.internal.feature.precondition.FieldMissingOptionsPrecondition.checkPreconditionForRequestType(FieldMissingOptionsPrecondition.java:68)
at com.atlassian.servicedesk.internal.feature.precondition.PreconditionServiceImpl.lambda$checkPreconditionsForRequestType$1(PreconditionServiceImpl.java:66)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.atlassian.servicedesk.internal.feature.precondition.PreconditionServiceImpl.checkPreconditionsForRequestType(PreconditionServiceImpl.java:67)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.lambda$validateAndRepairFields$14(RequestListSearchResultsFactory.java:304)
at io.atlassian.fugue.Either$RightProjection.map(Either.java:923)
at io.atlassian.fugue.Either.map(Either.java:217)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.validateAndRepairFields(RequestListSearchResultsFactory.java:301)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.lambda$validateRequestType$13(RequestListSearchResultsFactory.java:283)
at java.util.HashMap.computeIfAbsent(HashMap.java:1127)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.validateRequestType(RequestListSearchResultsFactory.java:282)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.lambda$null$9(RequestListSearchResultsFactory.java:242)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.lambda$issueToRequestListView$12(RequestListSearchResultsFactory.java:252)
at io.atlassian.fugue.Option.map(Option.java:259)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.issueToRequestListView(RequestListSearchResultsFactory.java:239)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.lambda$buildMultiPortalSearchResult$2(RequestListSearchResultsFactory.java:162)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.buildMultiPortalSearchResult(RequestListSearchResultsFactory.java:174)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListSearchResultsFactory.buildSearchResult(RequestListSearchResultsFactory.java:143)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListProviderImpl.getCustomerRequestsBasedOnQuery(RequestListProviderImpl.java:263)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListProviderImpl.getCustomerRequests(RequestListProviderImpl.java:174)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListResponseAssembler.getRequestsMatchingAllReqFilter(RequestListResponseAssembler.java:81)
at com.atlassian.servicedesk.internal.feature.customer.request.list.RequestListResponseAssembler.getResponse(RequestListResponseAssembler.java:44)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.request.RequestListResponseProvider.lambda$getResponse$0(RequestListResponseProvider.java:36)
at io.atlassian.fugue.Either$RightProjection.map(Either.java:923)
at io.atlassian.fugue.Either$Right.bimap(Either.java:646)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.request.RequestListResponseProvider.getResponse(RequestListResponseProvider.java:32)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.CustomerResponseProviderToResultMapper.calculateResult(CustomerResponseProviderToResultMapper.java:27)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.CustomerModelResponseAssembler.getProviderResponseResult(CustomerModelResponseAssembler.java:45)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.CustomerModelResponseAssembler.lambda$null$1(CustomerModelResponseAssembler.java:33)
at io.atlassian.fugue.Either$Right.fold(Either.java:641)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.CustomerModelResponseAssembler.lambda$assembleCustomerModelResponse$2(CustomerModelResponseAssembler.java:31)
at java.lang.Iterable.forEach(Iterable.java:75)
at com.atlassian.servicedesk.internal.feature.customer.portal.providers.CustomerModelResponseAssembler.assembleCustomerModelResponse(CustomerModelResponseAssembler.java:29)
at com.atlassian.servicedesk.internal.rest.customers.CustomerResponseFactory.getComposedResponses(CustomerResponseFactory.java:93)
at com.atlassian.servicedesk.internal.rest.customers.CustomerResponseFactory.createResponse(CustomerResponseFactory.java:79)
at com.atlassian.servicedesk.internal.web.CustomerPageRendererImpl.lambda$createPage$1(CustomerPageRendererImpl.java:122)
at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:71)
at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57)
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302)
... 5 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:160)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:70)
... 32 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
... 4 filtered
at com.atlassian.servicedesk.internal.web.UrlOperationalStatusCheckFilter.doFilterWhenLicensed(UrlOperationalStatusCheckFilter.java:39)
at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:28)
... 4 filtered
at com.atlassian.servicedesk.internal.web.PopulateEyeballForRestFilter.doFilterWhenLicensed(PopulateEyeballForRestFilter.java:36)
at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:28)
... 4 filtered
at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
... 3 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 33 filtered
at com.resolution.atlasplugins.samlsso.servlet.RedirectToSsoFilter.doFilter(RedirectToSsoFilter.java:52)
... 3 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
... 10 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 13 filtered
at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
... 10 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:118)
... 4 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
... 10 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 42 filtered
at com.resolution.atlasplugins.samlsso.servlet.RedirectToSsoFilter.doFilter(RedirectToSsoFilter.java:60)
... 3 filtered
at com.atlassian.servicedesk.project.internal.web.filters.NormaliseUrlFilter.doFilter(NormaliseUrlFilter.java:25)
... 18 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 32 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:215)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runInContext(ReentrantThreadLocalBasedCodeContext.java:54)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runInCustomerContext(CustomerContextServiceImpl.java:37)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.inCustomerContext(CustomerContextSettingFilter.java:199)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:132)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:123)
... 4 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 29 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 25 filtered
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)

 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
VERSION
4.14
TAGS
AUG Leaders

Atlassian Community Events