Problems: Difference between revisions

2,341 bytes added ,  5 March 2021
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 ===
2,684

edits