Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-20154

[GSS](7.3.z) WARN if user tries to set unrealistic io subsystem stack-size

    XMLWordPrintable

Details

    Description

      The default stack-size for java is 512k , 1M on 64bit. With a simple jsp test, it looks like 150000-200000 bytes of stack would be required at least.

      It appears some Java 8 ignores a request to set stack-size=32 bytes but some Java 11 honor the request resulting in java.lang.StackOverflowError. The actual call could potentially be different that ends with java.lang.StackOverflowError.

      [standalone@embedded /] /subsystem=io/worker=default:write-attribute(name=stack-size,value=32)
      {"outcome" => "success"} 
              <xs:attribute name="stack-size" type="xs:long" default="0">
                  <xs:annotation>
                      <xs:documentation>
                          <![CDATA[
                              The stack size (in bytes) to attempt to use for worker threads.
                          ]]>
                      </xs:documentation>
                  </xs:annotation>
              </xs:attribute> 

      Possible overflow:

      Caused by: java.lang.StackOverflowError
       at java.base/java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
       at java.base/java.io.UnixFileSystem.getBooleanAttributes(Unknown Source)
       at java.base/java.io.File.exists(Unknown Source)
       at org.jboss.modules.LocalModuleFinder.parseModuleXmlFile(LocalModuleFinder.java:249)
       ...
       at java.base/java.lang.Class.forName(Unknown Source)
       at io.undertow.jsp@2.0.8.Final-redhat-00001//org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:265)
       at io.undertow.jsp@2.0.8.Final-redhat-00001//org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:244)
        

      Overflow when using byteman to try to debug:

      Caused by: java.lang.StackOverflowError
       at java.base/java.lang.StackStreamFactory$AbstractStackWalker.callStackWalk(Native Method)
       at java.base/java.lang.StackStreamFactory$AbstractStackWalker.beginStackWalk(Unknown Source)
       at java.base/java.lang.StackStreamFactory$AbstractStackWalker.walk(Unknown Source)
       at java.base/java.lang.StackWalker.walk(Unknown Source)
       at org.jboss.logmanager@2.1.14.Final-redhat-00001//org.jboss.logmanager.JDKSpecific.findCallingClasses(JDKSpecific.java:72)
       at org.jboss.logmanager@2.1.14.Final-redhat-00001//org.jboss.logmanager.ClassLoaderLogContextSelector.run(ClassLoaderLogContextSelector.java:93)
       ...
       at org.jboss.as.logging@10.1.7.Final-redhat-00001//org.jboss.as.logging.stdio.LogContextStdioContextSelector.getStdioContext(LogContextStdioContextSelector.java:49)
       at org.jboss.stdio@1.1.0.Final-redhat-00001//org.jboss.stdio.StdioContext.getDelegate(StdioContext.java:153)
       at org.jboss.stdio@1.1.0.Final-redhat-00001//org.jboss.stdio.StdioContext$DelegatingPrintStream.println(StdioContext.java:474)
       at org.jboss.byteman.rule.helper.Helper.dotraceln(Helper.java:461)
       ...
       at java.base/java.lang.Class.forName(Unknown Source)
       at io.undertow.jsp@2.0.8.Final-redhat-00001//org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:265)
        

      Attachments

        Issue Links

          Activity

            People

              rchakrab Ranabir Chakraborty
              rhn-support-bmaxwell Brad Maxwell
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: