Jump to content
We've recently updated our Privacy Statement, available here ×
  • Tomcat server connector implementing HTTP/2 upgrade protocol generates a StackOverflowError error


    vchiem
    • Features: JasperReports Server Version: v7 Product: JasperReports® Server

    Issue:

    We have configured Tomcat 9.0.1 to use the APR/native connector with HTTP/2 upgrade protocol. Upon testing our main and drill down reports, the main report shows loading and again the "You must apply input values before the report can be displayed." message appears. In the catalina log file, we observed that the following StackOverflowError error was captured : 

    01-Jun-2021 08:58:24.531 SEVERE [https-openssl-apr-443-exec-10] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
     java.lang.StackOverflowError
        at org.apache.coyote.http2.AbstractStream.isDescendant(AbstractStream.java:66)
        at org.apache.coyote.http2.AbstractStream.isDescendant(AbstractStream.java:70)
        ...
    
    

     

    The <TOMCAT>/conf/server.xml has the following connector configuration:

     

        <Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
                   maxThreads="150" SSLEnabled="true" maxHttpHeaderSize="65536" >
            <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" writeTimeout="60000" readTimeout="60000" keepAliveTimeout="60000"/>
            <SSLHostConfig>
                <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                             certificateFile="conf/localhost-rsa-cert.pem"
                             certificateChainFile="conf/localhost-rsa-chain.pem"
                             type="RSA" />
            </SSLHostConfig>
        </Connector>

     


     

    Solution:

    The issue is related to a HTTP/2 bug that is fixed in Tomcat version 9.0.2.

    Refer to:

    Bug 61682 - StackOverflowError while executing HTTP/2 Server Push

    (https://bz.apache.org/bugzilla/show_bug.cgi?id=61682)

    All fixes for Tomcat 9.0.x are listed in the change log :

    https://tomcat.apache.org/tomcat-9.0-doc/changelog.html

    In order to overcome the specific error, upgrading to Tomcat 9.0.2 or above is required. 

    Note: If running on Tomcat 8.5, then the error is fixed in Tomcat 8.5.24 and above. (https://tomcat.apache.org/tomcat-8.5-doc/changelog.html)

     

     


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...