[GHC] #13911: GHC RTS VEH swallowing exceptions

GHC ghc-devs at haskell.org
Tue Sep 26 19:39:42 UTC 2017


#13911: GHC RTS VEH swallowing exceptions
-------------------------------------+-------------------------------------
        Reporter:  tim-m89           |                Owner:  (none)
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.4.1
       Component:  Runtime System    |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
 Type of failure:  Incorrect result  |  Unknown/Multiple
  at runtime                         |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D3911
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"1825cbdbdf08ed4bd6fd6794852596078953298a/ghc"
 1825cbdb/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="1825cbdbdf08ed4bd6fd6794852596078953298a"
 Switch VEH to VCH and allow disabling of SEH completely.

 Exception handling on Windows is unfortunately a bit complicated.
 But essentially the VEH Handlers we currently have are running too
 early.

 This was a problem as it ran so early it also swallowed C++ exceptions
 and other software exceptions which the system could have very well
 recovered from.

 So instead we use a sequence of chains to for the exception handlers to
 run as late as possible. You really can't get any later than this.

 Please read the comment in the patch for more details.

 I'm also providing a switch to allow people to turn off the exception
 handling entirely. In case it does present a problem with their code.

 Test Plan: ./validate

 Reviewers: austin, hvr, bgamari, erikd, simonmar

 Reviewed By: bgamari

 Subscribers: rwbarton, thomie

 GHC Trac Issues: #13911, #12110

 Differential Revision: https://phabricator.haskell.org/D3911
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13911#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list