Hi there,
We're struggling to get the Slave file to run on a Linux Server (RHEL or AWS Linux 1). We have it running on another Linux server but cannot for the life of us see the difference.
We’re convinced that there is a memory allocation issue somewhere.
If we run strace on the Slave file on the new Linux machine we get the following:
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7c8d000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7f63000
read(3, "\0 \0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35"..., 88150) = 88150
close(3) = 0
open("hob/hansa.fru", O_RDONLY|O_NOATIME) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3337050, ...}) = 0
mmap2(NULL, 4290723120, PROT_READ, MAP_SHARED, 3, 0) = -1 ENOMEM (Cannot allocate memory)
open("hob/hansa.tou", O_RDONLY|O_NOATIME) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=127071, ...}) = 0
mmap2(NULL, 4290723120, PROT_READ, MAP_SHARED, 4, 0) = -1 ENOMEM (Cannot allocate memory)
open("hob/hansa.upc", O_RDONLY|O_NOATIME) = 5
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=3504, ...}) = 0
mmap2(NULL, 4290723120, PROT_READ, MAP_SHARED, 5, 0) = -1 ENOMEM (Cannot allocate memory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV +++
Segmentation fault
Note that it's trying to open files that are 3337050 bytes and allocate 4.29Gb to do that - which fails… - this happens on RHEL and AWS Linux 1.
On an existing Linux server which is on the same version of Linux the same section of the strace log reads as:
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7497000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7496000
read(3, "\0 \0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35"..., 88150) = 88150
close(3) = 0
open("hob/hansa.fru", O_RDONLY|O_NOATIME) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3337050, ...}) = 0
mmap2(NULL, 3337050, PROT_READ, MAP_SHARED, 3, 0) = 0xfffffffff7167000
close(3) = 0
open("hob/hansa.tou", O_RDONLY|O_NOATIME) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=127071, ...}) = 0
mmap2(NULL, 127071, PROT_READ, MAP_SHARED, 3, 0) = 0xfffffffff7147000
close(3) = 0
open("hob/hansa.upc", O_RDONLY|O_NOATIME) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=3504, ...}) = 0
mmap2(NULL, 3504, PROT_READ, MAP_SHARED, 3, 0) = 0xfffffffff7146000
close(3)
so there it's trying to allocate memory that is equivalent in size to the file it's reading.
Do you know if there are any Linux memory settings that would affect the above strace logs like this?
Thanks