[GHC] #13004: Timeout no longer kills processes on timeout
#13004: Timeout no longer kills processes on timeout -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Test Suite | Version: 8.1 Keywords: | Operating System: Windows Architecture: | Type of failure: Incorrect result Unknown/Multiple | at runtime Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- There's a bug in timeout where processes aren't being killed on a timeout. e.g. `~/ghc/testsuite/timeout/install-inplace/bin/timeout.exe 10 "sleep 10000s"` never ends -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13004> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13004: Timeout no longer kills processes on timeout -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Test Suite | Version: 8.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:D2880 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * status: new => patch * differential: => Phab:D2880 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13004#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13004: Timeout no longer kills processes on timeout -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Test Suite | Version: 8.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:D2880 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Tamar Christina <tamar@…>): In [changeset:"6263e1079a2d203fbd2e668ca99c0e901fcd1548/ghc" 6263e107/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="6263e1079a2d203fbd2e668ca99c0e901fcd1548" Fix timeout's timeout on Windows Summary: Timeout has been broken by my previous patch. The timeout event was not being processed correctly, as such hanging processes would not be killed as they should have been. This corrects it. Test Plan: ./validate ~/ghc/testsuite/timeout/install-inplace/bin/timeout.exe 10 "sleep 10000s" Reviewers: austin, RyanGlScott, bgamari Reviewed By: bgamari Subscribers: thomie, #ghc_windows_task_force Differential Revision: https://phabricator.haskell.org/D2880 GHC Trac Issues: #13004 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13004#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13004: Timeout no longer kills processes on timeout -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.2.1 Component: Test Suite | Version: 8.1 Resolution: fixed | 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:D2880 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * status: patch => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13004#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13004: Timeout no longer kills processes on timeout -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.2.1 Component: Test Suite | Version: 8.1 Resolution: fixed | 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:D2880 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Tamar Christina <tamar@…>): In [changeset:"efc4a1661f0fc1004a4b7b0914f3d3a08c2e791a/ghc" efc4a16/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="efc4a1661f0fc1004a4b7b0914f3d3a08c2e791a" Allow timeout to kill entire process tree. Summary: we spawn the child processes with handle inheritance on. So they inherit the std handles. The problem is that the job handle gets inherited too. So the `JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE` doesn't get used since there are open handles to the job in the children. We then terminate the top level process which is `sh` but leaves the children around. This explicitly disallows the inheritance of the job and events handle. Test Plan: ./validate Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie, #ghc_windows_task_force Differential Revision: https://phabricator.haskell.org/D2895 GHC Trac Issues: #13004 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13004#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC