[GHC] #2783: RTS -K/-M options not honored

GHC ghc-devs at haskell.org
Thu Mar 8 10:50:51 UTC 2018


#2783: RTS -K/-M options not honored
-----------------------------------+------------------------------
        Reporter:  j.waldmann      |                Owner:  igloo
            Type:  merge           |               Status:  closed
        Priority:  normal          |            Milestone:  6.10.2
       Component:  Runtime System  |              Version:  6.10.1
      Resolution:  fixed           |             Keywords:
Operating System:  Linux           |         Architecture:  x86
 Type of failure:  None/Unknown    |            Test Case:
      Blocked By:                  |             Blocking:
 Related Tickets:                  |  Differential Rev(s):
       Wiki Page:                  |
-----------------------------------+------------------------------
Changes (by alpmestan):

 * failure:   => None/Unknown


Comment:

 When running `./validate --slow` yesterday, I saw the test for this ticket
 failing with the `threaded1` way. Instead of detecting the loop and
 aborting with an informative message, we get an assertion failure in the
 `rts/ThreadPaused.c:threadPaused` function.

 The program:

 {{{#!hs
 main = print $ do x <- [ 0 .. 5 ] ; let { y = 5 - y } ; return y
 }}}

 The output:

 {{{
 =====> T2783(threaded1) 1 of 1 [0, 0, 0]
 cd "./rts/T2783.run" &&  "/home/alp/ghc/inplace/test   spaces/ghc-stage2"
 -o T2783 T2783.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts
 -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-
 color=never -fno-diagnostics-show-caret -dno-debug-output  -threaded
 -debug
 cd "./rts/T2783.run" && ./T2783
 Wrong exit code for T2783(threaded1)(expected 1 , actual 134 )
 Stderr ( T2783 ):
 T2783: internal error: ASSERTION FAILED: file rts/ThreadPaused.c, line 314

     (GHC version 8.5.20180306 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 Aborted (core dumped)
 *** unexpected failure for T2783(threaded1)
 }}}

 The code for the corresponding assertion:

 {{{#!c
 // We should never have made it here in the event of blackholes that
 // we already own; they should have been marked when we blackholed
 // them and consequently we should have stopped our stack walk
 // above.
 ASSERT(!((bh_info == &stg_BLACKHOLE_info)
          && (((StgInd*)bh)->indirectee == (StgClosure*)tso)));
 }}}

 This actually is unexpected _ang_ a bug, right?

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


More information about the ghc-tickets mailing list