[GHC] #14538: forkprocess01 fails occassionally on with multiple ACQUIRE_LOCK panic

GHC ghc-devs at haskell.org
Fri Mar 2 09:53:15 UTC 2018


#14538: forkprocess01 fails occassionally on with multiple ACQUIRE_LOCK panic
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:
       Component:  Runtime System    |              Version:  8.3
      Resolution:                    |             Keywords:
Operating System:  MacOS X           |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by osa1):

 I manage to reproduce this locally on my Linux laptop:

 {{{
 $ ./Main +RTS -N
 Main: internal error: multiple ACQUIRE_LOCK: rts/Task.c 228
     (GHC version 8.5.20180301 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 in child process
 [2]    6823 abort (core dumped)  ./Main +RTS -N
 $ ./Main +RTS -N
 in parent process
 in child process
 Just (Exited (ExitFailure 72))
 $ ./Main +RTS -N
 Main: internal error: multiple ACQUIRE_LOCK: rts/Task.c 228
     (GHC version 8.5.20180301 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 in child process
 [2]    6927 abort (core dumped)  ./Main +RTS -N
 }}}

 reproducer:

 {{{
 import System.Exit
 import System.Posix.Process
 import Control.Concurrent

 main = do
     p <- forkProcess $ putStrLn "in child process" >> exitWith
 (ExitFailure 72)
     putStrLn "in parent process"
     r <- getProcessStatus True False p
     yield
     print r
 }}}

 compile with:

 {{{
 ghc-stage2 -O0 Main.hs -debug -rtsopts -threaded -fforce-recomp
 }}}

 run with `+RTS -N`

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


More information about the ghc-tickets mailing list