Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-10828

SOAP getProjects call can blow up with an OutOfMemoryError

    XMLWordPrintable

Details

    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)
      

      Attachments

        Activity

          People

            dushan@atlassian.com Dushan Hanuska [Atlassian]
            jed Jed Wesley-Smith (Inactive)
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 5h
                5h