[GHC] #16057: GHC 8.6.3 hangs with Template Haskell on Windows 10
GHC
ghc-devs at haskell.org
Sun Dec 16 21:49:08 UTC 2018
#16057: GHC 8.6.3 hangs with Template Haskell on Windows 10
-------------------------------------+-------------------------------------
Reporter: gizmo.mk0 | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone:
Component: Template Haskell | Version: 8.6.3
Resolution: | Keywords:
Operating System: Windows | Architecture: x86
Type of failure: Compile-time | Test Case:
crash or panic |
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by Phyx-):
* priority: normal => highest
Comment:
Bisected to `ed86e3b531322f74d2c2d00d7ff8662b08fabde6`. Now the question
is why.. rebuilding stage2 without rebuilding any of the libs works..
The change somehow causes an invalid info table to be created, this
triggers a segfault
{{{
Thread 1 received signal SIGSEGV, Segmentation fault.
0x0000000002dc3602 in interpretBCO (cap=0x36da520 <MainCapability>)
at rts\Interpreter.c:395
395 switch ( get_itbl(obj)->type ) {
}}}
Which jumps to the signal handlers, which try to recover from the error in
order to print the call stack, and ends up triggering the segfault again.
Causing the infinite loop.
The signal handler looping I have a patch for that I will upstream next
week (need to split it from another patch), however the question is why
the info table becomes invalid with this patch..
{{{
(gdb) p *obj
$1 = {header = {info = 0xec003ac00000000}, payload = 0xec004d8}
(gdb) p obj->info
There is no member named info.
(gdb) p obj->header.info
$2 = (const StgInfoTable *) 0xec003ac00000000
(gdb) p *obj->header.info
Cannot access memory at address 0xec003ac00000000
}}}
Note that this doesn't fail in HEAD, so I don't think the change is actual
cause.. Just exposing it.
Another question remains.. do we not have any actual TH tests in the
testsuite???
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16057#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list