ghc-events
ghc-events copied to clipboard
Assertion failure but nobody notices because assertions are off by default
I'm building ghc-events
as part of static-haskell-nix's CI, where sometimes I build with -O0
.
An assertion appears:
test-versions: Assertion failed
CallStack (from HasCallStack):
assert, called at src/GHC/RTS/Events/Binary.hs:822:5 in ghc-events-0.19.0.1-863kLHKqkAq5pQOjpORL0w:GHC.RTS.Events.Binary
That's this one:
https://github.com/haskell/ghc-events/blob/2168f610bf3580a3a4dca7b0582c6384d5433413/src/GHC/RTS/Events/Binary.hs#L822-L830
I tested also with stack test
on a stack.yaml
with this config:
resolver:
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/25.yaml
packages:
- .
As documented in assert, it's disabled on -O
, which cabal
enables by default.
So probably nobody noticed that.
I recommend setting either
ghc-options: -Wall -fno-ignore-asserts
if assertions should be used in code, or not using assert
.