[GHC] #16102: forkProcess causes weird GC summary in the forked process

#16102: forkProcess causes weird GC summary in the forked process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime | Version: 8.6.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: -------------------------------------+------------------------------------- The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug. Here's the output with GHC 8.4: {{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ... $ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed) %GC time 61200000.0% (32.3% elapsed) Alloc rate 0 bytes per MUT second Productivity -100999900.0% of total user, 47.2% of total elapsed Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed) %GC time 32.0% (14.5% elapsed) Alloc rate 87,073,954 bytes per MUT second Productivity 43.3% of total user, 74.6% of total elapsed }}} Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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: | -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 osa1: Old description:
The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug.
Here's the output with GHC 8.4:
{{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ...
$ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed)
%GC time 61200000.0% (32.3% elapsed)
Alloc rate 0 bytes per MUT second
Productivity -100999900.0% of total user, 47.2% of total elapsed
Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed)
%GC time 32.0% (14.5% elapsed)
Alloc rate 87,073,954 bytes per MUT second
Productivity 43.3% of total user, 74.6% of total elapsed }}}
Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process.
New description: The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug. Here's the output with GHC 8.4: {{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ... $ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed) %GC time 61200000.0% (32.3% elapsed) Alloc rate 0 bytes per MUT second Productivity -100999900.0% of total user, 47.2% of total elapsed Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed) %GC time 32.0% (14.5% elapsed) Alloc rate 87,073,954 bytes per MUT second Productivity 43.3% of total user, 74.6% of total elapsed }}} Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process. Can also reproduce with 8.6. Note that you sometimes need to run this a few times to reproduce. Every once in a while I get normal results (where productivity is not negative). -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 osa1: Old description:
The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug.
Here's the output with GHC 8.4:
{{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ...
$ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed)
%GC time 61200000.0% (32.3% elapsed)
Alloc rate 0 bytes per MUT second
Productivity -100999900.0% of total user, 47.2% of total elapsed
Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed)
%GC time 32.0% (14.5% elapsed)
Alloc rate 87,073,954 bytes per MUT second
Productivity 43.3% of total user, 74.6% of total elapsed }}}
Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process.
Can also reproduce with 8.6.
Note that you sometimes need to run this a few times to reproduce. Every once in a while I get normal results (where productivity is not negative).
New description: The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug. Here's the output with GHC 8.4: {{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ... $ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed) %GC time 61200000.0% (32.3% elapsed) Alloc rate 0 bytes per MUT second Productivity -100999900.0% of total user, 47.2% of total elapsed Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed) %GC time 32.0% (14.5% elapsed) Alloc rate 87,073,954 bytes per MUT second Productivity 43.3% of total user, 74.6% of total elapsed }}} Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process. Can also reproduce with 8.6.3. Note that you sometimes need to run this a few times to reproduce. Every once in a while I get normal results (where productivity is not negative). -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 osa1: Old description:
The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug.
Here's the output with GHC 8.4:
{{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ...
$ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed)
%GC time 61200000.0% (32.3% elapsed)
Alloc rate 0 bytes per MUT second
Productivity -100999900.0% of total user, 47.2% of total elapsed
Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s
INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed)
%GC time 32.0% (14.5% elapsed)
Alloc rate 87,073,954 bytes per MUT second
Productivity 43.3% of total user, 74.6% of total elapsed }}}
Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process.
Can also reproduce with 8.6.3.
Note that you sometimes need to run this a few times to reproduce. Every once in a while I get normal results (where productivity is not negative).
New description: The existing test `forkprocess01` actually exhibits this behavior, but we just don't have the necessary assertions in place to catch it. One of the assertions I added in https://gitlab.haskell.org/ghc/ghc/merge_requests/51 catches this bug. Here's the output with GHC 8.4: {{{ $ ghc forkprocess01.hs -debug -rtsopts [1 of 1] Compiling Main ( forkprocess01.hs, forkprocess01.o ) Linking forkprocess01 ... $ ./forkprocess01 +RTS -s 44,144 bytes allocated in the heap 4,824 bytes copied during GC 37,696 bytes maximum residency (1 sample(s)) 19,648 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0006s 0.0006s INIT time 0.000s ( 0.000s elapsed) MUT time 0.000s ( 0.001s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.000s ( 0.002s elapsed) %GC time 61200000.0% (32.3% elapsed) Alloc rate 0 bytes per MUT second Productivity -100999900.0% of total user, 47.2% of total elapsed Just (Exited (ExitFailure 72)) 54,160 bytes allocated in the heap 3,480 bytes copied during GC 44,576 bytes maximum residency (1 sample(s)) 25,056 bytes maximum slop 2 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 0 colls, 0 par 0.000s 0.000s 0.0000s 0.0000s Gen 1 1 colls, 0 par 0.001s 0.001s 0.0005s 0.0005s INIT time 0.000s ( 0.000s elapsed) MUT time 0.001s ( 0.003s elapsed) GC time 0.001s ( 0.001s elapsed) EXIT time 0.000s ( 0.000s elapsed) Total time 0.002s ( 0.004s elapsed) %GC time 32.0% (14.5% elapsed) Alloc rate 87,073,954 bytes per MUT second Productivity 43.3% of total user, 74.6% of total elapsed }}} Notice the `-100999900.0%` productivity in the first summary, which is printed by the child process. Can also reproduce with 8.6.3 and GHC HEAD. Note that you sometimes need to run this a few times to reproduce. Every once in a while I get normal results (where productivity is not negative). -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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): * cc: simonmar, bgamari (added) Comment: The problem is this: when we fork, in the child process CPU time starts from 0 (or at least from a lower value than the value in parent process), but we don't reset `start_init_cpu`, we use the value from the parent process. So `start_init_cpu` becomes larger than `getProcessCPUTime()` in the child process when it starts running. If we immediately then we can observe this state. Here's an example in gdb: (shortly after a `forkProcess()`, in child process): {{{
call getProcessCPUTime() $6 = 238056 print start_init_cpu $7 = 3994827 }}}
Not sure how to fix this, but some ideas: - Make the child process inherit the CPU time. (I'm not sure if this is possible though, or if it's possible in all platforms we want to support) - Reset all counters (start_init_cpu, gc times etc.) in the child process. Simon, Ben, any ideas on this? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 osa1): I doubt (1) is possible, so maybe we have to go with (2). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 bgamari): I think (2) makes the most sense anyways. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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://gitlab.haskell.org/ghc/ghc/merge_requests/51 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process -------------------------------------+------------------------------------- Reporter: osa1 | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: Component: Runtime System | Version: 8.6.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 osa1): * status: patch => closed * resolution: => fixed Comment: Merges as 19670bc397d858b04eb9b4eb01480f7f8c59e2f5 (the commit fixes both this ticket and #15897). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16102#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16102: forkProcess causes weird GC summary in the child process
-------------------------------------+-------------------------------------
Reporter: osa1 | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Runtime System | Version: 8.6.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: |
-------------------------------------+-------------------------------------
Comment (by Ömer Sinan Ağacan
participants (1)
-
GHC