When validateObject in MemorySegment.hpp is enabled and our tests are run,
I'm seeing (only very few) invalid object size detections, and all of them
seem to be related to running rexxc - compiled code.

If the trivial Rexx program `return 99` is compiled with rexxc and the
output is run, this is the result (22 is String, 36 is Buffer).

~~~
GC detected invalid object size: type=36, bytes=172, min=48, grain=16
GC detected invalid object size: type=22, bytes=116, min=48, grain=16
GC detected invalid object size: type=-1153706960, bytes=1644, min=48,
grain=16
GC detected invalid object size: type=-1153705076, bytes=1300, min=48,
grain=16
GC detected invalid object size: type=299048656, bytes=1644, min=48,
grain=16
GC detected invalid object size: type=299048656, bytes=1300, min=48,
grain=16
~~~

Our usual suspect again - newly created objects collected too early by GC?
Are all Rexx objects 48 + k * 16 in size?
Shall we keep this check enabled in the DEBUG version of our code to make
it easier catching any of these issues?
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to