Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
806 Discussions

Runtime problem on XIOS with oneAPI icx compiler version 2022.2.0+

paolo-oliveri
Beginner
580 Views

Dear Intel community experts,

I am trying to run XIOS code from IPSL France:

https://forge.ipsl.jussieu.fr/ioserver

by using oneAPI toolkit.

The software is mainly written in C++, but it's commonly used through its C-Fortran interface, threrefore needing for both Fortran and C++ compilers.

XIOS actually compiles successfully with both Classic and LLVM compilers, while it presents runtime problems with oneAPI version >= 2022.2.0, by using ICPX as C++ compiler and more than a certain number of mpi threads.

Please note that:

   1) previous versions are not affected by this issue

    2) XIOS works correctly with icc+ifort and icc+ifx

Specifically, the xios_server.exe executable gives

free(): invalid pointer
before server.cpp call to

xios_close_context_definition

While debugging, I discovered that the error was not thrown always in the same part of code. Then I proceeded to compile the more simpler test case test_client.exe but I encountered another abnormal termination, again before call to xios_close_context_definition:

malloc(): invalid size (unsorted)

or

malloc(): unaligned fastbin chunk detected 3

malloc(): memory corruption (fast)

malloc(): unaligned tcache chunk detected

malloc(): unaligned fastbin chunk detected 3

malloc(): memory corruption (fast)

depending on the C++ compiler version.

This error can be mitigated by disabling functions inlining at compile time, with the following option

-fno-inline-functions

However, it would be useful to fix the potential bug in the compiler rather than disabling inlining.

After a deep search on the web, I found a discussion possibly related to the same issue

https://fortran-lang.discourse.group/t/c-pointer-not-nullified-using-intel-oneapi-fortran/7518

In this case the problem is the nullification of C pointers using Fortran interface that seems not to work.

Thank you!

0 Kudos
0 Replies
Reply