Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Execution error using the Educator Intel Parallel Studio XE Cluster Development tools for Linux UBUNTU 18.04

Michael_S_13
Beginner
914 Views

I just loaded the Educator Intel Parallel Studio XE Cluster Development tools for Linux UBUNTU 18.04. It compiles and runs C, C++ and Fortran files fine, but when I used the iMPi library I get the error free(): invalid next size (fast) error.  It appears that most of the documented errors are due to memory allocation errors, but not in my case since I don't explicitly allocate memory .   The source code I tested with is the hello world program for mpi as follows:

#include <stdio.h>
#include <stdlib.h>

#include "mpi.h"

int main( int argc, char *argv[]) {
   int rank;

   MPI_Init( &argc, &argv);
   MPI_Comm_rank( MPI_COMM_WORLD, &rank);

   printf("rank:%d Hello World.\n", rank);
   MPI_Finalize();
   return 0;
}

It returns exit  code 134 with the error "free(): invalid next size (fast) error\n Aborted (core dumped)" .  Using strace as follows:

strace mpirun -n 1 ./hello_mpi

I get the error message trying to start mpiexec.hyra

stat("/opt/intel//compilers_and_libraries_2019.1.144/linux/mpi/intel64/bin/mpiexec.hydra", {st_mode=S_IFREG|0755, st_size=1887795, ...}) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f6851924a10) = 7499
wait4(-1, free(): invalid next size (fast)
[{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT && WCOREDUMP(s)}], 0, NULL) = 7499
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_DUMPED, si_pid=7499, si_uid=1000, si_status=SIGABRT, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 7499
write(2, "Aborted (core dumped)\n", 22Aborted (core dumped)
) = 22
pipe([3, 4])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f6851924a10) = 7504

Running ldd on the executable I get

ldd hello_mpi
    linux-vdso.so.1 (0x00007ffdffdfe000)
    libmpi.so.12 => /opt/intel//compilers_and_libraries_2019.1.144/linux/mpi/intel64/lib/release/libmpi.so.12 (0x00007fbcc44d9000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbcc40e8000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbcc3ee0000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbcc3cdc000)
    libfabric.so.1 => /opt/intel//compilers_and_libraries_2019.1.144/linux/mpi/intel64/libfabric/lib/libfabric.so.1 (0x00007fbcc3aa3000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbcc388b000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbcc7968000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbcc366c000)

My PATH looks good

which mpicc
/opt/intel//compilers_and_libraries_2019.1.144/linux/mpi/intel64/bin/mpicc


which mpirun
/opt/intel//compilers_and_libraries_2019.1.144/linux/mpi/intel64/bin/mpirun

I tried installing the suite both with and without IA-32 support but I get the same error regardless.

I have run this with source compiled mpich 3-3 (using GNU-8.2.0 compilers) and it works great so I think there is some issue in your hydra implementation.

Thanks for any support.

 

--Mike

0 Kudos
3 Replies
Pamela_H_Intel
Moderator
914 Views

Mike, it worked for me on Windows. I can also try on Ubuntu, but I suspect your results stem from your environment not being set up correctly. Check these links for setup instructions:
https://software.intel.com/en-us/mpi-developer-reference-linux-mpiexec-hydra
https://software.intel.com/en-us/articles/using-intel-mkl-mpi-wrapper-with-the-intel-mkl-cluster-functions
 
Also, if you are not aware of the Link Line Advisor, it can be very helpful in knowing how to construct the compile line: https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/

Here is the compile line I used and my results:
icl  /DMKL_ILP64 -I"%MKLROOT%"\include   mkl_intel_ilp64.lib mkl_tbb_thread.lib mkl_core.lib mkl_blacs_intelmpi_ilp64.lib impi.lib tbb.lib testFile.c
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.0.0.117 Build 20180804
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

testFile.c
Microsoft (R) Incremental Linker Version 14.15.26730.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:testFile.exe
mkl_intel_ilp64.lib
mkl_tbb_thread.lib
mkl_core.lib
mkl_blacs_intelmpi_ilp64.lib
impi.lib
tbb.lib
testFile.obj

C:\Users\\Downloads>mpiexec.hydra testFile.exe
account (domain\user):
password:
confirm password:
rank:0 Hello World.

I hope this helps.

Pamela

0 Kudos
Michael_S_13
Beginner
914 Views

Pamela,

It's not a compile error because

mpirun -n 4 /bin/hostname

will also not run and fails with the same error.  I have reinstalled my OS and it still results in the same solution. An strace tells it is a problem in Linux so running under Windows will not be useful.

Please help!

Mike

0 Kudos
Gergana_S_Intel
Employee
914 Views

Hi Mike,

This is a pretty nasty error - I haven't seen it before.  The Intel MPI Library 2019 is based off of the latest MPICH3 source code so our Hydra implementation should be the same as their Hydra implementation.  If even a simple "mpirun hostname" command fails with the same error, I wonder if there was some corruption during installation of the library.  Or, can you verify what SHELL you're running or what your environment looks like?

I would also recommend you submit a ticket through our online support portal (instructions here) so you don't provide details of your system on a public forum, if you're not comfortable.

Regards,
~Gergana

0 Kudos
Reply