[GHC] #15241: Validate failures in sanity way (was: T2783 fails a sanity test)

GHC ghc-devs at haskell.org
Wed Jun 13 08:44:20 UTC 2018


#15241: Validate failures in sanity way
-------------------------------------+-------------------------------------
        Reporter:  osa1              |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Runtime System    |              Version:  8.5
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Description changed by osa1:

Old description:

> {{{
> $ ghc --version
> The Glorious Glasgow Haskell Compilation System, version 8.4.2
>
> $ cat test.hs
> main = print $ do
>     x <- [ 0 .. 5 ]
>     let { y = 5 - y }
>     return y
>
> $ ghc test.hs -fforce-recomp -debug -rtsopts
> [1 of 1] Compiling Main             ( test.hs, test.o )
> Linking test ...
>
> $ ./test +RTS -DS
> test: internal error: ASSERTION FAILED: file rts/ThreadPaused.c, line 314
>
> Stack trace:
> test: Failed to get stack frames of current process: no matching address
> range: Success
>                   0x4a3fbd    set_initial_registers (rts/Libdw.c:288.0)
>             0x7f9d70fd7a18    dwfl_thread_getframes (/usr/lib/x86_64
> -linux-gnu/libdw-0.170.so)
>             0x7f9d70fd7efc    dwfl_getthread_frames (/usr/lib/x86_64
> -linux-gnu/libdw-0.170.so)
>                   0x4a3eb6    libdwGetBacktrace (rts/Libdw.c:257.0)
>                   0x474de3    rtsFatalInternalErrorFn
> (rts/RtsMessages.c:171.0)
>                   0x474ad0    barf (rts/RtsMessages.c:48.0)
>                   0x474b02    errorBelch (rts/RtsMessages.c:67.0)
>                   0x479273    threadPaused (rts/ThreadPaused.c:318.0)
>                   0x48ccdb    stg_returnToSched
> (rts/StgStartup.cmm:117.1)
>                   0x48f428    stg_enter_info
> (rts/HeapStackCheck.cmm:166.1)
>                   0x45fd18
> integerzmgmp_GHCziIntegerziType_minusInteger_info
> (/home/omer/haskell/test)
>
>     (GHC version 8.4.2 for x86_64_unknown_linux)
>     Please report this as a GHC bug:
> http://www.haskell.org/ghc/reportabug
> zsh: abort (core dumped)  ./test +RTS -DS
> }}}
>
> `test.hs` above is the test `testsuite/tests/rts/T2783.hs`.
>
> Tested with HEAD and 8.4.2.

New description:

 It seems like some of the sanity checks fail when running the test suite.
 To reproduce, run the test suite using:

 {{{
 make EXTRA_HC_OPTS='-debug -rtsopts' WAY=sanity THREADS=12
 }}}

 Results:

 {{{
 Unexpected failures:
    rts/T2783.run                                        T2783 [bad exit
 code] (sanity)
    rts/flags/T12870e.run                                T12870e [bad
 stdout] (sanity)
    rts/flags/T12870f.run                                T12870f [bad
 stdout] (sanity)
    ../../libraries/base/tests/length001.run             length001 [bad
 exit code] (sanity)
    ../../libraries/ghc-heap/tests/heap_all.run          heap_all [bad exit
 code] (sanity)
    rts/T7919.run                                        T7919 [bad exit
 code] (sanity)
    ../../libraries/base/tests/memo001.run               memo001 [bad exit
 code] (sanity)
    ../../libraries/hpc/tests/raytrace/hpc_raytrace.run  hpc_raytrace [bad
 exit code] (sanity)
 }}}

 One example failure:

 {{{
 $ cat test.hs
 main = print $ do
     x <- [ 0 .. 5 ]
     let { y = 5 - y }
     return y

 $ ghc test.hs -fforce-recomp -debug -rtsopts
 [1 of 1] Compiling Main             ( test.hs, test.o )
 Linking test ...

 $ ./test +RTS -DS
 test: internal error: ASSERTION FAILED: file rts/ThreadPaused.c, line 314

 Stack trace:
 test: Failed to get stack frames of current process: no matching address
 range: Success
                   0x4a3fbd    set_initial_registers (rts/Libdw.c:288.0)
             0x7f9d70fd7a18    dwfl_thread_getframes (/usr/lib/x86_64
 -linux-gnu/libdw-0.170.so)
             0x7f9d70fd7efc    dwfl_getthread_frames (/usr/lib/x86_64
 -linux-gnu/libdw-0.170.so)
                   0x4a3eb6    libdwGetBacktrace (rts/Libdw.c:257.0)
                   0x474de3    rtsFatalInternalErrorFn
 (rts/RtsMessages.c:171.0)
                   0x474ad0    barf (rts/RtsMessages.c:48.0)
                   0x474b02    errorBelch (rts/RtsMessages.c:67.0)
                   0x479273    threadPaused (rts/ThreadPaused.c:318.0)
                   0x48ccdb    stg_returnToSched (rts/StgStartup.cmm:117.1)
                   0x48f428    stg_enter_info
 (rts/HeapStackCheck.cmm:166.1)
                   0x45fd18
 integerzmgmp_GHCziIntegerziType_minusInteger_info
 (/home/omer/haskell/test)

     (GHC version 8.4.2 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 zsh: abort (core dumped)  ./test +RTS -DS
 }}}

 `test.hs` above is the test `testsuite/tests/rts/T2783.hs`.

--

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


More information about the ghc-tickets mailing list