
#15287: T11627[ab] fail on some Darwin environments -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Another run, this this with `DEBUG_RETAINER` set: {{{ pop() to the previous stack. stackSize = 0 retainClosure() ends: oldStackTop = 0x200000, stackTop = 0x200000 retainClosure() called: c0 = 0x1345c0, cp0 = 0x1345c0, r0 = 0x13f7e0 push(): stackTop = 0x200000, currentStackBoundary = 0x200000 stackSize = 1 push(): stackTop = 0x1fffd8, currentStackBoundary = 0x200000 stackSize = 2 pop(): stackTop = 0x1fffb0, currentStackBoundary = 0x200000 popOff(): stackTop = 0x1fffb0, currentStackBoundary = 0x200000 stackSize = 1 popOff(): stackTop = 0x1fffd8, currentStackBoundary = 0x200000 pop() to the previous stack. stackSize = 0 retainClosure() ends: oldStackTop = 0x200000, stackTop = 0x200000 retainClosure() called: c0 = 0x133ee0, cp0 = 0x133ee0, r0 = 0x13f7e0 push(): stackTop = 0x200000, currentStackBoundary = 0x200000 stackSize = 1 push(): stackTop = 0x1fffd8, currentStackBoundary = 0x200000 stackSize = 2 pop(): stackTop = 0x1fffb0, currentStackBoundary = 0x200000 pop(): stackTop = 0x1fffb0, currentStackBoundary = 0x200000 popOff(): stackTop = 0x1fffb0, currentStackBoundary = 0x200000 stackSize = 1 popOff(): stackTop = 0x1fffd8, currentStackBoundary = 0x200000 pop() to the previous stack. stackSize = 0 retainClosure() ends: oldStackTop = 0x200000, stackTop = 0x200000 retainClosure() called: c0 = 0x134a80, cp0 = 0x134a80, r0 = 0x13f7e0 pop(): stackTop = 0x200000, currentStackBoundary = 0x200000 retainClosure() ends: oldStackTop = 0x200000, stackTop = 0x200000 retainClosure() called: c0 = 0x12f550, cp0 = 0x12f550, r0 = 0x12dab0 push(): stackTop = 0x200000, currentStackBoundary = 0x200000 T11627a was compiled with optimization - stepping may behave oddly; variables may not be available. Process 36053 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3 frame #0: 0x00000001000d5cff T11627a`retainClosure [inlined] isRetainer(c=<unavailable>) at RetainerProfile.c:1057 [opt] 1054 case IND: 1055 case INVALID_OBJECT: 1056 default: -> 1057 barf("Invalid object in isRetainer(): %p, type=%d", c, get_itbl(c)->type); 1058 return false; 1059 } 1060 } Target 0: (T11627a) stopped. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3 * frame #0: 0x00000001000d5cff T11627a`retainClosure [inlined] isRetainer(c=<unavailable>) at RetainerProfile.c:1057 [opt] frame #1: 0x00000001000d5cff T11627a`retainClosure(c0=<unavailable>, cp0=0x000000010012f550, r0=0x000000010012dab0) at RetainerProfile.c:1517 [opt] frame #2: 0x00000042001fcec8 (lldb) }}} Given that the backtrace is truncated it looks rather like someone has smashed the C callstack. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15287#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler