Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Rest api error handling

Jibin Baek November 18, 2020

Hello, I'm having hard time to resolve this problem.

When I call (localhost:8080/rest/inline-create/1.0/context/bootstrap?~~~) this, I receive xml with 500 error code.

For security purpose, I should hide error stack trace.

Is there a way to hide stack trace?

 

Here's my response below

<status>
<status-code>500</status-code>
<message>com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException: MismatchedSetException(37!=null)</message>
<stack-trace>com.atlassian.jira.jql.parser.JqlParseException: com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException: MismatchedSetException(37!=null)&#xD;
at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseClause(DefaultJqlQueryParser.java:96)&#xD;
at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseQuery(DefaultJqlQueryParser.java:32)&#xD;
at sun.reflect.GeneratedMethodAccessor1254.invoke(Unknown Source)&#xD;
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&#xD;
at java.lang.reflect.Method.invoke(Method.java:498)&#xD;
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)&#xD;
at com.sun.proxy.$Proxy344.parseQuery(Unknown Source)&#xD;
at sun.reflect.GeneratedMethodAccessor1254.invoke(Unknown Source)&#xD;
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&#xD;
at java.lang.reflect.Method.invoke(Method.java:498)&#xD;
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)&#xD;
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)&#xD;
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)&#xD;
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)&#xD;
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)&#xD;
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)&#xD;
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)&#xD;
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)&#xD;
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)&#xD;
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)&#xD;
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)&#xD;
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)&#xD;
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)&#xD;
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)&#xD;
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)&#xD;
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)&#xD;
at com.sun.proxy.$Proxy1138.parseQuery(Unknown Source)&#xD;
at com.atlassian.jira.plugins.issue.create.context.jql.JQLContextResolver$$anonfun$1.apply(JQLContextResolver.scala:33)&#xD;
at com.atlassian.jira.plugins.issue.create.context.jql.JQLContextResolver$$anonfun$1.apply(JQLContextResolver.scala:33)&#xD;
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)&#xD;
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)&#xD;
at scala.collection.Iterator$class.foreach(Iterator.scala:727)&#xD;
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)&#xD;
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)&#xD;
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)&#xD;
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)&#xD;
at scala.collection.AbstractTraversable.map(Traversable.scala:105)&#xD;
at com.atlassian.jira.plugins.issue.create.context.jql.JQLContextResolver.analyze(JQLContextResolver.scala:33)&#xD;
at com.atlassian.jira.plugins.issue.create.rest.ContextResolutionHelper.getContextForInputValues(ContextResolutionHelper.scala:29)&#xD;
at com.atlassian.jira.plugins.issue.create.rest.ContextResolutionHelper.prepareInlineCreateBootstrap(ContextResolutionHelper.scala:66)&#xD;
at com.atlassian.jira.plugins.issue.create.rest.JQLContextResource.bootstrapInlineCreate(JQLContextResource.scala:47)&#xD;
at sun.reflect.GeneratedMethodAccessor1995.invoke(Unknown Source)&#xD;
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&#xD;
at java.lang.reflect.Method.invoke(Method.java:498)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:53)&#xD;
at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:34)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:53)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:110)&#xD;
at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:190)&#xD;
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)&#xD;
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)&#xD;
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)&#xD;
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)&#xD;
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)&#xD;
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)&#xD;
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)&#xD;
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)&#xD;
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)&#xD;
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)&#xD;
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)&#xD;
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)&#xD;
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)&#xD;
at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829)&#xD;
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)&#xD;
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:22)&#xD;
at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:34)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:56)&#xD;
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter(UniversalAnalyticsFilter.java:92)&#xD;
at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)&#xD;
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:32)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:79)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:51)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)&#xD;
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)&#xD;
at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.executeRequest(AccessLogFilter.java:92)&#xD;
at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.doFilter(AccessLogFilter.java:78)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)&#xD;
at com.atlassian.jira.security.xsrf.XsrfTokenAdditionRequestFilter.doFilter(XsrfTokenAdditionRequestFilter.java:46)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)&#xD;
at com.atlassian.jira.web.filters.pagebuilder.PageBuilderFilter.doFilter(PageBuilderFilter.java:81)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)&#xD;
at com.atlassian.jira.web.filters.CommittedResponseHtmlErrorRecoveryFilter.doFilter(CommittedResponseHtmlErrorRecoveryFilter.java:55)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)&#xD;
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.alphaserve.authplugin.servlets.filters.LoginFilter.doFilter(LoginFilter.java:96)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)&#xD;
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56)&#xD;
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)&#xD;

...

 

I'm pretty new for Jira so if you guys need more information to figure this out, please let me know.

Thank you!

1 answer

0 votes
Hana Kučerová
Community Champion
November 19, 2020

Hi @Jibin Baek ,

welcome to the Atlassian Community!

Please, would you provide us more information? 

What exactly are you trying to do? Why do need to create issue "inline"? Are you developing some sort of application for jira server?

How exactly does your request (headers, body) and response (error message?) look like?

Thank you!

Jibin Baek November 19, 2020

Thanks for quick response @Hana Kučerová  !

Maybe someone made an application for jira server before, but I just want to hide stack-trace which is in xml response. (Could be okay if I could redirect or something)

I'm not trying to develop application.

I'm looking for an option to hide stack-trace message when there's an 500 error.

I edit my question with response. Please check!

Hana Kučerová
Community Champion
November 19, 2020

Hi @Jibin Baek ,

ok, thank you, it wasn't clear, what exactly you're doing.

So you're working in Jira and you're getting this error. Where exactly it is? I can see the error is related to JQL. Are there are any filters, dashboard gadgets with filters or something like this on the page, where you get this error? Or do you get it during some action?

I strongly recommend you to not try to hide error messages - instead of it try to find the source of the error and fix it.

Which version of Jira Server do you have?

Jibin Baek November 19, 2020

Hello @Hana Kučerová !

I'm using v.7.7.

I actually got message from security team that someone called specific rest api and it returned with 500 error xml. and they want me to hide that error stack trace for security purpose. That's the reason why I'm looking for a way to get avoid with.

It seems like it shows error because of parameter I guess. :/

Is there a way that I could redirect when I face 500 error?

I searched online earlier, someone recommend to change web.xml / server.xml properties. I am not sure if that could help for my situation though.

Daniel Ebers
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 22, 2020

Some time ago I had a support request open with Atlassian and the least I could do is to share that there is no supported/documented way to "hide" stack traces.

You might want to upvote and watch the following suggestion. This is to introduce a way to customize error pages:

https://jira.atlassian.com/browse/JRASERVER-40711

More specific to your wish is the following bug, though:
https://jira.atlassian.com/browse/JRASERVER-38101

You also can watch it and reflect with "This affects my team" that it is of importance to you.

Meanwhile you might want to mirror back to security department the information from the bug:
"The stack trace does not contain sensitive information about the application that cannot be gathered from the product's source code, which is available to any paying customer. "

Cheers,
Daniel

Jibin Baek November 23, 2020

Thank you @Daniel Ebers !

I found .soy file for 500 error. and also found a file that has stacktrace option in velocity.properties. Here's the option I found below :

runtime.log.error.stacktrace = true
runtime.log.warn.stacktrace = true
runtime.log.info.stacktrace = true

I think this is the option that I was looking for to hide stacktrace in 500 error. Could you help me to find out if that's the correct one? :/ I'm afraid to restart the server bc the there's more than 100+people using Jira, so I really want to make sure before I change any properties..

Thank you so much for your help in advanced.

Daniel Ebers
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 24, 2020

No I can't - but I will tell you openly why.

The mildest side effect you will have is that the changes need to be applied again after each update - this could be okay-ish.

But changing those settings can have effects nobody can foresee. They are not documented within Atlassian context (I was at least not able to find documentation about it).

Apart from that a more general thing - testing in live instance is never a good idea. Not even if it would be 5 people (instead of 100) that are working with it.

It is your instance and your full responsibility but I would consequently advise against the planned changes - even if it looks like "hey, I CAN change it and in case something does not work I change it back" - I have seen too many side effects inducted by such attempts in the past.

From my point of view the statement still applies:
"The stack trace does not contain sensitive information about the application that cannot be gathered from the product's source code, which is available to any paying customer. "

Jibin Baek November 24, 2020

Our security team just want to avoid that page for in case although it does not include sensitive information :/ 

I should look for other way to hide stacktrace or customize 500error page.

Thanks for your help !

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events