[GHC] #2162: panic! (the 'impossible' happened) while compiling XMonadContrib

GHC trac at galois.com
Mon Mar 17 05:40:08 EDT 2008


#2162: panic! (the 'impossible' happened) while compiling XMonadContrib
-----------------------+----------------------------------------------------
    Reporter:  ivant   |       Owner:          
        Type:  bug     |      Status:  new     
    Priority:  normal  |   Component:  Compiler
     Version:  6.8.2   |    Severity:  normal  
    Keywords:          |    Testcase:          
Architecture:  x86     |          Os:  Unknown 
-----------------------+----------------------------------------------------
 I was rebuilding XMonadContrib without doing Cabal clean first. I got the
 "panic!" message. The problem was persistent: if I started Cabal build
 again, I was getting the same message. After I did Cabal clean followed by
 Cabal build, the problem disappeared. Seem to be a problem with
 interacting with previously compiled code.

 Here is the output of GHC:
 {{{
 [108 of 117] Compiling XMonad.Config.Sjanssen ( XMonad/Config/Sjanssen.hs,
 dist/build/XMonad/Config/Sjanssen.o )
 ghc-6.8.2: panic! (the 'impossible' happened)
   (GHC version 6.8.2 for i386-unknown-linux):
         bind_args
     xmonad-0.6:XMonad.Core.:DLayoutClass{d r19g}
     [tpl_B2{v} [lid], tpl_B3{v} [lid], tpl_B4{v} [lid],
      tpl_B5{v} [lid], tpl_B6{v} [lid], tpl_B7{v} [lid], tpl_B8{v} [lid],
      tpl_B9{v} [lid]]
     [TYPE xmonad-contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc
 r19zx},
      TYPE X11-1.4.1:Graphics.X11.Types.Window{tc r5},
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.$f4{v r19zw} [gid]
        @ base:GHC.Word.Word32{tc 333},
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.doLayout{v r19zv} [gid],
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.$dmpureLayout{v r19zu}
 [gid],
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.a1{v r19zt} [gid]
      `cast` (base:GHC.Prim.right{(w) tc 34E}
                (base:GHC.Prim.inst{(w) tc 34H}
                   (base:GHC.Prim.inst{(w) tc 34H}
                      (base:GHC.Prim.trans{(w) tc 34y}
                         (forall (layout{tv i28Jn} [tv] ::
 base:GHC.Prim.*{(w) tc 34d}
                                                           ->
 base:GHC.Prim.*{(w) tc 34d})
                                 a{tv i28Jo} [tv].
                          (xmonad-0.6:XMonad.Core.LayoutClass{tc rzi}
                             layout{tv i28Jn} [tv] a{tv i28Jo} [tv]) =>
                          layout{tv i28Jn} [tv] a{tv i28Jo} [tv]
                          -> X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc
 ruD}
                          -> xmonad-0.6:XMonad.Core.XConf{tc rz}
                          -> xmonad-0.6:XMonad.Core.XState{tc ry}
                          -> base:GHC.Prim.sym{(w) tc 34v}
                               ((base:GHC.IOBase.:CoIO{tc rx})
                                  (([(a{tv i28Jo} [tv],
 X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc ruD})],
                                    base:Data.Maybe.Maybe{tc rB}
                                      (layout{tv i28Jn} [tv] a{tv i28Jo}
 [tv])),
                                   xmonad-0.6:XMonad.Core.XState{tc ry})))
                         (forall (layout{tv i28Jp} [tv] ::
 base:GHC.Prim.*{(w) tc 34d}
                                                           ->
 base:GHC.Prim.*{(w) tc 34d})
                                 a{tv i28Jq} [tv].
                          (xmonad-0.6:XMonad.Core.LayoutClass{tc rzi}
                             layout{tv i28Jp} [tv] a{tv i28Jq} [tv]) =>
                          layout{tv i28Jp} [tv] a{tv i28Jq} [tv]
                          -> X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc
 ruD}
                          -> base:GHC.Prim.right{(w) tc 34E}
                               (base:GHC.Prim.inst{(w) tc 34H}
                                  (base:GHC.Prim.trans{(w) tc 34y}
                                     (forall a1{tv i28Jr} [tv].
                                      a1{tv i28Jr} [tv]
                                      -> base:GHC.Prim.trans{(w) tc 34y}
                                           (xmonad-0.6:XMonad.Core.XConf{tc
 rz}
                                            -> base:GHC.Prim.sym{(w) tc
 34v}
 ((mtl-1.1.0.0:Control.Monad.State.Lazy.:CoStateT{tc ru})
 xmonad-0.6:XMonad.Core.XState{tc ry}
 <nt>base:GHC.IOBase.IO{tc 32I}
                                                    a1{tv i28Jr} [tv]))
                                           (base:GHC.Prim.sym{(w) tc 34v}
 ((mtl-1.1.0.0:Control.Monad.Reader.:CoReaderT{tc rt})
 xmonad-0.6:XMonad.Core.XConf{tc rz}
 (<nt>mtl-1.1.0.0:Control.Monad.State.Lazy.StateT{tc rv}
 xmonad-0.6:XMonad.Core.XState{tc ry}
 <nt>base:GHC.IOBase.IO{tc 32I})
                                                 a1{tv i28Jr} [tv])))
                                     (forall a1{tv i28Js} [tv].
                                      a1{tv i28Js} [tv]
                                      -> base:GHC.Prim.sym{(w) tc 34v}
                                           (xmonad-0.6:XMonad.Core.:CoX{tc
 rs}) a1{tv i28Js} [tv]))
                                  ([(a{tv i28Jq} [tv],
 X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc ruD})],
                                   base:Data.Maybe.Maybe{tc rB}
                                     (layout{tv i28Jp} [tv] a{tv i28Jq}
 [tv])))))
                      xmonad-
 contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc r19zx})
                   X11-1.4.1:Graphics.X11.Types.Window{tc r5})
              :: <pred>xmonad-
 contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc r19zx}
                         X11-1.4.1:Graphics.X11.Types.Window{tc r5}
                       -> X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc
 ruD}
                       -> xmonad-0.6:XMonad.Core.XConf{tc rz}
                       -> xmonad-0.6:XMonad.Core.XState{tc ry}
                       -> base:GHC.Prim.State#{(w) tc 32q}
                            base:GHC.Prim.RealWorld{(w) tc 31E}
                       -> (# base:GHC.Prim.State#{(w) tc 32q}
                               base:GHC.Prim.RealWorld{(w) tc 31E},
                             (([(X11-1.4.1:Graphics.X11.Types.Window{tc
 r5},
 X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc ruD})],
                               base:Data.Maybe.Maybe{tc rB}
                                 (xmonad-
 contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc r19zx}
                                    X11-1.4.1:Graphics.X11.Types.Window{tc
 r5})),
                              xmonad-0.6:XMonad.Core.XState{tc ry}) #)
                         ~
                       xmonad-
 contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc r19zx}
                         X11-1.4.1:Graphics.X11.Types.Window{tc r5}
                       -> X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc
 ruD}
                       -> <nt>xmonad-0.6:XMonad.Core.X{tc rD}
                            ([(X11-1.4.1:Graphics.X11.Types.Window{tc r5},
 X11-1.4.1:Graphics.X11.Xlib.Types.Rectangle{tc ruD})],
                             base:Data.Maybe.Maybe{tc rB}
                               (xmonad-
 contrib-0.6:XMonad.Layout.HintedTile.HintedTile{tc r19zx}
                                  X11-1.4.1:Graphics.X11.Types.Window{tc
 r5}))),
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.$dmhandleMessage{v r19zs}
 [gid],
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.pureMessage{v r19zr}
 [gid],
      xmonad-contrib-0.6:XMonad.Layout.HintedTile.description{v r19zq}
 [gid]]
     scrut: xmonad-contrib-0.6:XMonad.Layout.HintedTile.$f1{v r19yR} [gid]

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

 }}}

 Sjanssen.hs is
 {{{
 {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
 module XMonad.Config.Sjanssen (sjanssenConfig) where

 import XMonad hiding (Tall(..))
 import qualified XMonad.StackSet as W
 import XMonad.Actions.CopyWindow
 import XMonad.Layout.Tabbed
 import XMonad.Layout.HintedTile
 import XMonad.Config (defaultConfig)
 import XMonad.Layout.NoBorders
 import XMonad.Hooks.DynamicLog
 import XMonad.Hooks.ManageDocks
 import XMonad.Prompt
 import XMonad.Prompt.Shell
 import XMonad.Util.Run (spawnPipe)
 import XMonad.Layout.DwmStyle

 import qualified Data.Map as M
 import System.IO (hPutStrLn)

 sjanssenConfig = do
     xmobar <- spawnPipe "xmobar"
     return $ defaultConfig
         { terminal = "urxvtc"
         , workspaces = ["irc", "web"] ++ map show [3 .. 7 :: Int] ++
 ["mail", "im"]
         , logHook = dynamicLogWithPP $ sjanssenPP { ppOutput = hPutStrLn
 xmobar }
         , modMask = mod4Mask
         , mouseBindings = \(XConfig {modMask = modm}) -> M.fromList $
                 [ ((modm, button1), (\w -> focus w >> mouseMoveWindow w))
                 , ((modm, button2), (\w -> focus w >> windows
 W.swapMaster))
                 , ((modm.|. shiftMask, button1), (\w -> focus w >>
 mouseResizeWindow w)) ]
         , keys = \c -> mykeys c `M.union` keys defaultConfig c
         , layoutHook = dwmStyle shrinkText myTheme $ avoidStruts $
 smartBorders (tiled Tall ||| tiled Wide ||| Full ||| tabbed shrinkText
 myTheme)
         , manageHook = manageHook defaultConfig <+> manageDocks
         }
  where
     tiled   = HintedTile 1 0.03 0.5

     mykeys (XConfig {modMask = modm, workspaces = ws}) = M.fromList $
         [((modm,               xK_p     ), shellPrompt myPromptConfig)
         ,((modm .|. shiftMask, xK_c     ), kill1)
         ,((modm .|. shiftMask .|. controlMask, xK_c     ), kill)
         ,((modm .|. shiftMask, xK_0     ), windows $ \w -> foldr copy w
 ws)
         ,((modm,               xK_b     ), sendMessage ToggleStruts)
         ]

     myFont = "xft:Bitstream Vera Sans Mono:pixelsize=10"
     myTheme = defaultTheme { fontName = myFont }
     myPromptConfig = defaultXPConfig
                         { position = Top
                         , font = myFont
                         , promptBorderWidth = 0 }
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2162>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list