Memory in multihreaded programs should be strictly guarded. I know of a few 
debuggers that can set memory modification watches/traps, one is OS/2’s kernel 
debugger and the other is MVS’s SLIP SET trap mechanism. From what I see 
sometimes the register save area is clobbered (assuming you are linking 
correctly) and you could set a memory modification trap on the register save 
areas on the stack. Or use any kind of dump service to dump all stacks and 
investigate the ones of the errant processes. One more thought: if Rexx has a 
concurrency lock, what would be the point of traversing Rexx code in more than 
one thread? Wouldn’t it be beneficial to make sure your Java component only 
calls Rexx sequentially, so you can clean up everything between invocations?

I did not read the whole thread very well, but does this also occur on Linux 
and macOS?

best regards,

René.



> On 7 Aug 2017, at 16:55, Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote:
> 
> One hint: after installing BSF4ooRexx one can use the menu "BSF4ooRexx -> 
> Samples" to get an explorer window. Then changing into "JavaFX" and loading 
> "index.html" will explain how to run those JavaFX nutshell examples. You will 
> see why I think it is so important to get the JavaFX support stable by 
> finding the root cause.
> 
> ---rony
> 
> On 07.08.2017 16:31, Rony G. Flatscher wrote:
>> Dear Moritz:
>> On 07.08.2017 15:02, Moritz Hoffmann wrote:
>>> without going into too much detail I would say it's hard to track down the 
>>> root cause just from the stack traces. It still looks like a memory 
>>> corruption issue that you're facing, especially because it's not a 
>>> deterministic failure.
>> Yes, it definitely looks like it! 
>> :(
>> 
>>> I don't see why you want to call into Rexx from different Java threads. 
>>> Rexx has a global interpreter lock so you won't benefit from parallelism 
>>> unless you have fully independent Rexx instances.
>> The reason is simple: when employing a Java GUI, then it should be possible 
>> to write event handlers in Rexx and to interact with the GUI objects from 
>> Rexx. 
>> 
>> If an event is fired by Java, it will be fired on the GUI thread such that 
>> the Rexx code is able to directly interact with the GUI objects.
>> 
>> If a Rexx programmer needs to interact with GUI objects from a non-GUI 
>> thread, then this would hang the GUI. Rather, one needs to make sure that 
>> the Rexx interaction gets carried out on the GUI thread sometimes later. 
>> This is 
------------------------------------------------------------------------------
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