[GHC] #12657: GHC and GHCi: RWX mmap denied by GrSec, results in a segfault

GHC ghc-devs at haskell.org
Tue Oct 4 20:58:35 UTC 2016


#12657: GHC and GHCi: RWX mmap denied by GrSec, results in a segfault
-------------------------------------+-------------------------------------
        Reporter:  PoroCYon          |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  8.0.1
      Resolution:                    |             Keywords:  grsec, pax,
                                     |  mmap, rts
Operating System:  Linux             |         Architecture:  x86_64
                                     |  (amd64)
 Type of failure:  Runtime crash     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by PoroCYon):

 Here's the backtrace of the compilation of hlint:
 {{{
 poro at alphard:~ $ sudo coredumpctl gdb /usr/lib/ghc-8.0.1/bin/ghc
            PID: 6326 (ghc)
            UID: 1000 (poro)
            GID: 1000 (poro)
         Signal: 11 (SEGV)
   Command Line: /usr/lib/ghc-8.0.1/bin/ghc -B/usr/lib/ghc-8.0.1 --make
 -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf
 dyn_hi -outputdir .stack-work/dist/x86_64-linux/Cabal-1.24.0.0/build -odir
 .stack-work/dist/x86_64-linux/Cabal-1.24.0.0/build -hidir .stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build -stubdir .stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build -i -i.stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build -isrc -i.stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build/autogen -I.stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build/autogen -I.stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build -optP-include -optP.stack-
 work/dist/x86_64-linux/Cabal-1.24.0.0/build/autogen/cabal_macros.h -this-
 unit-id hlint-1.9.35-10UG0p2vPBnEAFpFKv6Oh -hide-all-packages -no-user-
 package-db -package-db
 /home/poro/.stack/snapshots/x86_64-linux/lts-7.0/8.0.1/pkgdb -package-db
 .stack-work/dist/x86_64-linux/Cabal-1.24.0.0/package.conf.inplace
 -package-id ansi-terminal-0.6.2.3-448ipfN5j28Ha0AgPiJmdI -package-id
 base-4.9.0.0 -package-id cmdargs-0.10.14-8WOlFWoK1XlCebTZE2edgd -package-
 id containers-0.5.7.1 -package-id cpphs-1.20.2-GpD5nXqQjzpAbSUhSdFgEv
 -package-id directory-1.2.6.2 -package-id
 extra-1.4.10-2LEZ2hBhlUuEhqffYmrH30 -package-id filepath-1.4.1.0 -package-
 id haskell-src-exts-1.17.1-CHFwoWxepXQKBbAz4YNlQX -package-id
 hscolour-1.24.1-H2EUF2muHY0JRKOYWigHLc -package-id process-1.4.2.0
 -package-id refact-0.3.0.2-JBbxaqExt5tJMSfYCjPwkx -package-id
 transformers-0.5.2.0 -package-id uniplate-1.6.12-GlIXchq8eyU5fQlB5lQgci
 -XHaskell98 Language.Haskell.HLint Language.Haskell.HLint2
 Language.Haskell.HLint3 Paths_hlint Apply CmdLine Grep HLint HsColour Idea
 Settings Report Util Parallel Refact HSE.All HSE.Bracket HSE.Evaluate
 HSE.FreeVars HSE.Match HSE.Scope HSE.Type HSE.Util Hint.All Hint.Bracket
 Hint.Comment Hint.Duplicate Hint.Extensions Hint.Import Hint.Lambda
 Hint.List Hint.ListRec Hint.Match Hint.Monad Hint.Naming Hint.Pattern
 Hint.Pragma Hint.Type Hint.Unsafe Hint.Util Test.All Test.Annotations
 Test.InputOutput Test.Proof Test.Translate Test.Util -ddump-hi -ddump-to-
 file

 <big snip>

 Core was generated by `/usr/lib/ghc-8.0.1/bin/ghc -B/usr/lib/ghc-8.0.1
 --make -fbuilding-cabal-package'.
 Program terminated with signal SIGSEGV, Segmentation fault.
 #0  0x000003295de4567f in initLinker_ () from
 /usr/lib/ghc-8.0.1/bin/../rts/libHSrts_thr-ghc8.0.1.so
 [Current thread is 1 (Thread 0x32968f52700 (LWP 6326))]
 (gdb) bt
 #0  0x000003295de4567f in initLinker_ () from
 /usr/lib/ghc-8.0.1/bin/../rts/libHSrts_thr-ghc8.0.1.so
 #1  0x0000032961baf4cd in ghcizm8zi0zi1_GHCiziRun_run1_info () from
 /usr/lib/ghc-8.0.1/bin/../ghci-8.0.1/libHSghci-8.0.1-ghc8.0.1.so
 #2  0x0000000000000000 in ?? ()
 }}}

 I wasn't on IRC, I'm^H was only lurking on #idris at the time of reporting
 this issue (Idris does compile btw).

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


More information about the ghc-tickets mailing list