panic! (the 'impossible' happened) while compiling XMonadContrib
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 }
Trac metadata
Trac field | Value |
---|---|
Version | 6.8.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture |