[GHC] #14880: GHC panic: updateRole
GHC
ghc-devs at haskell.org
Fri Aug 3 16:54:16 UTC 2018
#14880: GHC panic: updateRole
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone: 8.8.1
Component: Compiler (Type | Version: 8.2.2
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #15076 | Differential Rev(s): Phab:D4769
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by tdammers):
Replying to [comment:78 goldfire]:
> Before we continue drilling in that direction, are these results
reproducible? Timing is notoriously fickle, and I think it would be wise
to make sure we know what we're getting into here.
Oh yes, absolutely right, and I just did exactly that.
Turns out the switch from FV to VarSet increases allocations quite a bit,
but not enough to explain the failure completely - only about halfway.
Observe:
baseline:
{{{
("bytes allocated", "1145886664")
}}}
with VarSet instead of fv:
{{{
("bytes allocated", "1176456040")
}}}
patch applied fully:
{{{
("bytes allocated", "1207902048")
}}}
This uses the settings from the test suite directly, and a validate build.
So it should be perfectly reproducible, something like this:
{{{
for NAME in T14880-baseline T14880-just-tvs T14880
do
echo "$NAME"
git checkout "wip/$NAME" && (make -j2 && (/usr/bin/time --verbose
~/well-typed/devel/ghc-phab/inplace/bin/ghc-stage2 -c
testsuite/tests/perf/compiler/T5631.hs -fforce-recomp +RTS -V0
-tlogs/$NAME.stat --machine-readable -RTS) |& tee logs/$NAME.timing &&
echo "$NAME")
done
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14880#comment:79>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list