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>&quot;Hello, world ...&quot; (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
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to