[GHC] #10187: Panic: RegAlloc.Liveness.computeLivenss; SCCs aren't in reverse dependent order; bad blockId c8xHd

#10187: Panic: RegAlloc.Liveness.computeLivenss; SCCs aren't in reverse dependent order; bad blockId c8xHd -----------------------------------+--------------------------------------- Reporter: mietek | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Keywords: | Operating System: Linux Architecture: x86 | Type of failure: Compile-time crash Test Case: | Blocked By: Blocking: | Related Tickets: #9541, #9031 Differential Revisions: | -----------------------------------+--------------------------------------- I’ve found another instance of the elusive `RegAlloc.Liveness.computeLivenss` bug, by attempting to bootstrap ''cabal-install'' 1.20.0.6 with GHC 7.8.4 on 32-bit CentOS 6, released on 27/05/2013 (available on [https://aws.amazon.com/marketplace/pp/B00A6KZBC6/ Amazon EC2]). Unfortunately, I’m unable to reproduce the bug on a subsequent attempt. Cosmic rays? {{{ Configuring text-1.1.0.1... Building text-1.1.0.1... Preprocessing library text-1.1.0.1... [ 1 of 43] Compiling Data.Text.Internal.Read ( Data/Text/Internal/Read.hs, dist/build/Data/Text/Internal/Read.o ) [ 2 of 43] Compiling Data.Text.Internal.Encoding.Utf32 ( Data/Text/Internal/Encoding/Utf32.hs, dist/build/Data/Text/Internal/Encoding/Utf32.o ) [ 3 of 43] Compiling Data.Text.Internal.Fusion.Size ( Data/Text/Internal/Fusion/Size.hs, dist/build/Data/Text/Internal/Fusion/Size.o ) [ 4 of 43] Compiling Data.Text.Internal.Builder.RealFloat.Functions ( Data/Text/Internal/Builder/RealFloat/Functions.hs, dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o ) [ 5 of 43] Compiling Data.Text.Internal.Builder.Int.Digits ( Data/Text/Internal/Builder/Int/Digits.hs, dist/build/Data/Text/Internal/Builder/Int/Digits.o ) [ 6 of 43] Compiling Data.Text.Internal.Fusion.Types ( Data/Text/Internal/Fusion/Types.hs, dist/build/Data/Text/Internal/Fusion/Types.o ) [ 7 of 43] Compiling Data.Text.Internal.Fusion.CaseMapping ( Data/Text/Internal/Fusion/CaseMapping.hs, dist/build/Data/Text/Internal/Fusion/CaseMapping.o ) [ 8 of 43] Compiling Data.Text.Encoding.Error ( Data/Text/Encoding/Error.hs, dist/build/Data/Text/Encoding/Error.o ) [ 9 of 43] Compiling Data.Text.Internal.Unsafe.Shift ( Data/Text/Internal/Unsafe/Shift.hs, dist/build/Data/Text/Internal/Unsafe/Shift.o ) [10 of 43] Compiling Data.Text.Internal.Encoding.Utf16 ( Data/Text/Internal/Encoding/Utf16.hs, dist/build/Data/Text/Internal/Encoding/Utf16.o ) [11 of 43] Compiling Data.Text.Internal.Functions ( Data/Text/Internal/Functions.hs, dist/build/Data/Text/Internal/Functions.o ) [12 of 43] Compiling Data.Text.Internal.Unsafe ( Data/Text/Internal/Unsafe.hs, dist/build/Data/Text/Internal/Unsafe.o ) [13 of 43] Compiling Data.Text.Internal.Fusion.Common ( Data/Text/Internal/Fusion/Common.hs, dist/build/Data/Text/Internal/Fusion/Common.o ) [14 of 43] Compiling Data.Text.Array ( Data/Text/Array.hs, dist/build/Data/Text/Array.o ) [15 of 43] Compiling Data.Text.Internal.Unsafe.Char ( Data/Text/Internal/Unsafe/Char.hs, dist/build/Data/Text/Internal/Unsafe/Char.o ) [16 of 43] Compiling Data.Text.Internal ( Data/Text/Internal.hs, dist/build/Data/Text/Internal.o ) [17 of 43] Compiling Data.Text.Unsafe ( Data/Text/Unsafe.hs, dist/build/Data/Text/Unsafe.o ) [18 of 43] Compiling Data.Text.Internal.Private ( Data/Text/Internal/Private.hs, dist/build/Data/Text/Internal/Private.o ) [19 of 43] Compiling Data.Text.Internal.Fusion ( Data/Text/Internal/Fusion.hs, dist/build/Data/Text/Internal/Fusion.o ) [20 of 43] Compiling Data.Text.Internal.Encoding.Fusion.Common ( Data/Text/Internal/Encoding/Fusion/Common.hs, dist/build/Data/Text/Internal/Encoding/Fusion/Common.o ) [21 of 43] Compiling Data.Text.Internal.Encoding.Utf8 ( Data/Text/Internal/Encoding/Utf8.hs, dist/build/Data/Text/Internal/Encoding/Utf8.o ) [22 of 43] Compiling Data.Text.Internal.Encoding.Fusion ( Data/Text/Internal/Encoding/Fusion.hs, dist/build/Data/Text/Internal/Encoding/Fusion.o ) [23 of 43] Compiling Data.Text.Internal.Lazy.Encoding.Fusion ( Data/Text/Internal/Lazy/Encoding/Fusion.hs, dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o ) [24 of 43] Compiling Data.Text.Internal.Search ( Data/Text/Internal/Search.hs, dist/build/Data/Text/Internal/Search.o ) [25 of 43] Compiling Data.Text ( Data/Text.hs, dist/build/Data/Text.o ) [26 of 43] Compiling Data.Text.Encoding ( Data/Text/Encoding.hs, dist/build/Data/Text/Encoding.o ) [27 of 43] Compiling Data.Text.Foreign ( Data/Text/Foreign.hs, dist/build/Data/Text/Foreign.o ) [28 of 43] Compiling Data.Text.Internal.IO ( Data/Text/Internal/IO.hs, dist/build/Data/Text/Internal/IO.o ) [29 of 43] Compiling Data.Text.IO ( Data/Text/IO.hs, dist/build/Data/Text/IO.o ) [30 of 43] Compiling Data.Text.Internal.Lazy ( Data/Text/Internal/Lazy.hs, dist/build/Data/Text/Internal/Lazy.o ) [31 of 43] Compiling Data.Text.Internal.Lazy.Fusion ( Data/Text/Internal/Lazy/Fusion.hs, dist/build/Data/Text/Internal/Lazy/Fusion.o ) [32 of 43] Compiling Data.Text.Internal.Lazy.Search ( Data/Text/Internal/Lazy/Search.hs, dist/build/Data/Text/Internal/Lazy/Search.o ) [33 of 43] Compiling Data.Text.Lazy.Internal ( Data/Text/Lazy/Internal.hs, dist/build/Data/Text/Lazy/Internal.o ) [34 of 43] Compiling Data.Text.Lazy ( Data/Text/Lazy.hs, dist/build/Data/Text/Lazy.o ) [35 of 43] Compiling Data.Text.Internal.Builder ( Data/Text/Internal/Builder.hs, dist/build/Data/Text/Internal/Builder.o ) [36 of 43] Compiling Data.Text.Lazy.Builder ( Data/Text/Lazy/Builder.hs, dist/build/Data/Text/Lazy/Builder.o ) [37 of 43] Compiling Data.Text.Internal.Builder.Functions ( Data/Text/Internal/Builder/Functions.hs, dist/build/Data/Text/Internal/Builder/Functions.o ) [38 of 43] Compiling Data.Text.Lazy.Builder.Int ( Data/Text/Lazy/Builder/Int.hs, dist/build/Data/Text/Lazy/Builder/Int.o ) [39 of 43] Compiling Data.Text.Lazy.IO ( Data/Text/Lazy/IO.hs, dist/build/Data/Text/Lazy/IO.o ) [40 of 43] Compiling Data.Text.Lazy.Read ( Data/Text/Lazy/Read.hs, dist/build/Data/Text/Lazy/Read.o ) [41 of 43] Compiling Data.Text.Lazy.Builder.RealFloat ( Data/Text/Lazy/Builder/RealFloat.hs, dist/build/Data/Text/Lazy/Builder/RealFloat.o ) ghc: panic! (the 'impossible' happened) (GHC version 7.8.4 for i386-unknown-linux): RegAlloc.Liveness.computeLivenss SCCs aren't in reverse dependent order bad blockId c8xHd [NONREC c8xHG: jmp *-4(%ebx), NONREC c8xHF: movl $12,828(%ebx) jmp *stg_gc_unpt_r1@got(%vI_n8Wmo), NONREC c8xHE: movl %vI_n8Wmo,%vI_n8WmH addl $sat_s8qTs{v}_info@gotoff,%vI_n8WmH movl %vI_n8WmH,-8(%edi) movl 4(%ebp),%vI_n8WmI movl %vI_n8WmI,-4(%edi) movl 16(%ebp),%vI_n8WmJ movl %vI_n8WmJ,(%edi) leal -7(%edi),%esi addl $20,%ebp jmp *(%ebp), NONREC c8xHz: movl $48,828(%ebx) movl %vI_n8Wmo,%vI_n8WmF addl $block{v c8xEh}_info@gotoff,%vI_n8WmF movl %vI_n8WmF,(%ebp) movl %vI_s8qTz,%esi movl %vI_s8qTx,4(%ebp) jmp *stg_gc_unbx_r1@got(%vI_n8Wmo), NONREC c8xHq: movl %vI_c8xEw,%esi incl 8(%ebp) addl $8,%ebp jmp *stg_ap_n_fast@got(%vI_n8Wmo), NONREC c8xHp: movl %vI_c8xEw,%esi addl $8,%ebp jmp *stg_ap_n_fast@got(%vI_n8Wmo), NONREC c8xHi: jmp *(%esi), NONREC c8xGZ: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo movl 4(%ebp),%vI_c8xEw movl %esi,%vI_n8Wmw andl $3,%vI_n8Wmw cmpl $2,%vI_n8Wmw jae _c8xHp jmp _c8xHq, NONREC c8xHy: movl %vI_n8Wmo,%vI_n8Wmy addl $lvl65{v s8qTB}_info@gotoff,%vI_n8Wmy movl %vI_n8Wmy,-44(%edi) movl %vI_s8qTz,-36(%edi) movl %vI_n8Wmo,%vI_n8WmA addl $a28{v s8qTD}_info@gotoff,%vI_n8WmA movl %vI_n8WmA,-32(%edi) movl %vI_s8qTd,-28(%edi) movl %vI_s8qTh,-24(%edi) movl %vI_s8qTk,-20(%edi) movl %vI_s8qTx,-16(%edi) leal -44(%edi),%vI_c8xEn movl %vI_c8xEn,-12(%edi) movl %vI_s8qRK,-8(%edi) movl %vI_s8qTj,-4(%edi) movl %vI_s8qTz,(%edi) movl %vI_n8Wmo,%vI_n8WmC addl $block{v c8xGZ}_info@gotoff,%vI_n8WmC movl %vI_n8WmC,16(%ebp) movl %vI_c8xEn,%esi leal -30(%edi),%vI_n8WmD movl %vI_n8WmD,20(%ebp) addl $16,%ebp testl $3,%esi jne _c8xGZ jmp _c8xHi, NONREC c8xGX: addl $12,%edi cmpl 804(%ebx),%edi ja _c8xHF jmp _c8xHE, NONREC c8xEi: addl $48,%edi cmpl 804(%ebx),%edi ja _c8xHz jmp _c8xHy, NONREC c8xHe: movl %esi,%vI_s8qTx movl $65533,%vI_s8qTz jmp _c8xEi, NONREC c8xEh: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo movl 20(%ebp),%vI_s8qRK movl 12(%ebp),%vI_s8qTd movl 16(%ebp),%vI_s8qTh movl 24(%ebp),%vI_s8qTj movl 8(%ebp),%vI_s8qTk movl 4(%ebp),%vI_s8qTx movl %esi,%vI_s8qTz jmp _c8xEi, NONREC c8xEb: jmp *(%esi), NONREC c8xEa: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo movl 20(%ebp),%vI_s8qRK movl 12(%ebp),%vI_s8qTd movl 16(%ebp),%vI_s8qTh movl 24(%ebp),%vI_s8qTj movl 8(%ebp),%vI_s8qTk movl 4(%ebp),%vI_s8qTw movl %vI_s8qTw,%vI_n8Wms andl $2095104,%vI_n8Wms cmpl $55296,%vI_n8Wms jne _c8xHd jmp _c8xHe, NONREC c8xE6: jmp *(%esi), NONREC c8xE5: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo movl %vI_n8Wmo,%vI_n8Wmq addl $block{v c8xEa}_info@gotoff,%vI_n8Wmq movl %vI_n8Wmq,(%ebp) movl 3(%esi),%vI_s8qTw movl 4(%ebp),%esi movl %vI_s8qTw,4(%ebp) testl $3,%esi jne _c8xEa jmp _c8xEb, NONREC c8xGW: movl %vI_n8Wmo,%vI_n8Wmu addl $block{v c8xE5}_info@gotoff,%vI_n8Wmu movl %vI_n8Wmu,-8(%ebp) movl %esi,%vI_s8qTk movl 6(%esi),%vI_s8qTu movl 2(%esi),%esi movl %vI_s8qTu,-4(%ebp) movl %vI_s8qTk,(%ebp) addl $-8,%ebp testl $3,%esi jne _c8xE5 jmp _c8xE6, NONREC c8xDC: jmp *(%esi), NONREC c8xDB: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo movl %esi,%vI_n8Wmn andl $3,%vI_n8Wmn cmpl $2,%vI_n8Wmn jae _c8xGW jmp _c8xGX, NONREC c8xHH: movl %vI_n8Wmo,%vI_n8WmL addl $block{v c8xDB}_info@gotoff,%vI_n8WmL movl %vI_n8WmL,-12(%ebp) movl %esi,%vI_s8qTh movl 2(%esi),%vI_s8qTd movl 6(%esi),%vI_s8qRK movl (%ebp),%esi movl %vI_s8qTd,-8(%ebp) movl %vI_s8qTh,-4(%ebp) movl %vI_s8qRK,(%ebp) addl $-12,%ebp testl $3,%esi jne _c8xDB jmp _c8xDC, NONREC c8xGY: call 1f 1: popl %vI_n8Wmo addl $_GLOBAL_OFFSET_TABLE_+(.-1b), %vI_n8Wmo leal -20(%ebp),%vI_n8Wml cmpl 796(%ebx),%vI_n8Wml jb _c8xHG jmp _c8xHH] }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10187 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10187: Panic: RegAlloc.Liveness.computeLivenss; SCCs aren't in reverse dependent order; bad blockId c8xHd ---------------------------------------+------------------------------ Reporter: mietek | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Compile-time crash | Test Case: Blocked By: | Blocking: Related Tickets: #9541, #9031 | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Comment (by mietek): This issue is no longer relevant. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10187#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC