OK, thanks!
_____ From: Rick McGuire [mailto:object.r...@gmail.com] Sent: 13 November 2022 11:13 To: Open Object Rexx Developer Mailing List Subject: Re: [Oorexx-devel] Jenkins On Sun, Nov 13, 2022 at 5:57 AM Mike Cowlishaw <m...@speleotrove.com> wrote: I'm not familiar with internals of ooRexx, but reading this: I tried to "tune" Virtualbox to get rid of the timing error problems but every attempt actually made things worse, with more than half of the timing tests failing. I have reset Virtualbox to default values now. What *DID* help on the other hand was to deprive the VMs of resources. Changing from 2 cores/4 GB memory to 1 core/ 2 GB memory made all *nixes pass all tests, so it looks like the problem were related to Virtualbox rather than to ooRexx. Only exception are the BSDs, that are still a bit problematic to test. But all platforms (Win macOS Linux Unix) build without error now. makes me wonder a bit: by reducing to one core then anything multithreaded is forced to run on a single thread which makes race conditions much less likely than when on multicore where multiple threads can run simultaneously. ooRexx is not truly multithreaded. Only one thread at a time is allowed to run Rexx code at a time, with a cooperative internal dispatch mechanism. Only threads running external code (e.g., calls to native libraries or running commands) truly run concurrently. Multiple cores might affect the timing of which thread happens to get permission to run next, but which thread gets permission has always been unpredictable. Which means that there can be no unexpected time glitches between threads since they run consecutively on one core. And that ooRexx handles any such race conditions GREAT. This shows IMO how robust ooRexx 5 has become. Gold standard ;-) Right, but in the real world it will be running on multicore machines... The failing test cases run just fine on multicore machines, they only seem to fail in multicore virtual machines. Also, the failures don't really appear to be race conditions, but rather checks in timer values that are falling outside expected ranges. There's something funny going on with the clocks in the virtual machines in those situations. Mike _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel