[GHC] #15285: "strange closure type" in T7919 with the threaded2 way

#15285: "strange closure type" in T7919 with the threaded2 way ----------------------------------------+---------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Keywords: | Operating System: Linux Architecture: Unknown/Multiple | Type of failure: Runtime crash Test Case: T7919 | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+---------------------------------- Last night's `./validate --slow` run on Circle CI revealed the following failure: {{{ Wrong exit code for T7919(threaded2)(expected 0 , actual 134 ) Stderr ( T7919 ): T7919: internal error: evacuate: strange closure type 32554624 (GHC version 8.5.20180617 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug Aborted *** unexpected failure for T7919(threaded2) }}} The full log is available [https://circleci.com/api/v1.1/project/github/ghc/ghc/6205/output/107/0?file=... here]. Among other things, you can see that it indeed only fails in the threaded2 way. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): Looked at this ticket briefly today and managed to get at least 3 different faiures with threaded runtime when sanity checks are enabled. {{{ $ ./T7919 +RTS -DS -N >/dev/null Memory leak detected: gen 0 blocks : 204 blocks ( 0.8 MB) gen 1 blocks : 2309 blocks ( 9.0 MB) nursery : 3074 blocks ( 12.0 MB) retainer : 0 blocks ( 0.0 MB) arena blocks : 0 blocks ( 0.0 MB) exec : 0 blocks ( 0.0 MB) GC free pool : 77 blocks ( 0.3 MB) free : 1895 blocks ( 7.4 MB) total : 7559 blocks ( 29.5 MB) in system : 7560 blocks (30 MB) Unreachable blocks: T7919: internal error: ASSERTION FAILED: file rts/sm/Sanity.c, line 992 (GHC version 8.7.20180827 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug zsh: abort (core dumped) ./T7919 +RTS -DS -N > /dev/null $ ./T7919 +RTS -DS -N >/dev/null T7919: internal error: ASSERTION FAILED: file rts/sm/BlockAlloc.c, line 901 (GHC version 8.7.20180827 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug zsh: abort (core dumped) ./T7919 +RTS -DS -N > /dev/null rts git:(master) $ ./T7919 +RTS -DS -N >/dev/null T7919: internal error: ASSERTION FAILED: file rts/sm/BlockAlloc.c, line 899 (GHC version 8.7.20180827 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug zsh: abort (core dumped) ./T7919 +RTS -DS -N > /dev/null }}} Some other failures without sanity checks (but with debug runtime): {{{ $ ./T7919 +RTS -N >/dev/null T7919: internal error: ASSERTION FAILED: file rts/sm/Sanity.c, line 991 (GHC version 8.7.20180827 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug zsh: abort (core dumped) ./T7919 +RTS -N > /dev/null $ ./T7919 +RTS -N >/dev/null T7919: internal error: ASSERTION FAILED: file rts/sm/GCUtils.c, line 105 (GHC version 8.7.20180827 for x86_64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug zsh: abort (core dumped) ./T7919 +RTS -N > /dev/null }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * status: new => patch * differential: => Phab:D5115 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): I found a data race in the garbage collector and submitted a patch for this. I can't confirm that it fixes the original report (as I couldn't reproduce it) but it fixed the assertion failures I reported in comment:1. Alp, were you able to reproduce the original error locally? If yes could you try again with my patch? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): I think this was an error that I first saw on Circle CI, the slow validate job, and that I then managed to reproduce locally yes. I will trigger another slow validate job against your diff, will post the link to the circle ci build once it has started. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): There you go: https://circleci.com/gh/ghc/ghc-diffs/283 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): So validate got killed before completion as it took too long, but I can see that T7919 passed: {{{ =====> T7919(normal) 4146 of 6532 [0, 2, 0] =====> T7919(hpc) 4146 of 6532 [0, 2, 0] =====> T7919(optasm) 4146 of 6532 [0, 2, 0] =====> T7919(ghci) 4146 of 6532 [0, 2, 0] =====> T7919(threaded1) 4146 of 6532 [0, 2, 0] =====> T7919(threaded2) 4146 of 6532 [0, 2, 0] =====> T7919(dyn) 4146 of 6532 [0, 2, 0] }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): And it's not expected to fail in threaded2 (and possibly other ways) ? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): Yeah it should pass in all ways. I'll run a slow validate locally also just to make sure the patch doesn't introduce new failures. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way
-------------------------------------+-------------------------------------
Reporter: alpmestan | Owner: (none)
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Runtime System | Version: 8.5
Resolution: | Keywords:
Operating System: Linux | Architecture:
| Unknown/Multiple
Type of failure: Runtime crash | Test Case: T7919
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D5115
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ömer Sinan Ağacan

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: merge Priority: normal | Milestone: 8.6.1 Component: Runtime System | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * status: patch => merge * milestone: => 8.6.1 Comment: Ben, can we merge this to 8.6 branch? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15285: "strange closure type" in T7919 with the threaded2 way -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: 8.6.1 Component: Runtime System | Version: 8.5 Resolution: fixed | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: T7919 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5115 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed Comment: Merged with d46dd4528753f5b1e13540691f936cf45c127621. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15285#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC