ghc-events
ghc-events copied to clipboard
Index out of range in `ghc-events show` and dependencies of `ghc-events`
Hi! I have had a couple of problems with eventlog2html
and hs-speedscope
recently and they seem to be a problem either with the library or the eventlog that the ghc RTS emits. I can more or less (sometimes it doesn't happen) reliably reproduce this error with the following program:
module Main where
import Data.ByteString (ByteString)
import qualified Data.ByteString as BS
import Data.Foldable (for_)
import Data.Monoid (Endo (..))
largeEndo :: Endo ByteString
largeEndo = Endo \x -> BS.replicate 100 97 <> x
manyEndos :: Endo ByteString -> Endo ByteString
manyEndos = mconcat . replicate 10_000
main :: IO ()
main = for_ [1 .. 30] \_ ->
BS.putStr $ appEndo (manyEndos largeEndo) mempty
compile with
ghc -rtsopts -prof -fprof-late -O0 ./bla.hs
run with
./bla +RTS -hc -p -l-au
I have not tried to further reduce the example.
This happens on ghc
9.6, 9.8 and 9.10 at least, according to @TeofilC on ghc-events
HEAD, and then at least on ghc-events
0.19.0.1.
It affects not only ghc-events
but also hs-speedscope
and eventlog2html
.
related issue on eventlog2html issue tracker: https://github.com/mpickering/eventlog2html/issues/136