Hello,
We have a pretty big problem with our JIRA instance. It's slowed down until it's unusable and the logs are getting full really fast with the following error:
Encountered an error while trying to serialize a comment (through reference chain: com.atlassian.jira.rest.v2.issue.IssueBean["fields"]->java.util.HashMap["comment"])
We eventually had to restart JIRA, but I am hoping somebody might know what can cause such an error.
Full error:
2018-11-01 09:09:03,812 http-nio-8080-exec-553 ERROR [o.a.c.c.C.[.[localhost].[/].[default]] Servlet.service() for servlet [default] in context with path [] threw exception
org.codehaus.jackson.map.JsonMappingException: Encountered an error while trying to serialize a comment (through reference chain: com.atlassian.jira.rest.v2.issue.IssueBean["fields"]->java.util.HashMap["comment"])
at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:218)
at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:183)
at org.codehaus.jackson.map.ser.std.SerializerBase.wrapAndThrow(SerializerBase.java:140)
at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:266)
at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:610)
at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:256)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1613)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.writeTo(JacksonJsonProvider.java:559)
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302)
... 5 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
... 41 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 20 filtered
at com.enhancera.auditor.common.filter.RestEventsFilter.doFilter(RestEventsFilter.java:118)
... 25 filtered
at net.youngaweb.jira.ServletFilter.doFilter(ServletFilter.java:373)
... 14 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)
... 16 filtered
at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
... 3 filtered
at ru.andreymarkelov.atlas.plugins.promjiraexporter.servlet.AllEndpointFilter$1.run(AllEndpointFilter.java:44)
at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.requestDuration(MetricCollectorImpl.java:256)
at ru.andreymarkelov.atlas.plugins.promjiraexporter.servlet.AllEndpointFilter.doFilter(AllEndpointFilter.java:39)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 10 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)
... 7 filtered
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:232)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:209)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
at net.bull.javamelody.JiraMonitoringFilter.doFilter(JiraMonitoringFilter.java:134)
... 22 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 23 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Encountered an error while trying to serialize a comment
at com.atlassian.jira.issue.fields.rest.json.serializer.StreamingCommentsJsonBeanSerializer.lambda$serialize$1(StreamingCommentsJsonBeanSerializer.java:63)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at com.atlassian.jira.issue.comments.StreamingCommentsRetriever$1.tryAdvance(StreamingCommentsRetriever.java:85)
at java.util.Spliterator.forEachRemaining(Spliterator.java:326)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.atlassian.jira.issue.fields.rest.json.serializer.StreamingCommentsJsonBeanSerializer.serialize(StreamingCommentsJsonBeanSerializer.java:53)
at com.atlassian.jira.issue.fields.rest.json.serializer.StreamingCommentsJsonBeanSerializer.serialize(StreamingCommentsJsonBeanSerializer.java:30)
at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:262)
... 244 more
Caused by: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:380)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:420)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:286)
at org.apache.catalina.connector.OutputBuffer.writeByte(OutputBuffer.java:424)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:80)
at net.bull.javamelody.internal.web.CounterResponseStream.write(CounterResponseStream.java:67)
at com.enhancera.auditor.common.filter.ContentCapturingOutputStream.write(ContentCapturingOutputStream.java:50)
at java.io.OutputStream.write(OutputStream.java:116)
... 1 filtered
at com.sun.jersey.spi.container.ContainerResponse$CommittingOutputStream.write(ContainerResponse.java:135)
at org.codehaus.jackson.impl.Utf8Generator._flushBuffer(Utf8Generator.java:1754)
at org.codehaus.jackson.impl.Utf8Generator.flush(Utf8Generator.java:1088)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1615)
at org.codehaus.jackson.impl.JsonGeneratorBase.writeObject(JsonGeneratorBase.java:314)
at com.atlassian.jira.issue.fields.rest.json.serializer.StreamingCommentsJsonBeanSerializer.lambda$serialize$1(StreamingCommentsJsonBeanSerializer.java:61)
... 260 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
... 10 filtered
... 275 more
From looking at your error, it appears you might be having the same problem as in https://community.atlassian.com/t5/Jira-Core-questions/Exception-Errors-in-JIRA-7-3-7-after-upgrade-with-Create-Issue/qaq-p/606843
In which case, if you're using a MS SQL 2008 database with a version of Jira such as 7.2.x or higher, that database version is actually not compatible with these newer versions of Jira. Switching databases has steps you can follow to get past this problem. But before you do that, you will likely need to select a supported platform database that corresponds to your Jira version.
If this doesn't help, could you let me know what version of Jira you have, and what database type/version your jira site is using?
Hello @Andy Heinzer
Thank you for your reply.
We are using JIRA 7.5.2 server, and the database is ORACLE : Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
This problem appeared recently for us, and we migrated from 7.1.9 to 7.5.2 a long time ago.
Please let me know if you have any other ideas.
Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I found that you created a support case for this issue over in https://getsupport.atlassian.com/servicedesk/customer/portal/20/GHS-133743
I believe that Adrian is on the right path in this case. I found a few other cases with a similar error and while some of them were in regards to unsupported platforms (databases), there are other cases where Jira can exceed its memory allocations in such a way that it can cause unexpected behavior.
Hence the GC logging parameters Adrian is asking to enable there will be the most helpful for us to understand whats happening in regards to Jira trying to collect used memory objects when this problem happens.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.