boostorg / endian

Boost Endian library
46 stars 49 forks source link

Drone: split GCC 13 jobs #53

Closed sdarwin closed 6 months ago

sdarwin commented 6 months ago

@pdimov after provisioning 4GB of swap space on all agents, the "Linux 23.04 GCC 13 64 ASAN" job still eventually crashed.

New strategy: if a job is freezing, first split it into two parts 32-bit, 64-bit. Next, if the problem continues, break it into pieces CXXSTD: '11' , CXXSTD: '14', CXXSTD: '17' and so on. That has solved the problem in this case.

Since 23.04 is experimental, not LTS, and this is an ASAN test, there are too many variables to make a judgment. If the same thing happens on 24.04, without ASAN, it could be an argument that something needs to be fixed.

When there are only a few tests that consume a large amount of memory, try this tactic first.

pdimov commented 6 months ago

Same thing happens on 22.04 (which is an LTS) with GCC 12 ASAN.

pdimov commented 6 months ago

The problem here is most likely the ./b2 -j3 part, which is solved by splitting only coincidentally (as there are no longer three jobs compiling that one problematic source file.)

I'll change it to -j2 and if this doesn't help, to -j1.

pdimov commented 6 months ago

-j2 seems to have worked.

sdarwin commented 6 months ago

Drone agents now get 8GB swap. 16GB total 'virtual memory'.
Restarted the last failed job, and it completed.