2,684
edits
Line 30: | Line 30: | ||
If the "xds_par" binary crashed, try "xds". xds_par uses OpenMP for parallelization, which adds complexity. If it works with xds, but not with xds_par, then there is a chance that some environment variable needs to be set/changed. In any case the XDS developers would like to learn about this. | If the "xds_par" binary crashed, try "xds". xds_par uses OpenMP for parallelization, which adds complexity. If it works with xds, but not with xds_par, then there is a chance that some environment variable needs to be set/changed. In any case the XDS developers would like to learn about this. | ||
As of March 2021, Thomas Hauß (HZB) reported an OpenMP-related problem that is due to a bug in a library that the ifort compiler links into xds_par. It is unknown to us which version of the compiler has or does not have this bug. The bug has been seen with xds_par (VERSION Jan 31, 2020 BUILT=20200417) and is a crash with error message containing: | |||
<pre> | |||
OMP: Error #13: Assertion failure at z_Linux_util.cpp(2361). | |||
OMP: Hint Please submit a bug report with this message, compile and run commands used, and machine configuration info including native compiler and operating system versions. Faster response will be obtained by including all program sources. For information on submitting this issue, please see http://www.intel.com/software/products/support/. | |||
forrtl: error (76): Abort trap signal | |||
Image PC Routine Line Source | |||
xds_par 00000000005620C4 Unknown Unknown Unknown | |||
libpthread-2.17.s 00002ADC08AAA630 Unknown Unknown Unknown | |||
libc-2.17.so 00002ADC08EF1387 gsignal Unknown Unknown | |||
libc-2.17.so 00002ADC08EF2A78 abort Unknown Unknown | |||
xds_par 000000000063FB83 Unknown Unknown Unknown | |||
xds_par 000000000062BDFF Unknown Unknown Unknown | |||
xds_par 000000000060748C Unknown Unknown Unknown | |||
xds_par 000000000067980E Unknown Unknown Unknown | |||
xds_par 000000000063D737 Unknown Unknown Unknown | |||
xds_par 000000000063EC58 Unknown Unknown Unknown | |||
xds_par 0000000000629A0E Unknown Unknown Unknown | |||
xds_par 0000000000419056 xds_ 21586 MAIN_XDS.f90 | |||
xds_par 0000000000418951 MAIN__ 1 MAIN_XDS.f90 | |||
xds_par 0000000000415862 Unknown Unknown Unknown | |||
libc-2.17.so 00002ADC08EDD555 __libc_start_main Unknown Unknown | |||
xds_par 0000000000415769 Unknown Unknown Unknown | |||
</pre> | |||
The bug is not related to the xds_par source code, but also happens with other software. The workaround is to set the environment variable | |||
bash: export KMP_INIT_AT_FORK=FALSE | |||
tcsh: setenv KMP_INIT_AT_FORK FALSE | |||
=== 64bit binary on a 32bit operating system === | === 64bit binary on a 32bit operating system === |