Skip to content

Crash with intel compiler when run in parallel #33

@mneuer71

Description

@mneuer71

Hi,

I compiled Block 1.0.1 with the Intel compiler 15.0.3. When I run a test job using mpi I get a segmentation fault. I found out that the wrong version of add_local_indices gets called, i.e. not the specialization
template<> void Op_component<Des>::add_local_indices(int i, int j , int k) but the function from the primary template which does nothing.

In my opinion this is a bug because in save_load_block.C there is no declaration of this specialization, but as stated in this answer from stackoverflow this is needed otherwise the program is ill-formed. This means undefined behavior and indeed icpc behaves differently than g++ here.

You could for example put declarations of all the specializations in op_components.C in the header file op_components.h to prevent this error.

Best regards,
Matthias

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions