[GHC] #15440: Flush eventlog in hs_init_ghc
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature | Status: new request | Priority: normal | Milestone: Component: Runtime | Version: 8.4.3 System | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Currently GHC RTS traces some basic information about the process in `hs_init_ghc` but the information is often flushed to the eventlog at the very end of the process lifetime. Or even worse, it's never written to it if the process terminates abnormally. This is very inconvenient because the information contains some useful stuff like EVENT_WALL_CLOCK_TIME, which is quite important if user wants to sync timestamps in the eventlog with clock. The simplest way to fix the issue is to flush the eventlog buffer in `hs_init_ghc`. This is implemented at https://github.com/maoe/ghc/commit/30e20e4e66adccc28c59c8876331918d30eacef2. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by maoe: Old description:
Currently GHC RTS traces some basic information about the process in `hs_init_ghc` but the information is often flushed to the eventlog at the very end of the process lifetime. Or even worse, it's never written to it if the process terminates abnormally.
This is very inconvenient because the information contains some useful stuff like EVENT_WALL_CLOCK_TIME, which is quite important if user wants to sync timestamps in the eventlog with clock.
The simplest way to fix the issue is to flush the eventlog buffer in `hs_init_ghc`.
This is implemented at https://github.com/maoe/ghc/commit/30e20e4e66adccc28c59c8876331918d30eacef2.
New description: Currently GHC RTS traces some basic information about the process in `hs_init_ghc` but the information is often flushed to the eventlog at the very end of the process lifetime. Or even worse, it's never written to it if the process terminates abnormally. This is very inconvenient because the information contains some useful stuff like `EVENT_WALL_CLOCK_TIME`, which is quite important if user wants to sync timestamps in the eventlog with clock. The simplest way to fix the issue is to flush the eventlog buffer in `hs_init_ghc`. This is implemented at https://github.com/maoe/ghc/commit/30e20e4e66adccc28c59c8876331918d30eacef2. -- -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature request | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * status: new => patch Comment: https://github.com/ghc/ghc/pull/170 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature request | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"7a3e1b25ff9a570851a59c4cf3600daa49867b9b/ghc" 7a3e1b2/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="7a3e1b25ff9a570851a59c4cf3600daa49867b9b" rts: Flush eventlog in hs_init_ghc (fixes #15440) Without this change RTS typically doesn't flush some important events until the process terminates or it doesn't write them at all in case it terminates abnormally. Here is a list of such events: * EVENT_WALL_CLOCK_TIME * EVENT_OS_PROCESS_PID * EVENT_OS_PROCESS_PPID * EVENT_RTS_IDENTIFIER * EVENT_PROGRAM_ARGS * EVENT_PROGRAM_ENV }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature request | Status: merge Priority: normal | Milestone: 8.6.1 Component: Runtime System | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => merge * milestone: => 8.6.1 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15440: Flush eventlog in hs_init_ghc -------------------------------------+------------------------------------- Reporter: maoe | Owner: (none) Type: feature request | Status: closed Priority: normal | Milestone: 8.6.1 Component: Runtime System | Version: 8.4.3 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed Comment: Merged to `ghc-8.6` in 50e4e48bb0d63aaa4c62f5ca0f01d5fb7587ec84. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15440#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC