Still trying to create an example that causes the same intermittent crashes 
(but only in the context
of multiple threads and callbacks from native code into Rexx) as when employing 
JavaFX via BSF4ooRexx.

A few minutes ago I experienced a crash in the context of AttachThread. As it 
might be interesting
to learn about it for those in the know, I report it here.

The context of this crash is a multithreaded Rexx program that creates threads 
with reply calls into
Java which in five different threads creates Java exceptions. These Java 
exceptions are o.k., as the
Rexx program tries to update the JavaFX GUI in the wrong thread. Nevertheless 
the Rexx program
proceeds and a couple of more times Rexx threads and calls into JavaFX on the 
wrong thread as a result.

---

This is a crash while doing an AttachThread:

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x55799049, pid=7004, 
tid=0x000019e0
    #
    # JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 
1.8.0_131-b11)
    # Java VM: Java HotSpot(TM) Client VM (25.131-b11 mixed mode windows-x86 )
    # Problematic frame:
    # C  [rexx.dll+0xb9049]  NativeActivation::findRexxContext+0x39
    #
    # 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 (0x1d135800):  JavaThread "Thread-162" [_thread_in_native, 
id=6624, stack(0x1c450000,0x1c4d0000)]

    siginfo: ExceptionCode=0xc0000005, reading address 0x444145f0

    Registers:
    EAX=0x44414548, EBX=0x1504ea20, ECX=0x7e583230, EDX=0x7dba5178
    ESP=0x1c4ce708, EBP=0x1c4ce710, ESI=0x1c4ce708, EDI=0x1d135800
    EIP=0x55799049, EFLAGS=0x00010206

    Top of Stack: (sp=0x1c4ce708)
    0x1c4ce708:   1c4ce718 7dba5178 1c4ce720 557caee8
    0x1c4ce718:   1504ea20 7e56bc40 1c4ce730 557cb02c
    0x1c4ce728:   7dba5178 7e56bc40 1c4ce73c 557cd825
    0x1c4ce738:   7e56bc40 1c4ce76c 55822bc8 d1efdd37
    0x1c4ce748:   cccccccc cccccccc cccccccc cccccccc
    0x1c4ce758:   7e56bc40 7de768e0 1c4cebfc 55907c32
    0x1c4ce768:   ffffffff 1c4ce77c 55822c7f cccccccc
    0x1c4ce778:   7de768e0 1c4ce79c 55762562 1c4ce844 

    Instructions: (pc=0x55799049)
    0x55799029:   4d fc 8b 41 2c eb 2c 8b 55 fc 83 7a 10 00 74 21
    0x55799039:   8b 45 fc 8b 48 10 8b 55 fc 8b 01 8b f4 8b 4a 10
    0x55799049:   8b 90 a8 00 00 00 ff d2 3b f4 e8 4a bf f4 ff eb
    0x55799059:   02 33 c0 5e 83 c4 04 3b ec e8 3b bf f4 ff 8b e5 


    Register to memory mapping:

    EAX=0x44414548 is an unknown value
    EBX={method} {0x1504ea24} 'jniRexxSendMessageToRexxObject' 
'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;'
 in 'org/rexxla/bsf/engines/rexx/RexxAndJava'
    ECX=0x7e583230 is an unknown value
    EDX=0x7dba5178 is an unknown value
    ESP=0x1c4ce708 is pointing into the stack for thread: 0x1d135800
    EBP=0x1c4ce710 is pointing into the stack for thread: 0x1d135800
    ESI=0x1c4ce708 is pointing into the stack for thread: 0x1d135800
    EDI=0x1d135800 is a thread


    Stack: [0x1c450000,0x1c4d0000],  sp=0x1c4ce708,  free space=505k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
code)
    C [rexx.dll+0xb9049] NativeActivation::findRexxContext+0x39 C 
[rexx.dll+0xeaee8]
    Activity::updateFrameMarkers+0x38 C [rexx.dll+0xeb02c] 
Activity::createNewActivationStack+0x5c C
    [rexx.dll+0xed825] Activity::nestAttach+0x25 C [rexx.dll+0x142bc8]
    InterpreterInstance::attachThread+0x58 C [rexx.dll+0x142c7f]
    InterpreterInstance::attachThread+0x1f C [rexx.dll+0x82562] 
AttachThread+0x32
    C [BSF4ooRexx.DLL+0x13b69] RexxInstance_::AttachThread+0x19
    C  [BSF4ooRexx.DLL+0x985d]  
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject+0xed
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.jniRexxSendMessageToRexxObject(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+0
    j  
org.rexxla.bsf.engines.rexx.RexxEngine.call(Lorg/rexxla/bsf/engines/rexx/RexxProxy;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+589
    j  
org.rexxla.bsf.engines.rexx.RexxProxy.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+125
    j  RexxTask.updateProgress(DD)V+59
    j  
sun.reflect.GeneratedMethodAccessor6.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+310
    j  
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
    j  
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+3
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.javaCallBSF([Ljava/lang/String;)Ljava/lang/String;+5859
    v  ~StubRoutines::call_stub
    V  [jvm.DLL+0x15af45]
    V  [jvm.DLL+0x2213ae]
    V  [jvm.DLL+0x15afde]
    V  [jvm.DLL+0xdcdcb]
    V  [jvm.DLL+0xde7bc]
    C  [BSF4ooRexx.DLL+0x13d0e]  JNIEnv_::CallObjectMethod+0x2e
    C  [BSF4ooRexx.DLL+0x104f0]  BSF_impl+0x2b0
    C  [BSF4ooRexx.DLL+0x106cf]  BSF+0x1f
    C  [rexx.dll+0xbc43a]  NativeActivation::callNativeRoutine+0x17a
    C  [rexx.dll+0xbfbb7]  NativeRoutine::call+0x77
    C  [rexx.dll+0x5a96f]  RoutineClass::call+0x3f
    C  [rexx.dll+0xe12a9]  PackageManager::callNativeRoutine+0x69
    C  [rexx.dll+0x135f35]  SystemInterpreter::invokeExternalFunction+0x45
    C  [rexx.dll+0xaafe6]  RexxActivation::externalCall+0x146
    C  [rexx.dll+0xfbb4b]  RexxExpressionFunction::evaluate+0x12b
    C  [rexx.dll+0x101014]  RexxInstructionAssignment::execute+0xb4
    C  [rexx.dll+0xa903e]  RexxActivation::run+0x39e
    C  [rexx.dll+0xaa39d]  RexxActivation::interpret+0xdd
    C  [rexx.dll+0x10d48e]  RexxInstructionInterpret::execute+0x4e
    C  [rexx.dll+0xa903e]  RexxActivation::run+0x39e
    C  [rexx.dll+0xb65c8]  RexxCode::run+0x58
    C  [rexx.dll+0x36ec3]  MethodClass::run+0x43
    C  [rexx.dll+0x4b3aa]  RexxObject::processUnknown+0xca
    C  [rexx.dll+0x4c530]  RexxObject::messageSend+0xf0
    C  [rexx.dll+0xfc9ec]  ExpressionStack::send+0x3c
    C  [rexx.dll+0x10e0d6]  RexxInstructionMessage::execute+0x136
    C  [rexx.dll+0xa903e]  RexxActivation::run+0x39e
    C  [rexx.dll+0xb65c8]  RexxCode::run+0x58
    C  [rexx.dll+0x36ec3]  MethodClass::run+0x43
    C  [rexx.dll+0x4c50c]  RexxObject::messageSend+0xcc
    C  [rexx.dll+0x4c8b0]  RexxObject::sendMessage+0x30
    C  [rexx.dll+0x8460e]  SendMessageArray+0x8e
    C  [BSF4ooRexx.DLL+0x15482]  RexxThreadContext_::SendMessageA+0x22
    C  [BSF4ooRexx.DLL+0x9b73]  
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject+0x403
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.jniRexxSendMessageToRexxObject(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+0
    j  
org.rexxla.bsf.engines.rexx.RexxEngine.call(Lorg/rexxla/bsf/engines/rexx/RexxProxy;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+589
    j  
org.rexxla.bsf.engines.rexx.RexxProxy.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+125
    j  RexxTask.call()Ljava/lang/Object;+32
    j  javafx.concurrent.Task$TaskCallable.call()Ljava/lang/Object;+26
    j  java.util.concurrent.FutureTask.run()V+42
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    V  [jvm.DLL+0x15af45]
    V  [jvm.DLL+0x2213ae]
    V  [jvm.DLL+0x15afde]
    V  [jvm.DLL+0x15b166]
    V  [jvm.DLL+0x15b1d7]
    V  [jvm.DLL+0xff36f]
    V  [jvm.DLL+0x17dc30]
    V  [jvm.DLL+0x17e4aa]
    V  [jvm.DLL+0x1c2ec6]
    C  [MSVCR100.dll+0x5c556]
    C  [MSVCR100.dll+0x5c600]
    C  [kernel32.dll+0x1336a]
    C  [ntdll.dll+0x39902]
    C  [ntdll.dll+0x398d5]
    C  0x00000000

    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.jniRexxSendMessageToRexxObject(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+0
    j  
org.rexxla.bsf.engines.rexx.RexxEngine.call(Lorg/rexxla/bsf/engines/rexx/RexxProxy;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+589
    j  
org.rexxla.bsf.engines.rexx.RexxProxy.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+125
    j  RexxTask.updateProgress(DD)V+59
    j  
sun.reflect.GeneratedMethodAccessor6.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+310
    j  
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
    j  
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+3
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.javaCallBSF([Ljava/lang/String;)Ljava/lang/String;+5859
    v  ~StubRoutines::call_stub
    j  
org.rexxla.bsf.engines.rexx.RexxAndJava.jniRexxSendMessageToRexxObject(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+0
    j  
org.rexxla.bsf.engines.rexx.RexxEngine.call(Lorg/rexxla/bsf/engines/rexx/RexxProxy;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+589
    j  
org.rexxla.bsf.engines.rexx.RexxProxy.invoke(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+125
    j  RexxTask.call()Ljava/lang/Object;+32
    j  javafx.concurrent.Task$TaskCallable.call()Ljava/lang/Object;+26
    j  java.util.concurrent.FutureTask.run()V+42
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub

    ---------------  P R O C E S S  ---------------

    Java Threads: ( => current thread )
    =>0x1d135800 JavaThread "Thread-162" [_thread_in_native, id=6624, 
stack(0x1c450000,0x1c4d0000)]
      0x15fdec00 JavaThread "Prism Font Disposer" daemon [_thread_blocked, 
id=4220, stack(0x1b860000,0x1b8e0000)]
      0x15e1ac00 JavaThread "Thread-4" daemon [_thread_in_native, id=4992, 
stack(0x199b0000,0x19a30000)]
      0x15d9d400 JavaThread "JavaFX Application Thread" [_thread_in_native, 
id=7428, stack(0x17c00000,0x17c80000)]
      0x15de6400 JavaThread "Thread-3" daemon [_thread_blocked, id=2224, 
stack(0x17d20000,0x17da0000)]
      0x15da3000 JavaThread "QuantumRenderer-0" daemon [_thread_blocked, 
id=2812, stack(0x162c0000,0x16340000)]
      0x15de1800 JavaThread "JavaFX-Launcher" [_thread_blocked, id=5340, 
stack(0x15af0000,0x15b70000)]
      0x152d9000 JavaThread "Service Thread" daemon [_thread_blocked, id=8080, 
stack(0x15b80000,0x15c00000)]
      0x152b8400 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, 
id=4320, stack(0x15a60000,0x15ae0000)]
      0x152b7400 JavaThread "Attach Listener" daemon [_thread_blocked, id=1968, 
stack(0x159e0000,0x15a60000)]
      0x152a9800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, 
id=7764, stack(0x15710000,0x15790000)]
      0x152a7400 JavaThread "Finalizer" daemon [_thread_blocked, id=5440, 
stack(0x157c0000,0x15840000)]
      0x15281400 JavaThread "Reference Handler" daemon [_thread_blocked, 
id=124, stack(0x15500000,0x15580000)]
      0x010fc800 JavaThread "main" [_thread_blocked, id=3028, 
stack(0x01150000,0x01250000)]

    Other Threads:
      0x1527a800 VMThread [stack: 0x01030000,0x010b0000] [id=4612]
      0x152ec400 WatcherThread [stack: 0x158e0000,0x15960000] [id=3216]

    VM state:not at safepoint (normal execution)

    VM Mutex/Monitor currently owned by a thread: None

    Heap:
     def new generation   total 6080K, used 1939K [0x04e00000, 0x05490000, 
0x0a350000)
      eden space 5440K,  30% used [0x04e00000, 0x04fa1008, 0x05350000)
      from space 640K,  42% used [0x05350000, 0x05393f98, 0x053f0000)
      to   space 640K,   0% used [0x053f0000, 0x053f0000, 0x05490000)
     tenured generation   total 13372K, used 8021K [0x0a350000, 0x0b05f000, 
0x14e00000)
       the space 13372K,  59% used [0x0a350000, 0x0ab256b8, 0x0ab25800, 
0x0b05f000)
     Metaspace       used 11994K, capacity 12525K, committed 12544K, reserved 
12672K

    Card table byte_map: [0x00f30000,0x00fc0000] byte_map_base: 0x00f09000


    ... cut ...


    VM Arguments:
    java_command: <unknown>
    java_class_path (initial): F:\work\svn\bsf4oorexx\trunk;.;C:\Program Files 
(x86)\BSF4ooRexx\bsf4ooRexx-v600-20170405-bin.jar;C:\Program Files 
(x86)\BSF4ooRexx\jni4net.j-0.8.8.0.jar;C:\Program Files 
(x86)\BSF4ooRexx\oorexx.net.jar;.;C:\Program Files (x86)\OpenOffice 
4\program\;C:\Program Files (x86)\OpenOffice 
4\program\classes\unoil.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\ridl.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\jurt.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\juh.jar
    Launcher Type: generic

    Environment Variables:
    JAVA_HOME=e:\jdk1.8.0_45
    CLASSPATH=F:\work\svn\bsf4oorexx\trunk;.;C:\Program Files 
(x86)\BSF4ooRexx\bsf4ooRexx-v600-20170405-bin.jar;C:\Program Files 
(x86)\BSF4ooRexx\jni4net.j-0.8.8.0.jar;C:\Program Files 
(x86)\BSF4ooRexx\oorexx.net.jar;.;C:\Program Files (x86)\OpenOffice 
4\program\;C:\Program Files (x86)\OpenOffice 
4\program\classes\unoil.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\ridl.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\jurt.jar;C:\Program Files (x86)\OpenOffice 
4\program\classes\juh.jar
    
PATH=e:\jdk1.8.0_45\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;e:\rony\tools;e:\cygwin\bin;e:\vslick\win;C:\ProgramData\Oracle\Java\javapath;C:\Program
 Files (x86)\PuTTY\;C:\Program Files (x86)\Common Files\Roxio 
Shared\DLLShared\;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program 
Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows 
Performance Toolkit\;C:\Program Files\TortoiseGit\bin;C:\Program 
Files\TortoiseSVN\bin;C:\Program Files (x86)\CMake\bin;C:\Program Files 
(x86)\Intel\iCLS Client\;C:\Program Files (x86)\ooRexx;C:\Program Files 
(x86)\BSF4ooRexx;C:\Program Files (x86)\Java\jre1.8.0_131\bin\client;C:\Program 
Files (x86)\OpenOffice 4\program;C:\Program Files\Intel\WiFi\bin\;C:\Program 
Files\Common 
Files\Intel\WirelessCommon\;e:\jdk1.8.0_45\jre\bin\client;F:\work\svn\bsf4oorexx\trunk
    USERNAME=Administrator
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 61 Stepping 4, GenuineIntel



    ---------------  S Y S T E M  ---------------

    OS: Windows 7 , 64 bit Build 7601 (6.1.7601.23807)

    CPU:total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 
6 model 61 stepping 4, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, 
sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, 
tscinvbit, bmi1, bmi2, adx

    Memory: 4k page, physical 12271708k(6102868k free), swap 
24541556k(19059740k free)

    vm_info: Java HotSpot(TM) Client VM (25.131-b11) for windows-x86 JRE 
(1.8.0_131-b11), built on Mar 15 2017 01:26:29 by "java_re" with MS VC++ 10.0 
(VS2010)

    time: Sun Jun 18 01:04:43 2017
    elapsed time: 8 seconds (0d 0h 0m 8s)

---rony
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to