Skip to content

GHC build prints tons of debug output mentioning `cpe_app`

When building from a recent commit in master, my terminal is flooded with tons of debug-related messages that all look like the following:

cpe_app(keepAlive#) 3
cpe_app(keepAlive)
  case case copyByteArrayToAddr#
              @RealWorld barr#_s75d 0# buf_s75n size_s75e ipv2_a5D7
       of s1_s75o
       { __DEFAULT ->
       let {
         sat_s75q :: Int
         [LclId]
         sat_s75q = I# size_s75e } in
       let {
         sat_s75p :: Ptr CChar
         [LclId]
         sat_s75p = Ptr @CChar buf_s75n } in
       let {
         sat_s75r :: CStringLen
         [LclId]
         sat_s75r = (sat_s75p, sat_s75q) } in
       ((action_s75a sat_s75r)
        `cast` (N:IO[0] <a_a4G2>_R
                :: IO a_a4G2
                   ~R# (State# RealWorld -> (# State# RealWorld, a_a4G2 #))))
         s1_s75o
       }
  of sat_s75l
  { __DEFAULT ->
  case touch# @'UnliftedRep @ByteArray# ipv3_a5D8 realWorld#
  of sat_s75m
  { __DEFAULT ->
  sat_s75l
  }
  }

Some digging reveals that this code is responsible:

          : rest <- pprTrace "cpe_app keepAlive#" (ppr args) args
        = do { pprTraceM "cpe_app(keepAlive#)" (ppr n)
             ; ...
             ; pprTraceM "cpe_app(keepAlive)" (ppr expr)

Should those pprTrace{M}s have made it to master? CC @bgamari, who appears to have introduced this.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information