Skip to content

ASSERT failures in testsuite

Joachim writes: our secondary CI infrastructure is in bad shape since a week.

The first push that broke it was the one ending with commit fc4ef667 by SPJ:

  • fc4ef667 - Comments only (vor 7 Tagen)<Simon Peyton Jones>
  • b612da66 - Fix impredicativity (again) (vor 7 Tagen)<Simon Peyton Jones>
  • 3012c431 - Add Outputable Report in TcErrors (vor 7 Tagen)<Simon Peyton Jones>
  • 66a8c194 - Fix a bug in occurs checking (vor 7 Tagen)<Simon Peyton Jones>
  • 2fbfbca2 - Fix desugaring of pattern bindings (again) (vor 7 Tagen)<Simon Peyton Jones>
  • 0b533a25 - A bit of tracing about flattening (vor 7 Tagen)<Simon Peyton Jones>
--- /dev/null	2015-01-28 16:31:58.000000000 +0000
+++ /tmp/ghctest-gSX4vv/test   spaces/./boxy/Base1.run/Base1.comp.stderr.normalised	2016-09-30 12:44:57.182659875 +0000
@@ -0,0 +1,18 @@
+
+Base1.hs:20:13:
+     Couldn't match type ‘a0 -> a0’ with ‘forall a. a -> a’
+      Expected type: MEither Sid b
+        Actual type: MEither (a0 -> a0) b
+     In the expression: MLeft fid
+      In an equation for ‘test1’: test1 fid = MLeft fid
+
+Base1.hs:25:39:
+     Couldn't match type ‘a1 -> a1’ with ‘forall a. a -> a’
+      Expected type: Maybe (Sid, Sid)
+        Actual type: Maybe (a1 -> a1, a2 -> a2)
+     In the expression: Just (x, y)
+      In a case alternative: MRight y -> Just (x, y)
+      In the expression:
+        case m of {
+          MRight y -> Just (x, y)
+          _ -> Nothing }
*** unexpected failure for Base1(normal)

Compile failed (exit code 1) errors were:
ghc-stage2: panic! (the 'impossible' happened)
  (GHC version 8.1.20160930 for x86_64-unknown-linux):
	ASSERT failed!
  m_aAI
  Call stack:
      CallStack (from HasCallStack):
        prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1076:58 in ghc:Outputable
        callStackDoc, called at compiler/utils/Outputable.hs:1125:22 in ghc:Outputable
        assertPprPanic, called at compiler/typecheck/TcType.hs:979:47 in ghc:TcType
  Call stack:
      CallStack (from HasCallStack):
        prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1076:58 in ghc:Outputable
        callStackDoc, called at compiler/utils/Outputable.hs:1080:37 in ghc:Outputable
        pprPanic, called at compiler/utils/Outputable.hs:1123:5 in ghc:Outputable
        assertPprPanic, called at compiler/typecheck/TcType.hs:979:47 in ghc:TcType

Please report this as a GHC bug:  https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.haskell.org%2Fghc%2Freportabug&data=01%7C01%7Csimonpj%40microsoft.com%7Cb15d11554ecf4f68173d08d3ee64ef42%7C72f988bf86f141af91ab2d7cd011db47%7C1&sdata=eG%2F4%2FH6lhGUFjL1my3GUE5Ho1hP3C4j0tkEihKvddyQ%3D&reserved=0


*** unexpected failure for RaeBlogPost(normal)

Compile failed (exit code 1) errors were:
ghc-stage2: panic! (the 'impossible' happened)
  (GHC version 8.1.20160930 for x86_64-unknown-linux):
	ASSERT failed!
  m_awK
  Call stack:
      CallStack (from HasCallStack):
        prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1076:58 in ghc:Outputable
        callStackDoc, called at compiler/utils/Outputable.hs:1125:22 in ghc:Outputable
        assertPprPanic, called at compiler/typecheck/TcType.hs:979:47 in ghc:TcType
  Call stack:
      CallStack (from HasCallStack):
        prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1076:58 in ghc:Outputable
        callStackDoc, called at compiler/utils/Outputable.hs:1080:37 in ghc:Outputable
        pprPanic, called at compiler/utils/Outputable.hs:1123:5 in ghc:Outputable
        assertPprPanic, called at compiler/typecheck/TcType.hs:979:47 in ghc:TcType

Please report this as a GHC bug:  https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.haskell.org%2Fghc%2Freportabug&data=01%7C01%7Csimonpj%40microsoft.com%7Cb15d11554ecf4f68173d08d3ee64ef42%7C72f988bf86f141af91ab2d7cd011db47%7C1&sdata=eG%2F4%2FH6lhGUFjL1my3GUE5Ho1hP3C4j0tkEihKvddyQ%3D&reserved=0


*** unexpected failure for TypeLevelVec(normal)

A subsequent commit by SPJ fixed the first one. It now compield without -DDEBUG again, but the other two failures (observable only with -DDEBUG) are still there.

Since then, Travis has been reporting failures for the master branch. I only noticed now as I pushed something to master, and I got an email. Did you not get notifications about the breakage?

If you did, was it unclear how to get to the log file?

In any case: Simon, could you have a look and see if the ASSERT is pointing out a real bug introduced with your commits, or whether the ASSERT is wrong, so that we can build master with -DDEBUG again?

Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
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