Details
-
Bug
-
Resolution: Fixed
-
Medium
-
3.6.3
-
None
-
j.a.c
-
3.06
-
Description
calling the getProjects() soap request on jira.atlassian.com as a sufficiently privileged user returns an invalid soap response, the HTTP response 500 error page. Specifically it blows up with an OutOfMemory while serialising the response object.
From the respone text:
<pre id="stacktrace">java.lang.OutOfMemoryError: mmAllocLargeArray(jniGetVMThread(env), (ClassP)c, (ObjectP*)res, len) at java.util.HashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V(Optimized Method) at java.util.HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Optimized Method) at org.apache.axis.encoding.SerializationContext.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Boolean;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V(Optimized Method) at org.apache.axis.encoding.ser.ArraySerializer.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Lorg/apache/axis/encoding/SerializationContext;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.serializeActual(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Boolean;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Boolean;Ljava/lang/Boolean;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V(Optimized Method) at org.apache.axis.encoding.ser.BeanSerializer.serialize(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Lorg/apache/axis/encoding/SerializationContext;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.serializeActual(Ljavax/xml/namespace/QName;Lorg/xml/sax/Attributes;Ljava/lang/Object;Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Boolean;)V(Optimized Method) at org.apache.axis.encoding.SerializationContext.outputMultiRefs()V(Optimized Method) at org.apache.axis.message.SOAPBody.outputImpl(Lorg/apache/axis/encoding/SerializationContext;)V(Optimized Method) at org.apache.axis.message.SOAPEnvelope.outputImpl(Lorg/apache/axis/encoding/SerializationContext;)V(Optimized Method) at org.apache.axis.message.MessageElement.output(Lorg/apache/axis/encoding/SerializationContext;)V(MessageElement.java:1208) at org.apache.axis.SOAPPart.writeTo(Ljava/io/Writer;)V(SOAPPart.java:315) at org.apache.axis.SOAPPart.writeTo(Ljava/io/OutputStream;)V(SOAPPart.java:269) at org.apache.axis.SOAPPart.saveChanges()V(SOAPPart.java:530) at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount()I(AttachmentsImpl.java:554) at org.apache.axis.Message.getContentType(Lorg/apache/axis/soap/SOAPConstants;)Ljava/lang/String;(Message.java:486) at org.apache.axis.transport.http.AxisServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AxisServlet.java:775) at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:154) at org.apache.axis.transport.http.AxisServletBase.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method) at com.atlassian.jira.web.servlet.rpc.LazyAxisDecoratorServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(LazyAxisDecoratorServlet.java:55) at com.caucho.server.dispatch.ServletFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(AccessLogFilter.java:51) at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method) at com.atlassian.seraph.filter.SecurityFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method) at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method) at com.atlassian.seraph.filter.LoginFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method) at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(ProfilingFilter.java:132)