<div dir="ltr">I'm trying to put together a minimal Docker container consisting of nothing but GHC-compiled static executables. Below you can see a full interaction I've had with GHC and Docker. The high level summary is that:<div><br></div><div>* When compiled statically, the executable runs just fine in both my host OS (Ubuntu 14.04) and an Ubuntu 14.04 Docker image</div><div>* That same executable run from a busybox (or a "scratch" image, not shown here since it's slightly longer to set up) hangs and then runs out of memory</div><div><br></div><div>I've watched the process in top, and it uses up a huge amount of CPU and memory. I get the same behavior whether I compiled with or without optimizations or the multithreaded runtime. I also get identical behavior with both GHC 7.8.4 and 7.10.1.</div><div><br></div><div>I'm not sure how best to proceed with trying to debug this, any suggestions?<br><div><br></div><div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ cat > hello.hs <<EOF</div><div>main :: IO ()</div><div>main = putStrLn "Static Hello"</div><div>EOF</div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ ghc -optl-static -optl-pthread hello.hs -static</div><div>[1 of 1] Compiling Main             ( hello.hs, hello.o )</div><div>Linking hello ...</div><div>/opt/ghc/7.8.4/lib/ghc-7.8.4/rts-1.0/libHSrts.a(Linker.o): In function `internal_dlopen':</div><div>(.text+0x5c): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking</div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ ./hello</div><div>Static Hello</div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ docker run --rm -v $(pwd)/hello:/usr/local/bin/hello:ro ubuntu:14.04 /usr/local/bin/hello</div><div>Static Hello</div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ docker run --rm -v $(pwd)/hello:/usr/local/bin/hello:ro busybox /usr/local/bin/hello</div><div>hello: out of memory (requested 1048576 bytes)</div><div>vagrant@vagrant-ubuntu-trusty-64:~/Desktop$ ghc --version</div><div>The Glorious Glasgow Haskell Compilation System, version 7.8.4</div></div></div></div>