[GHC] #11234: GHCi on Windows segfaults
#11234: GHCi on Windows segfaults ----------------------------------------+------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: new Priority: high | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Keywords: | Operating System: Windows Architecture: Unknown/Multiple | Type of failure: GHCi crash Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+------------------------------- GHCi on Windows has had a segfault for while now on `x86_64`. During the upgrade of `GCC` in Phab:D1123 I noticed that test `prog003` was failing with a segfault. Currently the segfault exist in both versions but on `x86` it's particularly easy to trigger. In my case I can't even start ghci. {{{ $ inplace/bin/GHC-stage2.exe --interactive GHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help Segmentation fault/access violation in generated code }}} The segfault does not seem to happen when linked to the debug rts, and running with `+RTS -Ds -RTS` doesn't report anything special. Compiling with `devel2` so the rts gets compiled with `-g` the stack trace is not very useful. {{{ (gdb) run --interactive Starting program: /home/Tamar/ghc/inplace/bin/ghc-stage2 --interactive [New Thread 108480.0x1960c] [New Thread 108480.0x19b2c] [New Thread 108480.0x19c30] [New Thread 108480.0x1a0a8] [New Thread 108480.0x1a93c] [New Thread 108480.0x13954] [New Thread 108480.0x14440] GHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help Program received signal SIGSEGV, Segmentation fault. 0x06843aa5 in ?? () (gdb) bt #0 0x06843aa5 in ?? () #1 0x04b82cfc in ?? () #2 0x8d078902 in ?? () #3 0xc689fd47 in ?? () #4 0xff04c583 in ?? () #5 0x83c70065 in ?? () #6 0x0000033c in ?? () #7 0x00000008 in ?? () #8 0x04e9c689 in ?? () Backtrace stopped: Cannot access memory at address 0x47c70cc8 }}} And the output of `p4` {{{ (gdb) p4 0x06843aa5 0x6843ab0: 0x330073 0x6843aac: 0x790073 <c1CgU_info+131> 0x6843aa8: 0x6d005c <c1rsa_info+715> 0x6843aa4: 0x3a0045 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonmar): * priority: high => highest Comment: I guess we should consider this a release blocker. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: patch Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1683 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * status: new => patch * differential: => Phab:D1683 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: patch Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1683 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Tamar Christina <tamar@…>): In [changeset:"aa7fb9a64da740eb42e56e085adc445f0103e743/ghc" aa7fb9a/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="aa7fb9a64da740eb42e56e085adc445f0103e743" Fix GHCi segfault in Windows 32bit Summary: Add missing calling convention to function pointer, incorrect `cdecl` calling convention which should be `stdcall` on x86 was causing the stack to be corrupted. When it tried to return from the function the return pointer would be invalid. Test Plan: ./validate Reviewers: austin, erikd, bgamari, thomie Reviewed By: bgamari, thomie Differential Revision: https://phabricator.haskell.org/D1683 GHC Trac Issues: #11234 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: closed Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: fixed | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1683 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * status: patch => closed * resolution: => fixed Comment: That should be it for the startup segfault. `prog003` seems to run on HEAD already. So that must have been fix by some other commit. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: closed Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: fixed | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1683 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Tamar, THANK YOU for sorting this out. Really helpful. Simon -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11234: GHCi on Windows segfaults -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Phyx- Type: bug | Status: closed Priority: highest | Milestone: 8.0.1 Component: Runtime System | Version: 7.11 Resolution: fixed | Keywords: Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: GHCi crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1683 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Phyx-): Cheers :) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11234#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC