[GHC] #15508: concprog001 fails with various errors
GHC
ghc-devs at haskell.org
Fri Jan 4 12:08:10 UTC 2019
#15508: concprog001 fails with various errors
-------------------------------------+-------------------------------------
Reporter: osa1 | Owner: osa1
Type: bug | Status: new
Priority: highest | Milestone: 8.8.1
Component: Compiler | Version: 8.5
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Runtime crash | Test Case:
Blocked By: | Blocking:
Related Tickets: #15571 | Differential Rev(s): Phab:D5051
Wiki Page: | (reverted), Phab:D5165, Phab:D5178
-------------------------------------+-------------------------------------
Comment (by osa1):
Looking at the assembly again, this line
{{{
0x000000000051c5cc <+4>: cmp 0x358(%r13),%r12
}}}
does heap limit check for allocation (`%r12` is the reg table, 0x358 =
856,
offset for `rHpLim`), then this line
{{{
0x000000000051c5d5 <+13>: mov 0x360(%r13),%rax
}}}
Moves `rCCCS` (current cost centre stack) to `%rax`, so this line
{{{
0x000000000051c5dc <+20>: addq $0x3,0x48(%rax)
}}}
Tries to increment current cost centre stack's `mem_alloc`! Somehow
`rCCCS->mem_alloc` is actually info pointer of another closure!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15508#comment:27>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list