
Using the gdb macros on the wiki I can retrieve the following info after
#10375: arm: ghci hits an illegal instruction -------------------------------------+--------------------------------- Reporter: erikd | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.10.2 Component: GHCi | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: arm Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+--------------------------------- Comment (by carter): @erikd, your register snapshot doesnt make sense, it names x86_64 registers, namely XMM*, YMM* , and ZMM* families, but your code is on ARM right? Or am I misreading the dump? Replying to [comment:15 erikd]: the segfault:
{{{ Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb14ff460 (LWP 7214)] 0xb88d09d4 in ?? () (gdb) bt #0 0xb88d09d4 in ?? () #1 0x70000000 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt
stack?)
(gdb) pregs $1 = {rR1 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} ,rR2 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR3 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR4 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR5 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR6 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR7 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR8 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR9 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rR10 = {w = 0, a = 0x0, c = 0, f = 0, i = 0, p = 0x0} , rF1 = 0, rF2 = 0, rF3 = 0, rF4 = 0, rF5 = 0, rF6 = 0 , rD1 = 0, rD2 = 0, rD3 = 0, rD4 = 0, rD5 = 0, rD6 = 0 , rXMM1 = {h = 0, l = 0} , rXMM2 = {h = 0, l = 0} , rXMM3 = {h = 0, l = 0} , rXMM4 = {h = 0, l = 0} , rXMM5 = {h = 0, l = 0} , rXMM6 = {h = 0, l = 0} , rYMM1 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rYMM2 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rYMM3 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rYMM4 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rYMM5 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rYMM6 = {h = {h = 0, l = 0}, l = {h = 0, l = 0}} , rZMM1 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rZMM2 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rZMM3 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rZMM4 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rZMM5 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rZMM6 = {h = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}, l = {h = {h = 0, l = 0}, l = {h = 0, l = 0}}} , rL1 = 0, rSp = 0x0, rSpLim = 0x0, rHp = 0x0, rHpLim = 0xb08fbfff , rCCCS = 0x0, rCurrentTSO = 0xb09cc8a4, rNursery = 0x109078 , rCurrentNursery = 0xb0801f60, rCurrentAlloc = 0xb0901980, rHpAlloc = 0, rRet = 3} (gdb) ptso $2 = {header = {info = 0xb2bf43c0
}, _link = 0xb2c146d8 , global_link = 0xb2c146d8 , stackobj = 0xb09cc4f4, what_next = 1, why_blocked = 0, flags = 0 , block_info = {closure = 0xb2c146d8 , prev = 0xb2c146d8 , bh = 0xb2c146d8 , throwto = 0xb2c146d8 , wakeup = 0xb2c146d8 , fd = -1295956264 } , id = 22, saved_errno = 0, dirty = 1 , bound = 0x0, cap = 0xb2c16180 <MainCapability> , trec = 0xb2c146d0 , blocked_exceptions = 0xb2c146d8 , bq = 0xb2c146d8 , alloc_limit = 2592, tot_stack_size = 232 } (gdb) info registers r0 0xb6f73018 3069653016 r1 0xb2bf434c 2998879052 r2 0x1 1 r3 0xb09cc7c6 2963064774 r4 0xb2c16190 2999017872 r5 0xb09cc81c 2963064860 r6 0xb08fbbf4 2962209780 r7 0xb09cc938 2963065144 r8 0xb14fefa0 2974805920 r9 0x0 0 r10 0xb2bf4160 2998878560 r11 0xb09cc558 2963064152 r12 0xb2c15b8c 2999016332 sp 0xb14fcd68 0xb14fcd68 lr 0x70000000 1879048192 pc 0xb88d09d4 0xb88d09d4 cpsr 0x400f0010 1074724880 }}}
The `pc` register definitetly does contain a bad value, but there's no good explanation of how it got there.
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10375#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler