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

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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

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

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

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
Community showcase
Published in Jira Service Management

Security Advisory for Jira Service Management

On October 20, 2021, Atlassian published a security advisory for Jira Service Management. The full advisory is available at this link.  We've seen a number of questions already asking for...

316 views 1 2
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you