Opened 4 years ago

Closed 4 years ago

#5656 closed bug (worksforme)

Biographical profiling broken in 7.2.1

Reported by: diatchki Owned by:
Priority: normal Milestone:
Component: Profiling Version: 7.2.1
Keywords: biographical profiling Cc:
Operating System: Linux Architecture: x86_64 (amd64)
Type of failure: Incorrect result at runtime Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):


I am trying to profile a program, and when I look at the biographical profile the trace contains records like this:

VOID    643630488
LAG     18446744073156607560
USE     18446744073429600120
INHERENT_USE    12492984
DRAG    314533424

The LAG and USE fields are too large, so it looks like something has wrapped around.

Change History (5)

comment:1 Changed 4 years ago by simonmar

  • Status changed from new to infoneeded

Please attach the program, or try with HEAD (build from git or wait for a release candidate). Profiling has been overhauled since 7.2.1, there's good reason to believe this is fixed.

comment:2 Changed 4 years ago by diatchki

Hello, I am sorry that I can't attach the program that causes this behavior---I am profiling a large program for work. I did rebuild everything with today's GHC (version 7.3.20111128, git tag 36f8cabecd5a8320ee174abb56e73841a5cbc9c7) and I am getting the same behavior.

The RTS flags I used: +RTS -K64M -M2G -hb

Let me know if I can provide some additional information. The program that I am testing has a big memory leak, so maybe another leaky program would be able to reproduce the issue?

comment:3 Changed 4 years ago by simonmar

I have tried a program with a space leak, and can't reproduce it. Looking at the code I can see how some of the calculations might overflow on a 64-bit machine, but not until a heap size of about 16Gb. I'll fix these anyway, but from your results it looks more like a bug in the calculations (something has gone negative) than an integer overflow.

comment:4 Changed 4 years ago by marlowsd@…

commit 53055bb5023e8cc145ad8a9cd36ac56cee4695b0

Author: Simon Marlow <[email protected]>
Date:   Tue Nov 29 16:05:05 2011 +0000

    Turn a bunch of ints into longs to avoid overflow (#5656)

 rts/ProfHeap.c |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

comment:5 Changed 4 years ago by simonmar

  • Resolution set to worksforme
  • Status changed from infoneeded to closed

Please re-open if you have any more info that might help us reproduce the bug.

Note: See TracTickets for help on using tickets.