[GHC] #15063: T3001-2 fails on i386 Linux
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 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 `T3001-2` testcase fails on i386/Linux: {{{ Wrong exit code for T3001-2(prof_hb)(expected 0 , actual 134 ) Stderr ( T3001-2 ): T3001-2: internal error: Invalid object in processHeapClosureForDead(): 7 (GHC version 8.5.20180419 for i386_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug Aborted *** unexpected failure for T3001-2(prof_hb) }}} Closure type 7 is `CONSTR_NOCAF`, which is indeed invalid. Tracking this down will take some debugging. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage 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): * keywords: => ci-breakage -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * related: => #15087 Comment: This is possibly related to #15087, which fails with the same error message. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * related: #15087 => #15087, #15165 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): #7836 | Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * related: #15087, #15165 => #15087, #15165, #7836 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): #7836 | Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * priority: normal => high -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): #7836 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"749bc1a0b08c75b69b5ea7d6faab3626b1d75c03/ghc" 749bc1a/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="749bc1a0b08c75b69b5ea7d6faab3626b1d75c03" testsuite: Mark T3001-2 as broken on 32-bit platforms Due to #15063. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): Phab:D4928 #7836 | Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * status: new => patch * differential: => Phab:D4928 Comment:
Closure type 7 is CONSTR_NOCAF, which is indeed invalid. Tracking this down will take some debugging.
Why do you think CONSTR_NOCAF is invalid here? We allocate CONSTR_NOCAFs in heap and we need to handle this in `processHeapClosureForDead`. I submitted a patch for this with more explanation. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): Phab:D4928 #7836 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari):
Why do you think CONSTR_NOCAF is invalid here?
I'm afraid I can't recall my exact reasoning but I was under the impression that this was a static closure type. If you have observed these being heap allocated then I'm clearly mistaken. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): Phab:D4928 #7836 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ömer Sinan Ağacan <omeragacan@…>): In [changeset:"2625f1310edeff62eb3876cc6efbe105a80fe4ad/ghc" 2625f131/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="2625f1310edeff62eb3876cc6efbe105a80fe4ad" Fix processHeapClosureForDead CONSTR_NOCAF case CONSTR_NOCAF was introduced with 55d535da10d as a replacement for CONSTR_STATIC and CONSTR_NOCAF_STATIC, however, as explained in Note [static constructors], we copy CONSTR_NOCAFs (which can also be seen in evacuate) during GC, and they can become dead, like other CONSTR_X_Ys. processHeapClosureForDead is updated to reflect this. Test Plan: Validates on x86_64. Existing failures on i386. Reviewers: simonmar, bgamari, erikd Reviewed By: simonmar, bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #7836, #15063, #15087, #15165 Differential Revision: https://phabricator.haskell.org/D4928 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: merge Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): Phab:D4928 #7836 | Wiki Page: | -------------------------------------+------------------------------------- Changes (by osa1): * status: patch => merge -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#15063: T3001-2 fails on i386 Linux -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: closed Priority: high | Milestone: 8.6.1 Component: Profiling | Version: 8.2.2 Resolution: fixed | Keywords: ci-breakage Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #15087, #15165, | Differential Rev(s): Phab:D4928 #7836 | Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed Comment: Merged in 30a4bcc3fc3a434b3b6ab64289934281591ce09a (present in alpha 2). -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15063#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC