Error calling Acts through Dictionary

Hi @clementhelsens @jalopezg,

So I haven’t completely understood this issue yet, but at least I have a workaround that doesn’t force us to disable avx everywhere.

So I was coming back to this after stumbling on a discussion of EXTRA_CLING_ARGS and avx, but disappointingly adding an -O3 -mavx there has no effect. Then I noticed that taking FCCAnalyses from the usual arch=broadwell stack, the reproducer runs fine - it is actually only when building FCCAnalyses locally that the segfault appears. So apparently the reproducer either needs -mavx nowhere (like in the debug builds) or everywhere (like in the release builds in the stack), but taking dependencies compiled with avx and then compiling FCCAnalyses without gives the error.

The simple workaround is thus enabling avx in the local build, by adding something like

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")

in the top level CMakeLists.txt Clement, I think if we add an option for this it should be ok, no? Alternatively, installing fccanalyses locally using spack

# in the repository
spack dev-build fccanalyses@master.01
spack load fccanalyses@master.01 

should add the flags for broadwell and thus also work. I’d still be quite interested why this results in a segfault, which is not typical for instruction errors like this…

1 Like