qcscine / molassembler

Chemoinformatics toolkit with support for inorganic molecules
https://scine.ethz.ch/download/molassembler
BSD 3-Clause "New" or "Revised" License
33 stars 7 forks source link

Test failures on Linux with GCC 10 #1

Open awvwgk opened 2 years ago

awvwgk commented 2 years ago

Trying to build molassembler currently fails for me due to errors in the tests:

+ cmake -DCMAKE_AR=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-ld -DCMAKE_STRIP=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin/x86_64-conda-linux-gnu-strip -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY '-DCMAKE_FIND_ROOT_PATH=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl;/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/x86_64-conda-linux-gnu/sysroot' -DCMAKE_INSTALL_PREFIX=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl -DCMAKE_INSTALL_LIBDIR=lib '-DCMAKE_PROGRAM_PATH=/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_build_env/bin;/home/conda/staged-recipes/build_artifacts/scine-molassembler_1656626094491/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/bin' -B _build -G Ninja -DSCINE_MARCH= -DBLA_VENDOR=Generic
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to default 'Release'
-- Scine::UtilsOS found locally at $PREFIX/lib/cmake/ScineUtilsOS
-- Enabling GCC specific warning flags
-- Could NOT find MKL (missing: MKL_INCLUDE_DIRS MKL_LIBRARIES) 
-- Found LAPACKE for use with Eigen3
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Doxygen not found - Documentation for Molassembler will not be built.
-- Configuring done
-- Generating done
-- Build files have been written to: $SRC_DIR/_build
+ cmake --build _build
...
+ ctest --test-dir _build --output-on-failure
Internal ctest changing into directory: $SRC_DIR/_build
Test project $SRC_DIR/_build
    Start 1: Molassembler
1/1 Test #1: Molassembler .....................***Failed   63.20 sec
Running 195 test cases...
Platform: linux
Compiler: GNU C++ version 10.3.0
STL     : GNU libstdc++ version 20210408
Boost   : 1.74.0
$SRC_DIR/test/Coherence.cpp(200): error: in "BidentateAssignmentRecognized": check reinterpretedAssignment == expectedAssignment has failed [ 17 !=  4]
Conformer generation failure: Failed to generate decision list.
Conformer generation failure: Failed to generate decision list.
unknown location(0): fatal error: in "TetrangleSmoothingExplicit": signal: invalid floating point operation; address of failing instruction: 0x55815e949ac1
$SRC_DIR/test/DistanceGeometry/Smoothing.cpp(39): last checkpoint: "TetrangleSmoothingExplicit" test entry
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!

System information


     active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /opt/conda/.condarc
                          /home/conda/.condarc
          conda version : 4.13.0
    conda-build version : 3.21.9
         python version : 3.9.13.final.0
       virtual packages : __linux=5.13.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/conda/staged-recipes/build_artifacts/pkg_cache
                          /opt/conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.13.0 requests/2.28.0 CPython/3.9.13 Linux/5.13.0-1031-azure centos/7.9.2009 glibc/2.17
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False
weymutht commented 2 years ago

Thanks for reporting this. Does the issue persist when you redo a completely clean build?

awvwgk commented 2 years ago

That was actually a clean build.

weymutht commented 2 years ago

In very rare cases, I encountered the same problem, but it appeared to pop up randomly. Does the issue persist in your case if you repeat a completely clean, fresh build?

awvwgk commented 2 years ago

Tried it again, now I'm hitting #3 also with GCC 10.3.0

awvwgk commented 2 years ago

Fixed this by applying a patch, the error is reproducible:

Conformer generation failure: Failed to generate decision list.
Conformer generation failure: Refined structure deemed inacceptable.
Conformer generation failure: Refined structure deemed inacceptable.
unknown location(0): fatal error: in "TetrangleSmoothingExplicit": signal: invalid floating point operation; address of failing instruction: 0x55afad212481
$SRC_DIR/test/DistanceGeometry/Smoothing.cpp(39): last checkpoint: "TetrangleSmoothingExplicit" test entry
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Warning: Graph comparison with graphs generated by different versions of Molassembler!
Error: Decision list has not 4 entries per decision.
weymutht commented 2 years ago

Would you mind sharing your patch, so we can have a look?

awvwgk commented 2 years ago

Posted the patch in #3 for compiling against nauty 2.7.2

weymutht commented 2 years ago

Thanks!

awvwgk commented 2 years ago

Running with MKL instead of OpenBLAS seems to pass the tests. Are you testing against OpenBLAS?

weymutht commented 2 years ago

Yes, both OpenBLAS and MKL.