Since the end of last December I have been working on a new "reflection core" 
for BSF4ooRexx on the
Java side in every free minute (including evenings and weekends). The reason 
being that with Java 9
some internals in the reflection area got changed and issue warnings, and it is 
announced that with
future versions of Java these warnings will be changed to errors.

As I would like to support a Java baseline of 1.6/6 the new reflection logic 
has to work also on
Java 1.6/6, 1.7/7 and 1.8 in addtion to Java 9. So whenever there are 
fundamental changes in the
experimental code I test them against all these versions on the same machine 
using ooRexx 5.0 beta
without rebooting. Needless to say there may be bugs that show up after such a 
change. In order to
be sure that the new functionality is on par with the current functionality I 
regularly employ test
unit runs taking advantage of the latest ooRexx test unit framework 

The observation and reason why I post this on the ooRexx developer list is the 
following: from time
to time there have been quite surprising problems that have shown up. In a 
couple of instances I
literally traced down for weeks (!) all kind of execution threads of the 
library and the BSF4ooRexx
infrastructure to understand what is happening. Well, yesterday, in despair, I 
killed rxapi and
re-ran the test suit and surprisingly, the unexplainable, erratic surfacing 
errors went away! One
such error was for instance that turning a Java null into an ooRexx .nil by 
sending an object proxy
string to Rexx indicating the object named ".NIL" causing a replacement with 
.nil ("The NIL object")
all of a sudden would assign the string value of the environment symbol .NIL 
instead (if res=".NIL"
then res=.nil) ! After killing rxapi and re-running the test suit everything 
worked as it should,
the unexplainable errors went away!

So it seems that there is state in rxapi that can affect a newly created Rexx 
interpreter. In my
complex test environment it seems that when errors occur over time eventually 
rxapi seems to be
affected and in turn newly started Rexx interpreters may get affected as well!

In case others experience such a phenomenon killing rxapi may save you a lot of 


Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Oorexx-devel mailing list

Reply via email to