Ansys Learning Forum Forums Discuss Simulation LS Dyna Trouble running MPP LS- DYna 10.20 on Red Hat 8.4 Reply To: Trouble running MPP LS- DYna 10.20 on Red Hat 8.4

Reno Genest
Ansys Employee

Hello,

I checked with a colleague and here is his reply and solution for the buffer overflow detected error:

A simple solution in advance:
Just run this command
$ sudo sysctl -w kernel.pid_max=999999
(innocuous command, no need to reboot)
and all versions will run as before on older CentOS – without any downside.

The reason is a bug in old Intel compiler which shows up if process IDs gets larger than 7 digits (=1million) – but only if the job is run in background

Here is a longer info:
regarding “buffer overflow detected”:
unfortunately this is a known issue with binaries built with Intel-Fortran-16.0 up to 16.3
and process IDs > 999.999 :
https://community.intel.com/t5/Intel-Fortran-Compiler/redirecting-stdout-from-ifort-16-0-1-compiled-program-results-in/td-p/1106715
https://community.intel.com/t5/Intel-Fortran-Compiler/redirecting-stdout-from-ifort-16-0-1-compiled-program-results-in/m-p/1106727#M128232
The error occurs with any version under these conditions:
- build with ifort16.0.3
- stdout is redirected to file (eg in batch jobs)
- current process ID has 7 digits  or more

The limit of the max process-ID can be found for any OS here:
$ cat /proc/sys/kernel/pid_max

the typical value before RHEL/CentOS 8.x was:
$ cat /proc/sys/kernel/pid_max
32768
(just 5 digits)

But since RHEL/CentOS8.x it has 7 digits:
$ cat /proc/sys/kernel/pid_max 
4194304

You may choose one of the following workarounds
a) use a binary which is not built with Ifort16
b) use a binary which is more recent than August 2021
c) switch the current PID to a lower number (requires sudo permissions), eg:
   $ sudo echo 1 > /proc/sys/kernel/ns_last_pid
d) limit the max PID to 6 digits (no need to reboot):
   $ sudo sysctl -w kernel.pid_max=999999

Solution d) is favorized by most sites.

 

Reno.