Well, the Rockhopper which ran the IBMZ Jenkins client is a Z12 running z/VM 6.4 running Ubuntu for Z. As soon as the electrical power prices normalize it will be switched on again - according to the owner - and we can have a look. As an alternative we can try QEMU and see what that does.

René.

On 14 Nov 2022, at 11:42, P.O. Jonsson <oor...@jonases.se> wrote:


Am 14.11.2022 um 15:41 schrieb Dave Jones <vmda...@gmail.com>:

Hello, all.
Does this problem occur when the virtual machines are hosted by a *real* hypervisor, namely z/VM? :-)

I which I had a S/390 running z/VM to play with. And a nuclear reactor to power it with...

Or is it just something that happens on VMWare?

We use Oracle VirtualBox, not VMWare but I think it is the underlying (desktop) hardware that creates the timing fuss.

MAny thanks.
DJ

On Sun, Nov 13, 2022 at 1:39 PM Mike Cowlishaw <m...@speleotrove.com> wrote:
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
_______________________________________________
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
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to