[
https://issues.redhat.com/browse/WFCORE-5126?page=com.atlassian.jira.plug...
]
Ranabir Chakraborty updated WFCORE-5126:
----------------------------------------
Summary: WARN if user tries to set unrealistic io subsystem stack-size (was:
[GSS](7.3.z) WARN if user tries to set unrealistic io subsystem stack-size)
WARN if user tries to set unrealistic io subsystem stack-size
-------------------------------------------------------------
Key: WFCORE-5126
URL:
https://issues.redhat.com/browse/WFCORE-5126
Project: WildFly Core
Issue Type: Enhancement
Components: IO
Reporter: Ranabir Chakraborty
Assignee: Ranabir Chakraborty
Priority: Minor
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.
{code:java}
[standalone@embedded /]
/subsystem=io/worker=default:write-attribute(name=stack-size,value=32)
{"outcome" => "success"} {code}
{code:java}
<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> {code}
Possible overflow:
{code:java}
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)
{code}
Overflow when using byteman to try to debug:
{code:java}
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$1.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$2.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)
{code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)