[GHC] #11831: Illegal Instruction when running byte operations in ghci

GHC ghc-devs at haskell.org
Wed Apr 13 20:23:14 UTC 2016


#11831: Illegal Instruction when running byte operations in ghci
----------------------------------+-------------------------------
           Reporter:  Kritzefitz  |             Owner:
               Type:  bug         |            Status:  new
           Priority:  normal      |         Milestone:
          Component:  GHCi        |           Version:  7.10.3
           Keywords:              |  Operating System:  Linux
       Architecture:  arm         |   Type of failure:  GHCi crash
          Test Case:              |        Blocked By:
           Blocking:              |   Related Tickets:
Differential Rev(s):              |         Wiki Page:
----------------------------------+-------------------------------
 On a Debian armel machine I started ghci through `cabal repl` in
 bytes-0.15.2 an run the following commands, which reproducibly (for me)
 run into a crash:

 {{{#!hs
 > :m Data.Word Data.Binary.Put Data.Bits Data.Bytes.Put
 > runPut $ Data.Bytes.Put.putWord8 1
 "\SOH"
 -- Exactly the same again:
 > runPut $ Data.Bytes.Put.putWord8 1
 "Illegal instruction
 }}}

 Using `Data.Binary.Put.putWord8` instead of `Data.Bytes.Put.putWord8`
 doesn't lead to a crash, even though the only difference between the two
 is that the bytes version is an instance method.

 Using an installed version of `bytes` instead of compiling it with GHCi
 (in my case with `cabal repl`) doesn't crash.

 Some strange reactions during debugging this lead me to believe, that
 running some calculations between the two shown above can avert the crash,
 but I couldn't figure out, what exactly had to be done.

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


More information about the ghc-tickets mailing list