[GHC] #15260: Xmobar crashes with segmentation fault

GHC ghc-devs at haskell.org
Fri Jul 27 09:37:04 UTC 2018


#15260: Xmobar crashes with segmentation fault
----------------------------------+--------------------------------------
        Reporter:  Voronwe        |                Owner:  (none)
            Type:  bug            |               Status:  new
        Priority:  normal         |            Milestone:  8.8.1
       Component:  Compiler       |              Version:  8.5
      Resolution:                 |             Keywords:
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 hsyl20):

 I get the same kind of segfault with GHC 8.4.3 in another program
 unrelated to xmobar. Sadly it's not simpler as it's a standalone static
 program that runs directly on top of Linux in a ramdisk (using
 [http://haskus.org/system haskus-system])... Hence I can't use any tool
 like valgrind or gdb.

 Anyway one good thing is that it fails invariably within a few seconds and
 here is what I've found:

 1) The segfault occurs
 [https://phabricator.haskell.org/diffusion/GHC/browse/ghc-8.4/rts/sm/Evac.c$659
 here] because `info` is garbage (sometimes 0).

 2) Recompiling with `-debug -with-rtsopts=-DS`, I get:

 {{{
 Clock2: internal error: checkClosure (closure type 62)
     (GHC version 8.4.3 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 }}}

 because of a bug
 [https://phabricator.haskell.org/rGHC9976bed24dda9449ac2e3e95fb4bf8b379114a28
 fixed in 8.6]. After cherry-picking this commit into ghc-8.4.3, `-DS`
 doesn't report anything useful (nor do the other `-D*` flags).

 3) Using `-V0` or `-C0` delays the segfault.

 4) Same bug with GHC 8.4.2

 I'll try to find the commit introducing the regression.

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


More information about the ghc-tickets mailing list