Tried for some time now to duplicate the error without Java in the picture by
duplicating some of
the code patterns that get applied there in c++ and an ooRexx program.
However so far I was not able to recreate that crash.
The only thing that I can provoke (on a Windows box with 32-bit ooRexx) is a
condition indicating
that there are no more threads available from the system:
G:\oorexx.tmp\bugs\sysinterpreter>testInterpreterInstances.exe 600
Created interpreter instance version=5.0.0 language level=6.05
Using interpreter to execute dii.rex
result=[a Package]
clzElapser =[0260F4A8]
clzRII =[02608538]
clzNoOp =[02604B20]
r_redirect =[025FA578]
r_do_requires=[0261AA98]
pgk_requires =[02617978]
elapseTime =[600]
129 *-* reply -- sleep
124 *-* self~sleep -- not yet slept?
104 *-* .waiter~new(random(1,750)/1000)~wait -- wait a bit (terminates a
RII randomly)
Error 48 running G:\oorexx.tmp\bugs\sysinterpreter\dii.rex line 129:
Failure in system service.
Error somewhere in rii # [30320], aborting ...
Error 48.1: Failure in system service: Error creating thread.
---> standardConditionMsg(...), start:
102 *-* reply -- return
Error 48 running G:\oorexx.tmp\bugs\sysinterpreter\dii.rex line 102:
Failure in system service.
Error 48.001: Failure in system service: Error creating thread.
<--- standardConditionMsg(...), end.
"rii" stands for "Rexx interpreter instance", the condition occurs therefore at
Rexx intepreter
instance # 30,320 (sic!). The threads get excercised by Rexx code using reply
at two locations (one
location does a syssleep for random time after which the rii gets terminated).
In the case you may see utility in this particular scenario please let me know
and I submit a tidied
up version of the code (c++ plus an ooRexx program).
---
Short of new ideas, is there anything I could try to shed more light on this
problem while
excercising the Java server page test?
---rony
On 19.10.2021 20:19, Rony G. Flatscher wrote:
>
> Short of anything else:
>
> * on the Linux box (it is four times slower than my current Windows laptop)
> when the crash point
> comes nearer the times between the last (appr. ten) JSP requests become
> longer and longer, as
> if the Rexx executions slow down from RexxInterpreter instance to
> RexxInterpreter instance.
> (The setup is a Java client using http requests to fetch the ooRexx-JSP
> from the Tomcat 9 and
> Tomcat 10 server. The Tomcat servers have a taglib that allows ooRexx
> scripts to be embedded
> and that get run upon each request. The test JSP has a single Rexx script
> that outputs text
> with the result of .dateTime~new, cf. the JSP file below.)
>
> * not sure whether this is relevant: .input, .output and .error get
> redirected to Rexx objects
> that forward to the Java Reader and Writers supplied by the Java
> scripting framework (.stdin,
> .stdout, .stderr remain untouched).
>
> ---rony
>
> P.S.: here the content of ooRexx_helloWorld.jsp:
>
> <%@ page session="false" pageEncoding="UTF-8" contentType="text/html;
> charset=UTF-8" %>
> <%@ taglib uri="http://rexxla.org/taglibs/jsr223" prefix="s" %>
> <!DOCTYPE html>
> <html>
> <head>
> <meta charset="UTF-8" />
> <style>
> body { background-color: ivory; }
> </style>
> <title>ooRexx_helloWorld.jsp (Title)</title>
> </head>
> <body>
> <h1>"Hello, world ..." (ooRexx)</h1>
> *<s:script type="rexx">****say '<p style="background-color:
> gold;">Hello, world, this is ooRexx speaking at:'
> .dateTime~new '</p>'****</s:script>*
>
> <hr width="75%" style="color: green;">
> <p>Done.<p>
> </body>
> </html>
>
>
> On 19.10.2021 20:07, Rony G. Flatscher wrote:
>> On 19.10.2021 19:53, Rony G. Flatscher wrote:
>>> Dear Erich,
>>>
>>> On 19.10.2021 19:19, Erich Steinböck wrote:
>>>> a shot in the dark: the newly created InterpreterInstance might get GC'ed
>>>> before being added to
>>>> the Interpreter's list of instances.
>>>>
>>>> I just committed revision 12298 which might fix that. You may want to try
>>>> it.
>>> will try it out right now, thank you very much!
>>
>> No, it did not fix the issue, it crashes at the same time (at the 168th JSP
>> request), the
>> hs_error log file:
>>
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77668ce1, pid=8012,
>> tid=0x00002c94
>> #
>> # JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build
>> 1.8.0_171-b11)
>> # Java VM: Java HotSpot(TM) Client VM (25.171-b11 mixed mode, sharing
>> windows-x86 )
>> # Problematic frame:
>> *# C [rexx.dll+0xd8ce1] SysInterpreterInstance::initialize+0x181*
>> #
>> # Failed to write core dump. Minidumps are not enabled by default on
>> client versions of Windows
>> #
>> # If you would like to submit a bug report, please visit:
>> # http://bugreport.java.com/bugreport/crash.jsp
>> # The crash happened outside the Java Virtual Machine in native code.
>> # See problematic frame for where to report the bug.
>> #
>>
>> --------------- T H R E A D ---------------
>>
>> Current thread (0x16b96400): JavaThread "http-nio-42857-exec-7" daemon
>> [_thread_in_native, id=11412, stack(0x18e60000,0x18ed0000)]
>>
>> siginfo: ExceptionCode=0xc0000005, reading address 0x00000000
>>
>> Registers:
>> EAX=0x75cd0360, EBX=0x1d3e08d4, ECX=0x89786e6f, EDX=0x00000000
>> ESP=0x18ecddd0, EBP=0x75be7170, ESI=0x00000000, EDI=0x76a41700
>> EIP=0x77668ce1, EFLAGS=0x00010206
>>
>> Top of Stack: (sp=0x18ecddd0)
>> 0x18ecddd0: 00000002 00000201 776b5598 00ebbcf8
>> 0x18ecdde0: 1cfeaae8 18ecde28 1d3e08b8 1d261cb0
>> 0x18ecddf0: 00ebbcf8 1cfeaae8 915e1325 7767684a
>> 0x18ecde00: 1d3e08b8 00ebbcf8 915e10e1 00000000
>> 0x18ecde10: 1d3e08b8 00000002 1cfeaae8 18ecde5c
>> 0x18ecde20: 7769e781 ffffffff 18ecde68 77674e23
>> 0x18ecde30: 1d430808 00ebbcf8 915e10a1 00000000
>> 0x18ecde40: 776c04d8 00000000 1d430808 1d3e08b8
>>
>> Instructions: (pc=0x77668ce1)
>> 0x77668cc1: 55 6b 77 6a 08 6a f4 ff d7 50 ff 15 30 e7 6e 77
>> 0x77668cd1: 83 c4 08 50 ff 15 4c e6 6e 77 6a 02 8b f0 ff d5
>> 0x77668ce1: 8b 0e 83 c4 0c 89 08 6a 01 68 16 27 59 77 ff 15
>> 0x77668cf1: 74 e1 6e 77 8b 44 24 24 6a 01 89 03 ff 15 6c e1
>>
>>
>> Register to memory mapping:
>>
>> EAX=0x75cd0360 is an unknown value
>> EBX=0x1d3e08d4 is an unknown value
>> ECX=0x89786e6f is an unknown value
>> EDX=0x00000000 is an unknown value
>> ESP=0x18ecddd0 is pointing into the stack for thread: 0x16b96400
>> EBP=0x75be7170 is an unknown value
>> ESI=0x00000000 is an unknown value
>> EDI=0x76a41700 is an unknown value
>>
>>
>> Stack: [0x18e60000,0x18ed0000], sp=0x18ecddd0, free space=439k
>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
>> C=native code)
>> *C [rexx.dll+0xd8ce1] SysInterpreterInstance::initialize+0x181*
>>
>> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
>> j
>> org.rexxla.bsf.engines.rexx.RexxAndJava.jniRexxCreateInterpreterInstance([Ljava/lang/Object;)Ljava/lang/String;+0
>> j
>> org.rexxla.bsf.engines.rexx.RexxAndJava.createRexxInterpreterInstance(Lorg/rexxla/bsf/engines/rexx/RexxConfiguration;)Ljava/lang/String;+60
>> j
>> org.rexxla.bsf.engines.rexx.RexxEngine.apply(Ljava/lang/String;IILjava/lang/Object;Ljava/util/Vector;Ljava/util/Vector;)Ljava/lang/Object;+56
>> j
>> org.rexxla.bsf.engines.rexx.jsr223.RexxScriptEngine.updateRexxEngine(Ljavax/script/ScriptContext;)V+40
>> j
>> org.rexxla.bsf.engines.rexx.jsr223.RexxScriptEngine.compile(Ljava/lang/String;Ljava/lang/String;)Ljavax/script/CompiledScript;+805
>> j
>> org.rexxla.bsf.engines.rexx.jsr223.RexxScriptEngine.eval(Ljava/lang/String;Ljavax/script/ScriptContext;)Ljava/lang/Object;+195
>> J 10654 C1
>> javax.script.AbstractScriptEngine.eval(Ljava/lang/String;)Ljava/lang/Object;
>> (10 bytes) @ 0x01ee7d3c [0x01ee7d10+0x2c]
>> J 10207 C1 org.rexxla.taglibs.jsr223.BaseImpl.doEndTag()I (7572 bytes) @
>> 0x028289ac [0x0281a530+0xe47c]
>> j
>> org.apache.jsp.ooRexx_005fhelloWorld_jsp._jspx_meth_s_005fscript_005f0(Ljavax/servlet/jsp/PageContext;)Z+105
>> j
>> org.apache.jsp.ooRexx_005fhelloWorld_jsp._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+255
>> J 6664 C1
>> org.apache.jasper.runtime.HttpJspBase.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
>> (7 bytes) @ 0x023df1fc [0x023df1d0+0x2c]
>> J 6378 C1
>> javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (40 bytes) @ 0x01f8d02c [0x01f8cf80+0xac]
>> J 6654 C1
>> org.apache.jasper.servlet.JspServletWrapper.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V
>> (582 bytes) @ 0x023e5e3c [0x023e5860+0x5dc]
>> J 6653 C1
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;Z)V
>> (128 bytes) @ 0x023e7cd4 [0x023e7a80+0x254]
>> J 6661 C1
>> org.apache.jasper.servlet.JspServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
>> (357 bytes) @ 0x023e1710 [0x023e0940+0xdd0]
>> J 6378 C1
>> javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (40 bytes) @ 0x01f8d02c [0x01f8cf80+0xac]
>> J 5984 C1
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (388 bytes) @ 0x0221f928 [0x0221f790+0x198]
>> J 5983 C1
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (103 bytes) @ 0x02220ae8 [0x02220ac0+0x28]
>> J 6282 C1
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V
>> (139 bytes) @ 0x02378264 [0x02377f10+0x354]
>> J 5984 C1
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (388 bytes) @ 0x0221fa98 [0x0221f790+0x308]
>> J 5983 C1
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
>> (103 bytes) @ 0x02220ae8 [0x02220ac0+0x28]
>> J 6277 C1
>> org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (2665 bytes) @ 0x022c43a4 [0x022c30b0+0x12f4]
>> J 6273 C1
>> org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (175 bytes) @ 0x0237d49c [0x0237d120+0x37c]
>> J 6214 C1
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (873 bytes) @ 0x021ba9e4 [0x021b9940+0x10a4]
>> J 6270 C1
>> org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (396 bytes) @ 0x0237e968 [0x0237e6e0+0x288]
>> J 6269 C1
>> org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (153 bytes) @ 0x02380ca0 [0x02380c60+0x40]
>> J 6016 C1
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (72 bytes) @ 0x020b91a0 [0x020b90b0+0xf0]
>> J 6267 C1
>> org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
>> (65 bytes) @ 0x02382110 [0x02381f90+0x180]
>> J 6461 C1
>> org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V
>> (892 bytes) @ 0x022a5db8 [0x022a5880+0x538]
>> J 6015 C1
>> org.apache.coyote.http11.Http11Processor.service(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
>> (1189 bytes) @ 0x020ba34c [0x020b99f0+0x95c]
>> J 6238 C1
>> org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
>> (367 bytes) @ 0x0238ec0c [0x0238e800+0x40c]
>> J 6347 C1
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
>> (1315 bytes) @ 0x0217da90 [0x0217cda0+0xcf0]
>> J 6346 C1
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V (637 bytes)
>> @ 0x0218c928 [0x0218c690+0x298]
>> J 6459 C1 org.apache.tomcat.util.net.SocketProcessorBase.run()V (35
>> bytes) @ 0x02090928 [0x020907e0+0x148]
>> J 6487% C1
>> java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
>> (225 bytes) @ 0x023412a4 [0x023410a0+0x204]
>> j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
>> j org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
>> j java.lang.Thread.run()V+11
>> v ~StubRoutines::call_stub
>>
>> --------------- P R O C E S S ---------------
>> ... cut ...
>>
>> ---rony
>>
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel