[GHC] #10090: Building ghc with "make -j12" gives different ABI hashes for base to "make -j8"

#10090: Building ghc with "make -j12" gives different ABI hashes for base to "make -j8" -------------------------------------+------------------------------------- Reporter: | Owner: juhpetersen | Status: new Type: bug | Milestone: Priority: normal | Version: 7.8.4 Component: Build | Operating System: Unknown/Multiple System | Type of failure: None/Unknown Keywords: | Blocked By: Architecture: | Related Tickets: Unknown/Multiple | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- While building ghc-7.8.4 for Fedora 22 (devel) I found that doing highly parallel make builds of ghc affects the ABI hash of base, etc. The threshold seems to be between -j8 and -j12, which likely changes the build order of some modules causes changes to ABI hashes. While it is not hard to workaround, it is not really nice so it would be good to track this down IMHO. I haven't seen this kind of issue since 7.4.2 anyway so it may be an indirect buildsystem "regression" with ghc-7.8? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -j12" gives different ABI hashes for base to "make -j8" -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Description changed by juhpetersen: Old description:
While building ghc-7.8.4 for Fedora 22 (devel) I found that doing highly parallel make builds of ghc affects the ABI hash of base, etc.
The threshold seems to be between -j8 and -j12, which likely changes the build order of some modules causes changes to ABI hashes.
While it is not hard to workaround, it is not really nice so it would be good to track this down IMHO. I haven't seen this kind of issue since 7.4.2 anyway so it may be an indirect buildsystem "regression" with ghc-7.8?
New description: While building ghc-7.8.4 for Fedora 22 (devel) I found that doing highly parallel make builds of ghc affects the ABI hash of base, etc. The threshold seems to be between -j8 and -j12, which likely changes the build order of some modules causing changes to ABI hashes. While it is not hard to workaround, it is not really nice so it would be good to track this down IMHO. I haven't seen this kind of issue since 7.4.2 anyway so it may be an indirect buildsystem "regression" with ghc-7.8? -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -j12" gives different ABI hashes for base to "make -j8" -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9370 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by int-e): * related: => #9370 Comment: I could reproduce this with ghc-7.8.4 (for example, I obtained 3 different ABI hashes for the haskell98 package from building ghc 6 times, with -j1, -j4, -j8, -j12, -j16 and -j24). On the other hand, ghc-7.10 RC2 produced identical ABI hashes in the same scenario. So this appears to have been fixed, at least for the libraries in ghc. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -j12" gives different ABI hashes for base to "make -j8" -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #4012 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by int-e): * related: #9370 => #4012 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -jN" gives different base ABI hashes for N<=8 and N>8 -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #4012 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -jN" gives different base ABI hashes for N<=8 and N>8 -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #4012 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by juhpetersen): Thanks int-e for looking into this - much appreciated. :) It is encouraging indeed that this should be fixed with ghc-7.10, hopefully it won't appear again in the future. :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

... ghc-7.10 RC2 produced identical ABI hashes in the same scenario. So
#10090: Building ghc with "make -jN" gives different base ABI hashes for N<=8 and N>8 -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: worksforme | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #4012 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * status: new => closed * resolution: => worksforme Comment: Replying to [comment:2 int-e]: this appears to have been fixed, at least for the libraries in ghc. @juhpetersen: please reopen if you still have problems with 7.10. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10090: Building ghc with "make -jN" gives different base ABI hashes for N<=8 and N>8 -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Build System | Version: 7.8.4 Resolution: worksforme | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #4012 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by juhpetersen): Okay thanks. Just for the record s390 seems to be ABI unstable on -j4. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10090#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC