While going thru the execution patterns that are present when this problem 
occurs the following can
be observed (seems that this must be present to get that error from time to 
time):

  * there are at least two threads active, one created by Java (the application 
thread, the JavaFX
    version of awt-thread for processing [GUI] events) where the creation of 
Java objects and
    callbacks to previously defined factory-Java-objects that are implemented 
in Rexx (e.g. when
    filling a JavaFX Table) cause a "flurry" of Rexx objects to be created in 
that JavaFX
    application thread living for a very brief time, only for the duration of a 
Rexx method that
    gets carried out,
  * the callback from Java to Rexx in the JavaFX application thread will cause 
a flurry of
    ThreadAttach() and DetachThread() before returning from Rexx to be carried 
out on the Rexx
    interpreter instance (RIIs),
  * there are a few additional RIIs created for each FXML file where JavaFX 
uses javax.script to
    create a RexxScript instances (each causing the creation of a proper RII) 
to deal with a
    FXML-defined GUI scene object causing creating Rexx objects and call-backs 
from Java to Rexx 
      o these RexxScript objects will have .input, .output, .error, .debuginput 
and .traceoutput
        redirected to Java supplied System.in, System.out, System.err objects, 
so any activity in
        these monitors will cause (possibly a flurry of) calls to Java and 
callbacks from Java

HTH,

---rony




On 12.03.2017 13:41, Rony G. Flatscher wrote:
> Has there been any success in tracking this down so far? Is there anything I 
> could/should do in
> the meantime to help solve this problem?
>
> ---rony
>
> On 22.02.2017 21:28, Rony G. Flatscher wrote:
>>
>> Is there anything I could do to provide information that could help solve 
>> this problem, or is
>> enough already known?
>>
>> ---rony
>>
>>
>> On 22.02.2017 15:48, Rony G. Flatscher wrote:
>>>
>>> On 22.02.2017 15:44, Rick McGuire wrote:
>>>>
>>>>
>>>> On Wed, Feb 22, 2017 at 9:33 AM, Rony G. Flatscher <rony.flatsc...@wu.ac.at
>>>> <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>>>
>>>>     O.K., this may be a little bit weird: I can manage to have the test 
>>>> code run without an
>>>>     exception, repeatedly!
>>>>
>>>>     Background: in the native code I have many, many output statements to 
>>>> stderr for debugging
>>>>     (tons over the years, controlled by defines) in the form of, e.g:
>>>>
>>>>         fprintf(stderr, "...\t\t\t\t\targ(%d)=[%s]\n", idx,
>>>>         rtc->CString(rtc->SendMessage0(rtc->ArrayAt(ra,idx),"STRING"))); 
>>>> fflush(stderr);
>>>>
>>>>     Changing the above output to:
>>>>
>>>>         fprintf(stderr, "...\t\t\t\t\targ(%d)=[%*.64*s]\n", idx,
>>>>         rtc->CString(rtc->SendMessage0(rtc->ArrayAt(ra,idx),"STRING"))); 
>>>> fflush(stderr);
>>>>
>>>>     makes the test code run it seems! 
>>>>
>>>> btw, thjis is also going to add two entries to the local reference table 
>>>> each time you do this.
>>>> The table could end up getting quite large if you have a long running 
>>>> call. If you're only
>>>> doing this for debug purposes, it probably doesn't matter. 
>>> Yes, it is for debugging only. ---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
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to