[GHC] #12009: ASSERTION FAILED: file rts/LdvProfile.c, line 48
GHC
ghc-devs at haskell.org
Fri May 6 03:44:33 UTC 2016
#12009: ASSERTION FAILED: file rts/LdvProfile.c, line 48
-------------------------------------+-------------------------------------
Reporter: erikd | Owner: erikd
Type: bug | Status: new
Priority: normal | Milestone: 8.0.2
Component: Compiler | Version: 7.10.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Runtime crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by erikd):
* cc: carter (added)
Comment:
Oh wow, just realised that the profiling code is not thread safe!!!!!
The function `LDV_recordDead` mutates global variable `censuses` which
does not have any locking around it. Only figured this out because the
following assert (in `LDV_recordDead`) was being triggered.
{{{
ASSERT(censuses[t].void_total < censuses[t].not_used);
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12009#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list