[GHC] #7344: 64-bit and 32-bit binaries compiled with '-static' gets 'SIGKILL'ed (after many 'SIGVTALRM's and lots of memory consumption)

GHC cvs-ghc at haskell.org
Thu Oct 18 07:17:38 CEST 2012


#7344: 64-bit and 32-bit binaries compiled with '-static' gets 'SIGKILL'ed (after
many 'SIGVTALRM's and lots of memory consumption)
---------------------------+------------------------------------------------
 Reporter:  cetinsert      |          Owner:                
     Type:  bug            |         Status:  new           
 Priority:  normal         |      Component:  Runtime System
  Version:  7.4.1          |       Keywords:                
       Os:  Linux          |   Architecture:  x86_64 (amd64)
  Failure:  Runtime crash  |       Testcase:                
Blockedby:                 |       Blocking:                
  Related:                 |  
---------------------------+------------------------------------------------
 == 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.''

 [https://sourceforge.net/p/portfusion/discussion/general/thread/827a4b1a/
 PortFusion Discussion Forum]

 == Binaries ==
 {{{
 cs at 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
 }}}
 [http://sourceforge.net/projects/portfusion/files/1.2.1/PortFusion-
 Linux-x86-64-static/download 64-bit]
 [http://sourceforge.net/projects/portfusion/files/1.2.1/PortFusion-
 Linux-x86-32-static/download 32-bit]

 == Runtime Systems ==
 {{{
 cs at 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 at 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 +++
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7344>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the Glasgow-haskell-bugs mailing list