Maybe an interesting observation: while (finally) tidying up and refactoring 
BSF4ooRexx.cc  I
started to add a few INFO-frpintf outputs in those calls that usually are the 
root of the crashes,
like in "_jniRexxSendMessageToRexxObject", which is being called from Java 
(JNIEXPORT) and in which
thread a Rexx AttachThread() will occur.

Using the JavaFX test application with the link supplied in "Seeking help for 
fixing" thread
(<https://www.dropbox.com/sh/xjnzwm6r0qnugzc/AACN67fJc4CZ2NOYxNaSiewFa?dl=0>) 
all of a sudden the
program ran through repeatedly in Windows, whereas before most of the time the 
reported crash occurred.

Experimenting around I finally found out, that if I relinquish control of the 
thread *before* doing
a Rexx AttachThread(), then the program ran through!

Removing the Windows "Sleep(10)" call will re-instate the crashes (trying to 
have the thread sleep
only one millisecond improved the stability, but crashes still occur rather 
frequently).

---

In this case the call from Java is defined in C++ as (full signature see for 
attached include file):

    JNIEXPORT jobject JNICALL
    
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject(...args...)

On Windows the current compile and link statements for BSF4ooRexx.cc look like 
this:

    cl /nologo /EHsc /Zi /Od /Gr /MTd /W3 /D_CRT_SECURE_NO_DEPRECATE 
/D_CRT_NONSTDC_NO_DEPRECATE
    -DWINDOWS -DBSF4REXX_32_BIT /c /Fotmp\BSF4ooRexx-32-x86.obj BSF4ooRexx.cc 
link /nologo /DEBUG
    -debugtype:cv /SUBSYSTEM:Windows rexx.lib rexxapi.lib 
/def:BSF4ooRexx-32.def /DLL
    tmp\BSF4ooRexx-32-x86.obj -out:tmp\BSF4ooRexx.dll-32-x86

Any idea what is happening here?

Any suggestions/advice what I could do to help trace this down?

---rony



On 25.07.2017 14:59, Rony G. Flatscher wrote:
>
> Not getting any feedback on the filed ooRexx-only crashes so far, I assume 
> that their cause has
> not been found yet in ooRexx.
>
> ---
>
> As I encountered a so far unseen stack-trace in a BSF4ooRexx (a JavaFX-Rexx) 
> application, I post
> that stack trace here in the hope that it may be anohter mosaic stone to help 
> find the cause:
>
>     ... cut ...
>
>     Current thread (0x15be5000):  JavaThread "*JavaFX Application Thread*" 
> [_thread_in_native, id=2016, stack(0x17f30000,0x17fb0000)]
>
>     siginfo: ExceptionCode=0xc0000005, writing address 0x0000000c
>
>     ... cut ....
>
>     Stack: [0x17f30000,0x17fb0000],  sp=0x17fae634,  free space=505k
>     Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
>     C  [rexx.dll+0xc62d9] *DeadObject::remove*+0x29
>     C  [rexx.dll+0xce76e]  DeadObjectPool::findFit+0x6e
>     C  [rexx.dll+0xce32f]  NormalSegmentSet::allocateObject+0xff
>     C  [rexx.dll+0xdae13]  MemoryObject::newObject+0x63
>     C  [rexx.dll+0x23e95]  new_object+0x15
>     C  [rexx.dll+0x65978]  RexxString::rawString+0x28
>     C  [rexx.dll+0x31f5c]  raw_string+0xc
>     C  [rexx.dll+0x64445]  RexxString::concatBlank+0x65
>     C  [rexx.dll+0x4dc06]  RexxObject::callOperatorMethod+0x36
>     C  [rexx.dll+0xfd0cc]  RexxBinaryOperator::evaluate+0x7c
>     C  [rexx.dll+0xfd088]  RexxBinaryOperator::evaluate+0x38
>     C  [rexx.dll+0xfd088]  RexxBinaryOperator::evaluate+0x38
>     C  [rexx.dll+0x101264]  RexxInstructionAssignment::execute+0xb4
>     C  [rexx.dll+0xa921e]  RexxActivation::run+0x39e
>     C  [rexx.dll+0xb67a8]  RexxCode::run+0x58
>     C  [rexx.dll+0x370a3]  MethodClass::run+0x43
>     C  [rexx.dll+0x4b58a]  RexxObject::processUnknown+0xca
>     C  [rexx.dll+0x4c710]  RexxObject::messageSend+0xf0
>     C  [rexx.dll+0xfcc3c]  ExpressionStack::send+0x3c
>     C  [rexx.dll+0xfc5c9]  RexxExpressionMessage::evaluate+0x119
>     C  [rexx.dll+0x1128be]  RexxInstruction::evaluateArguments+0x5e
>     C  [rexx.dll+0xfbcdf]  RexxExpressionFunction::evaluate+0x6f
>     C  [rexx.dll+0xfd0af]  RexxBinaryOperator::evaluate+0x5f
>     C  [rexx.dll+0x112b25]  
> RexxInstructionExpression::evaluateStringExpression+0x45
>     C  [rexx.dll+0x112d6a]  RexxInstructionSay::execute+0x2a
>     C  [rexx.dll+0xa921e]  RexxActivation::run+0x39e
>     C  [rexx.dll+0xb67a8]  RexxCode::run+0x58
>     C  [rexx.dll+0x370a3]  MethodClass::run+0x43
>     C  [rexx.dll+0x4c6ec]  RexxObject::messageSend+0xcc
>     C  [rexx.dll+0x4ca90]  RexxObject::sendMessage+0x30
>     C  [rexx.dll+0x847ee]  SendMessageArray+0x8e
>     C  [BSF4ooRexx.DLL+0x8da3]
>
>     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
>     ... cut ...
>
> So far I have not found a cause in my BSF4ooRexx code, even after walking 
> through the different
> executions paths multiple times, which leads me to believe that the cause is 
> in ooRexx (it seems
> that there is always a non-Rexx created thread playing a role - like the 
> JavaFX GUI-thread from
> above - and maybe Rexx uninits running in parallel).
>
> ---rony
>
> On 26.06.2017 20:34, Rony G. Flatscher wrote:
>>
>> Since February I have been experiencing crashes in ooRexx 5.0 beta. Some 
>> reasons were found and
>> fixed so far.
>>
>> Unfortunately, other crashes have not been fixed, supposedly because one 
>> would have needed to
>> analyze the crashes using BSF4ooRexx where these crashes can be observed and 
>> it could not be
>> ruled out 100% that there might be an error in BSF4ooRexx that may cause 
>> these crashes.
>>
>> So in the past months I have been investing (literally!) every free minute 
>> (including my
>> weekends) to come up with test cases that would be able to evoke these 
>> crashes without
>> BSF4ooRexx, such that they can be analyzed and eventually, after learning 
>> about the cause,
>> hopefully fixed.
>>
>> Such test cases are:
>>
>>   * 2017-05-16: "Crash while executing createStackFrame()":
>>     <https://sourceforge.net/p/oorexx/bugs/1449/>
>>   * 2017-05-17: "Performance drops suddenly (once even a crash) ":
>>     <https://sourceforge.net/p/oorexx/bugs/1450/>
>>   * 2017-06-19: "Test case causing crashes, giving different stack traces":
>>     <https://sourceforge.net/p/oorexx/bugs/1459/>
>>
>> Today I concluded my work by reporting and supplying four more test cases 
>> that might help to put
>> full light on the problem:
>>
>>   * 2017-06-26: "Crash in "MemoryObject::markObjectsMain" et.al.":
>>     <https://sourceforge.net/p/oorexx/bugs/1461/>
>>   * 2017-06-26: "Memory leak when creating many Rexx interpreter instances":
>>     <https://sourceforge.net/p/oorexx/bugs/1462/>
>>   * 2017-06-26: "Using multiple Rexx interpreter instances causing crashes ":
>>     <https://sourceforge.net/p/oorexx/bugs/1463/>
>>   * 2017-06-26: "Further crashes with a slightly changed abc.cls": 
>>     <https://sourceforge.net/p/oorexx/bugs/1464/>
>>
>> Alle test cases include all necessary files and brief explanations in 
>> "readme.txt". Also, they
>> include the stacktraces and the output up to the crash as sometimes 
>> (depending on the test) the
>> crashes do not occur regularly, but intermittently. This way looking at thes 
>> stacktraces
>> hopefully eases analysis of what happens where.
>>
>> There is no BSF4ooRexx in the picture, though the c++ external Rexx function 
>> library uses two
>> functions that play an important role in the observed crashes and 
>> potentially may be needed to
>> re-create the crashes outside of BSF4ooRexx. All can be analyzed, hopefully 
>> quite easily and
>> therefore fast.
>>
>> If there are any questions or if there is anything else I can do to help 
>> track this down, please
>> let me know.
>>
>> ---rony

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_rexxla_bsf_engines_rexx_RexxAndJava */

#ifndef _Included_org_rexxla_bsf_engines_rexx_RexxAndJava
#define _Included_org_rexxla_bsf_engines_rexx_RexxAndJava
#ifdef __cplusplus
extern "C" {
#endif
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ADD_EVENT_LISTENER
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ADD_EVENT_LISTENER 1L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_AT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_AT 2L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_LENGTH
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_LENGTH 3L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_PUT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_PUT 4L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_PUT_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ARRAY_PUT_STRICT 5L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_CREATE_ARRAY_OBJECT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_CREATE_ARRAY_OBJECT 6L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_EXIT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_EXIT 7L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE 8L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_STRICT 9L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_PROPERTY_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_PROPERTY_VALUE 10L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE 11L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_STRICT 12L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_VERSION
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_VERSION 13L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE 14L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_STRICT 15L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_LOOKUP_BEAN
#define org_rexxla_bsf_engines_rexx_RexxAndJava_LOOKUP_BEAN 16L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_POLL_EVENT_TEXT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_POLL_EVENT_TEXT 17L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_POST_EVENT_TEXT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_POST_EVENT_TEXT 18L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_REGISTER_BEAN
#define org_rexxla_bsf_engines_rexx_RexxAndJava_REGISTER_BEAN 19L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_NEW
#define org_rexxla_bsf_engines_rexx_RexxAndJava_NEW 19L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_REGISTER_BEAN_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_REGISTER_BEAN_STRICT 20L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_NEW_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_NEW_STRICT 20L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SET_FIELD_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SET_FIELD_VALUE 21L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SET_FIELD_VALUE_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SET_FIELD_VALUE_STRICT 22L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SET_PROPERTY_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SET_PROPERTY_VALUE 23L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SET_PROPERTY_VALUE_STRICT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SET_PROPERTY_VALUE_STRICT 24L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SET_REXX_NULL_STRING
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SET_REXX_NULL_STRING 25L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_SLEEP
#define org_rexxla_bsf_engines_rexx_RexxAndJava_SLEEP 26L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_UNREGISTER_BEAN
#define org_rexxla_bsf_engines_rexx_RexxAndJava_UNREGISTER_BEAN 27L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_WRAP_ARRAY_OBJECT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_WRAP_ARRAY_OBJECT 28L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_WRAP_ENUMERATION_OBJECT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_WRAP_ENUMERATION_OBJECT 29L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_LOAD_CLASS
#define org_rexxla_bsf_engines_rexx_RexxAndJava_LOAD_CLASS 30L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_BSF_MANAGER
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_BSF_MANAGER 32L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_BSF_PREFIX_RETURN_VALUE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_BSF_PREFIX_RETURN_VALUE 33L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_RAW_REGISTER_BEAN
#define org_rexxla_bsf_engines_rexx_RexxAndJava_RAW_REGISTER_BEAN 34L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_REXX_HALT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_REXX_HALT 35L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_CREATE_ARRAY_OBJECT_OF
#define org_rexxla_bsf_engines_rexx_RexxAndJava_CREATE_ARRAY_OBJECT_OF 36L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_REXX_AND_JAVA
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_REXX_AND_JAVA 37L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_REXX_ENGINE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_REXX_ENGINE 38L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_KUDOS
#define org_rexxla_bsf_engines_rexx_RexxAndJava_KUDOS 39L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_IS_INSTANCE
#define org_rexxla_bsf_engines_rexx_RexxAndJava_IS_INSTANCE 40L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_CARRY_OUT_SYSTEM_EXIT
#define org_rexxla_bsf_engines_rexx_RexxAndJava_CARRY_OUT_SYSTEM_EXIT 41L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ENV_GET
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ENV_GET 42L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_ENV_SET
#define org_rexxla_bsf_engines_rexx_RexxAndJava_ENV_SET 43L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_JSO 44L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_STRICT_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_INVOKE_STRICT_JSO 45L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_JSO 46L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_STRICT_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_FIELD_VALUE_STRICT_JSO 47L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_PROPERTY_VALUE_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_PROPERTY_VALUE_JSO 48L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_JSO 49L
#undef org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_STRICT_JSO
#define org_rexxla_bsf_engines_rexx_RexxAndJava_GET_STATIC_VALUE_STRICT_JSO 50L
/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniSetupNativeJVMPointer
 * Signature: ()V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniSetupNativeJVMPointer
  (JNIEnv *, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxWaitForTermination
 * Signature: ()I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxWaitForTermination
  (JNIEnv *, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxDidRexxTerminate
 * Signature: ()I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxDidRexxTerminate
  (JNIEnv *, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxGetTID
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxGetTID
  (JNIEnv *, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxSetHalt
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSetHalt
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxCreateInterpreterInstance
 * Signature: ([Ljava/lang/Object;)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxCreateInterpreterInstance
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetRexxInterpreterInstanceRoot
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetRexxInterpreterInstanceRoot
  (JNIEnv *, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxRunProgram
 * Signature: 
(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxRunProgram
  (JNIEnv *, jobject, jstring, jint, jstring, jstring, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxSendMessageToRexxObject
 * Signature: 
(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;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject
  (JNIEnv *, jobject, jstring, jstring, jstring, jstring, jstring, jstring, 
jstring, jobjectArray, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniUnregisterRexxObject
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniUnregisterRexxObject
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxHaltInterpreterInstance
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxHaltInterpreterInstance
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRexxTerminateInterpreterInstance
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxTerminateInterpreterInstance
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRaiseCondition
 * Signature: 
([Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Object;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRaiseCondition
  (JNIEnv *, jobject, jobjectArray, jstring, jstring, jobjectArray, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRaiseException
 * Signature: ([Ljava/lang/Object;J[Ljava/lang/Object;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRaiseException
  (JNIEnv *, jobject, jobjectArray, jlong, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRaiseException0
 * Signature: ([Ljava/lang/Object;J)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRaiseException0
  (JNIEnv *, jobject, jobjectArray, jlong);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRaiseException1
 * Signature: ([Ljava/lang/Object;JLjava/lang/String;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRaiseException1
  (JNIEnv *, jobject, jobjectArray, jlong, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniRaiseException2
 * Signature: ([Ljava/lang/Object;JLjava/lang/String;Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRaiseException2
  (JNIEnv *, jobject, jobjectArray, jlong, jstring, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetContextVariable
 * Signature: ([Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetContextVariable
  (JNIEnv *, jobject, jobjectArray, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniSetContextVariable
 * Signature: ([Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniSetContextVariable
  (JNIEnv *, jobject, jobjectArray, jstring, jobject);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniCheckCondition
 * Signature: ([Ljava/lang/Object;)Z
 */
JNIEXPORT jboolean JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniCheckCondition
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniClearCondition
 * Signature: ([Ljava/lang/Object;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniClearCondition
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetConditionInfo
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetConditionInfo
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniSetThreadTrace
 * Signature: ([Ljava/lang/Object;Z)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniSetThreadTrace
  (JNIEnv *, jobject, jobjectArray, jboolean);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniHaltThread
 * Signature: ([Ljava/lang/Object;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniHaltThread
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniDropContextVariable
 * Signature: ([Ljava/lang/Object;Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniDropContextVariable
  (JNIEnv *, jobject, jobjectArray, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniSetContextVariableToNil
 * Signature: ([Ljava/lang/Object;Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniSetContextVariableToNil
  (JNIEnv *, jobject, jobjectArray, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetCallerContext
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetCallerContext
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetAllContextVariables
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetAllContextVariables
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetLocalEnvironment
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetLocalEnvironment
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetGlobalEnvironment
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetGlobalEnvironment
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniNil
 * Signature: ([Ljava/lang/Object;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniNil
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniInterpreterVersion
 * Signature: ([Ljava/lang/Object;)J
 */
JNIEXPORT jlong JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniInterpreterVersion
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniLanguageLevel
 * Signature: ([Ljava/lang/Object;)J
 */
JNIEXPORT jlong JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniLanguageLevel
  (JNIEnv *, jobject, jobjectArray);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniProcEnvironment
 * Signature: (ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniProcEnvironment
  (JNIEnv *, jobject, jint, jstring, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetLocalEnvironment0
 * Signature: (Ljava/lang/String;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetLocalEnvironment0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniGetGlobalEnvironment0
 * Signature: (Ljava/lang/String;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniGetGlobalEnvironment0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniNil0
 * Signature: (Ljava/lang/String;)Ljava/lang/Object;
 */
JNIEXPORT jobject JNICALL Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniNil0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniInterpreterVersion0
 * Signature: (Ljava/lang/String;)J
 */
JNIEXPORT jlong JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniInterpreterVersion0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniLanguageLevel0
 * Signature: (Ljava/lang/String;)J
 */
JNIEXPORT jlong JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniLanguageLevel0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_rexxla_bsf_engines_rexx_RexxAndJava
 * Method:    jniInitialize4Rexx
 * Signature: ()I
 */
JNIEXPORT jint JNICALL 
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniInitialize4Rexx
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
------------------------------------------------------------------------------
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
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to