On Tue, Aug 22, 2023 at 5:54 PM Ludovic Courtès <[email protected]> wrote:
>
> Hi,
>
> Maxim Cournoyer <[email protected]> skribis:
>
> > make: *** [Makefile:14690: all.t] Error 2
> > error: in phase 'build-tests': uncaught exception:
> > %exception #<&invoke-error program: "make" arguments: ("all.t" "-j" "16") 
> > exit-status: 2 term-signal: #f stop-signal: #f>
> > phase `build-tests' failed after 705.6 seconds
> > command "make" "all.t" "-j" "16" failed with status 2
> > builder for 
> > `/gnu/store/sy9glkyrda4na297m9v85i53png5pvbh-bloomberg-bde-3.98.0.0.drv' 
> > failed with exit code 1
> > @ build-failed 
> > /gnu/store/sy9glkyrda4na297m9v85i53png5pvbh-bloomberg-bde-3.98.0.0.drv - 1 
> > builder for `/gnu/store
> >
> > The build was broken on the qt-updates branch [0] but working on master, so
> > it appears to be non-deterministic.
> >
> > [0]  https://ci.guix.gnu.org/build/991957/log/raw
>
> The actual error seems to hide above in the log:
>
> --8<---------------cut here---------------start------------->8---
> [ 28%] Linking CXX executable bslma_managedptr_pairproxy.t
> /gnu/store/ygab8v4ci9iklaykapq52bfsshpvi8pw-cmake-minimal-3.24.2/bin/cmake -E 
> cmake_link_script CMakeFiles/bslma_managedptr_pairproxy.t.dir/link.txt 
> --verbose=1
> /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/c++ -O2 -g 
> -DNDEBUG 
> CMakeFiles/bslma_managedptr_pairproxy.t.dir/groups/bsl/bslma/bslma_managedptr_pairproxy.t.cpp.o
>  -o bslma_managedptr_pairproxy.t  
> -Wl,-rpath,/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/build libbslma.a 
> libbslmf.a libbsla.a libbslscm.a libbsls.a -lrt libryu.so
> /tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:
>  In function ?int main(int, char**)?:
> /tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:11176:22:
>  error: ?move? is not a member of ?std?
> 11176 |             o = std::move(o2);
>       |                      ^~~~
> /tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:26:1:
>  note: ?std::move? is defined in header ?<utility>?; did you forget to 
> ?#include <utility>??
>    25 | #include <stdlib.h>     // 'atoi'
>   +++ |+#include <utility>
>    26 | #include <string.h>
> make[3]: Leaving directory 
> '/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/build'
> --8<---------------cut here---------------end--------------->8---
>
> I’m guessing that those .t.cpp files are generated and then built, and
> that there’s a race condition when building in parallel.
>
> Greg, does that ring a bell?  Should we perform the ‘build-tests’ phase
> sequentially?
>
> Ludo’.

Without digging too deeply into old code, the files are not generated
[0] and this error looks to have been a missing header which was long
ago added [1]. Unclear why this issue was non-deterministic.

CI has been nearly non-functional but I have not experienced this
build issue in the ~2 years since the error was reported. The proposed
change is trivial but does greatly slow down a lengthy build.

We have had non-deterministic test failures with this package, so I
have updated it on the c++-team branch along with a patch to enable by
default ctest's option to repeat failed tests [2] (which I set to 5
failures by default).

Can we close this issue and follow up as necessary on codeberg?

Greg

[0] 
https://github.com/bloomberg/bde/blob/3.98.0.0/groups/bsl/bslma/bslma_managedptr.t.cpp
[1] 
https://github.com/bloomberg/bde/commit/eaeae744c3f99ba9590f9690565173834d2606bc#diff-5e3d1c0e05fe78822b49b9c81cdba7ad62c92741874188686e0063e8c2987ae6
[2] 
https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-repeat



Reply via email to