Opened 3 years ago

Closed 18 months ago

#9253 closed bug (worksforme)

"internal error: evacuate(static): strange closure type 0" when running in QEMU

Reported by: ocharles Owned by: simonmar
Priority: normal Milestone:
Component: Runtime System Version: 7.8.2
Keywords: Cc: simonmar
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime crash Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


We're trying to use NixOS to automatically run our acceptance tests in a VM on commit, in order to guarantee system stability. However, we're periodically seeing our web server component, compiled with GHC 7.8.2 is failing to start up. When it fails, the error message is always:

internal error: evacuate(static): strange closure type 0
(GHC version 7.8.2 for x86_64_unknown_linux)
Please report this as a GHC bug:

Happy to do more debugging on this, but I'll need to be pointed in the right direction.

Change History (5)

comment:1 Changed 3 years ago by ocharles

I should point out that the exact same code doesn't fail when we run it on bare metal, so it seems to be something specific to running in QEMU. This also doesn't always happen, but it certainly feels like it happens more often than not. We're building this executable with:

ghc-options: -Wall -O2 -threaded -rtsopts

We run the server with:

${metronomeConfig.package}/bin/metronome-server -c ${} +RTS -k1M

comment:2 Changed 3 years ago by ocharles

Here's the compiler flags that were used:

configure flags: --disable-split-objs --disable-library-profiling --enable-shared --enable-library-vanilla --enable-executable-dynamic --disable-tests -fsystemdLogging --ghc-option=-optl=-Wl,-rpath=/nix/store/blagiv17bwhqhnpqv6jbkyhd8i1dnig5-metronome-0.1.0/lib/ghc-7.8.2/metronome-0.1.0
Configuring metronome-0.1.0...

The full build log can be seen at

Last edited 3 years ago by ocharles (previous) (diff)

comment:3 Changed 3 years ago by simonmar

Debugging this will require a fair bit of knowledge of GHC internals, so if you want to tackle it yourself then head over to Commentary/Rts and Debugging/CompiledCode.

If you can find a smaller test case that demonstrates the problem and you can distribute, please add it here and I'll take a look.

I'm wondering whether this is the same thing as #7320.

comment:4 Changed 18 months ago by ocharles

I am no longer working at the same job where we were seeing this error. Perhaps this ticket should be closed and re-opened if it happens again (either by me or someone else), as I'll be unable to provide any extra information.

comment:5 Changed 18 months ago by simonmar

Resolution: worksforme
Status: newclosed

Thanks @ocharles, feel free to re-open if it happens again.

Note: See TracTickets for help on using tickets.