GHC 8.2 GC time stats going negative

Harendra Kumar harendra.kumar at
Thu Nov 9 18:42:52 UTC 2017

Hi Ben,

Yes, there are FFI calls between the two getRTSStats calls. FFI calls are C
APIs to get some OS stats like clock time or cpu time etc. Now I know that
this is not expected, let me try to minimize the example and see where it
goes. I will try removing the FFI calls as well.


On 9 November 2017 at 23:49, Ben Gamari <ben at> wrote:

> Harendra Kumar <harendra.kumar at> writes:
> > Hi,
> >
> > I am trying to use the mutator_cpu_ns and mutator_elapsed_ns from GHC 8.2
> > RTSStats structure retrieved using getRTSStats API documented here -
> > .
> >
> > I am seeing that the values of these stats retrieved about 30 ms later
> are
> > lower than the values retrieved earlier. Sometimes even after 100 ms the
> > values decrease from the previous ones. However, as the time duration
> > between two calls increase this becomes less and less likely.
> >
> > Is this an expected behavior or am I using it incorrectly? If it is
> > expected, why does it happen, what is the underlying mechanism that makes
> > it happen?
> >
> Hmm, interesting. I don't believe this should happen and I do know of
> bugs in the RTS's time accounting at exit-time (manifesting in profiling
> issues, e.g. #14257) however what you describe doesn't seem to fit that
> description. Do you have a simple repro? Is there anything special about
> your program (e.g. lots of FFI calls)?
> Cheers,
> - Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list