Skip to content

64-bit and 32-bit binaries compiled with '-static' gets 'SIGKILL'ed (after many 'SIGVTALRM's and lots of memory consumption)

Initial Report & Discussion

Quoting the person who reported the problem: some background: my public-server is some old machine that is apparently unable to even run the static binary (it took me a long time to realize that this was the case, it started and then just died after a while with the message "killed!" i tried building from source, but ghc is to old (6.8.2). to work around that i set up an ssh-tunnel from public-server to my local-client and run "PortFusion ] 2000 [" here.

PortFusion Discussion Forum

Binaries

cs@deployment:~/Corsis/PortFusion/1.2.1$ file PortFusion-Linux-x86-64-static PortFusion-Linux-x86-32-static

PortFusion-Linux-x86-64-static: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=0xe53aa9be69fa27587e1551db3423d051cbd18e24, stripped

PortFusion-Linux-x86-32-static: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=0xac311dcad032544624204ee57d64afe30578ab56, stripped

64-bit 32-bit

Runtime Systems

cs@deployment:~/Corsis/PortFusion/1.2.1$ ./PortFusion-Linux-x86-64-static +RTS --info -RTS
 [("GHC RTS", "YES")
 ,("GHC version", "7.4.1")
 ,("RTS way", "rts_thr")
 ,("Build platform", "x86_64-unknown-linux")
 ,("Build architecture", "x86_64")
 ,("Build OS", "linux")
 ,("Build vendor", "unknown")
 ,("Host platform", "x86_64-unknown-linux")
 ,("Host architecture", "x86_64")
 ,("Host OS", "linux")
 ,("Host vendor", "unknown")
 ,("Target platform", "x86_64-unknown-linux")
 ,("Target architecture", "x86_64")
 ,("Target OS", "linux")
 ,("Target vendor", "unknown")
 ,("Word size", "64")
 ,("Compiler unregisterised", "NO")
 ,("Tables next to code", "YES")
 ]

cs@deployment:~/Corsis/PortFusion/1.2.1$ ./PortFusion-Linux-x86-32-static +RTS --info -RTS
 [("GHC RTS", "YES")
 ,("GHC version", "7.4.1")
 ,("RTS way", "rts_thr")
 ,("Build platform", "i386-unknown-linux")
 ,("Build architecture", "i386")
 ,("Build OS", "linux")
 ,("Build vendor", "unknown")
 ,("Host platform", "i386-unknown-linux")
 ,("Host architecture", "i386")
 ,("Host OS", "linux")
 ,("Host vendor", "unknown")
 ,("Target platform", "i386-unknown-linux")
 ,("Target architecture", "i386")
 ,("Target OS", "linux")
 ,("Target vendor", "unknown")
 ,("Word size", "32")
 ,("Compiler unregisterised", "NO")
 ,("Tables next to code", "YES")
 ]

Operating System

2.6.26-2-xen-amd64 #1 SMP x86_64

Memory Usage

VIRT RES SHR S %CPU %MEM
64-bit: 432m 354m 28 R 26 23.1
32-bit: 339m 325m 1220 R 85 21.2

Strace Head/Tail

execve("./PortFusion-Linux-x86-64-static", ["./PortFusion-Linux-x86-64-static"...], [/* 22 vars */]) = 0
uname({sys="Linux", node="community.gotpike.org", ...}) = 0
brk(0)                                  = 0x1920000
brk(0x1921200)                          = 0x1921200
arch_prctl(ARCH_SET_FS, 0x19208c0)      = 0
set_tid_address(0x1920b90)              = 6362
set_robust_list(0x1920ba0, 0x18)        = 0
futex(0x7fffba04321c, 0x189 /* FUTEX_??? */, 1, NULL, 19208c0) = -1 ENOSYS (Function not implemented)
rt_sigaction(SIGRTMIN, {0x544c60, [], SA_RESTORER|SA_SIGINFO, 0x549480}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x544cf0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x549480}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "O$\276\362\273\222W"..., 7)    = 7
close(3)                                = 0

...

mmap(0x7f7da2300000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7da2100000
--- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
rt_sigreturn(0x1a)                      = 7316992
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
clock_gettime(0x2 /* CLOCK_??? */, {8, 290909435}) = 0
gettimeofday({1350534807, 794239}, NULL) = 0
clock_gettime(0x3 /* CLOCK_??? */, {8, 290212222}) = 0
--- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
rt_sigreturn(0x1a)                      = 140177567371264
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
rt_sigreturn(0x1a)                      = 140177567244256
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
clock_gettime(0x2 /* CLOCK_??? */, {8, 334487438}) = 0
gettimeofday({1350534807, 882102}, NULL) = 0
clock_gettime(0x3 /* CLOCK_??? */, {8, 333790569}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
+++ killed by SIGKILL +++
Trac metadata
Trac field Value
Version 7.4.1
Type Bug
TypeOfFailure RuntimeCrash
Priority normal
Resolution Unresolved
Component Runtime System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information