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
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.