www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24239] New: dlang.org tests on CircleCI run out of memory

https://issues.dlang.org/show_bug.cgi?id=24239

          Issue ID: 24239
           Summary: dlang.org tests on CircleCI run out of memory
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dlang.org
          Assignee: nobody puremagic.com
          Reporter: tim.dlang t-online.de

The tests for dlang.org running on CircleCI can randomly fail with the
following message:
Last command failed with exit code -9

In https://github.com/dlang/dmd/pull/15504 I found out, that build.d tries to
run DMD in parallel with 36 instances. This number was automatically detected
as the number of CPU cores by the function totalCPUs in build.d. The CircleCI
documentation
(https://circleci.com/docs/configuration-reference/#resourceclass) mentions
this problem:

"Java, Erlang and any other languages that introspect the /proc directory for
information about CPU count may require additional configuration to prevent
them from slowing down when using the CircleCI resource class feature. Programs
with this issue may request 32 CPU cores and run slower than they would when
requesting one core. Users of languages with this issue should pin their CPU
count to their guaranteed CPU resources."

Pull Request https://github.com/dlang/dmd/pull/15504 tried to better calculate
the number of CPU cores, but that could result in a wrong value in other
environments. An alternative is to manually set the number of jobs, which needs
changes to the makefiles of dmd and dlang.org.

--
Nov 11 2023