[GHC] #16201: ghci063 failing on Darwin

#16201: ghci063 failing on Darwin ----------------------------------------+--------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Keywords: | Operating System: MacOS X Architecture: Unknown/Multiple | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+--------------------------------- {{{#!diff --- /dev/null 2019-01-16 12:17:41.000000000 -0800 +++ ghci/scripts/ghci063.run/ghci063.run.stderr.normalised 2019-01-16 12:17:42.000000000 -0800 @@ -0,0 +1,2 @@ + +B.hs:1:1: parse error on input ‘***’ }}} The test in question is just a normal `ghci_script` test: {{{ :! echo module A where {} >A.hs :! echo module B where { import A } >B.hs :load B -- We're going to replace B.hs with an invalid module but without -- changing its timestamp. A :reload should *not* look at the -- contents of the file, because the timestamp hasn't changed. :! cp B.hs B.hs-copy :! touch -r B.hs B.hs-copy :! echo "*** INVALID ***" >B.hs :! touch -r B.hs-copy B.hs :reload -- Put the original file back, now it should work :! cp B.hs-copy B.hs :reload }}} I have no idea why GHCi would be trying to parse the `!echo`, much less only on Darwin. This is currently the last issue Darwin issue keeping us from setting `allow_failure` to false so I'm going to mark this as broken. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by RyanGlScott): Ironically, `ghci063` is now breaking the CI build on `validate- x86_64-darwin` because it is unexpectedly passing (nondeterministically, of course). Here is an example from a [https://ghc- gitlab.s3.amazonaws.com/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b/2019_02_24/34776/53677/job.log ?response-content-type=text/plain%3B%20charset%3Dutf-8&response-content- disposition=inline&X-Amz-Expires=600&X-Amz-Date=20190224T105625Z&X-Amz- Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI3NPPHETCY4XXTOA/20190224 /us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz- Signature=4f88ddb6c4ecf5cb462c3b70b16a2e4e3f5d8a25a107a97621d1e942d51f7a48 recent run]: {{{ =====> ghci063(ghci) 1644 of 6844 [0, 0, 0] cd "ghci/scripts/ghci063.run" && HC="/Users/builder/builds/b4bc6410/0/ghc/ghc/inplace/bin/ghc-stage2" HC_OPTS="-dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics- color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output " "/Users/builder/builds/b4bc6410/0/ghc/ghc/inplace/bin/ghc-stage2" --interactive -v0 -ignore-dot-ghci -fno-ghci-history +RTS -I0.1 -RTS -fghci-leak-check -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno- debug-output < ghci063.script <elided> *** unexpected pass for ghci063(ghci) <elided> SUMMARY for test run started at Sat Feb 23 21:45:56 2019 PST 0:27:56 spent to go through 6844 total tests, which gave rise to 26554 test cases, of which 19254 were skipped 42 had missing libraries 7156 expected passes 101 expected failures 0 caused framework failures 0 caused framework warnings 1 unexpected passes 0 unexpected failures 0 unexpected stat failures Unexpected passes: ghci/scripts/ghci063.run ghci063 [unexpected] (ghci) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: ci-breakage Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by RyanGlScott): * keywords: => ci-breakage -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: ci-breakage Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by int-index): I have confirmed the non-deterministic nature of this locally. Out of 6 repeated runs there was 1 unexpected pass. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: ci-breakage Operating System: MacOS X | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by int-index): I figured it out, `touch -r` leads to precision loss: {{{ ghc(master)*$ echo "" > file ghc(master)*$ /nix/store/acnfbicd84bnya2l2dq868b5l482qihw- coreutils-8.30/bin/stat file File: file Size: 1 Blocks: 8 IO Block: 4096 regular file Device: 1000004h/16777220d Inode: 14905419 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/int-index) Gid: ( 20/ staff) Access: 2019-02-25 01:11:23.807505116 +0300 Modify: 2019-02-25 01:11:23.807627350 +0300 Change: 2019-02-25 01:11:23.807627350 +0300 Birth: 2019-02-25 01:11:23.807505116 +0300 ghc(master)*$ touch -r file file ghc(master)*$ /nix/store/acnfbicd84bnya2l2dq868b5l482qihw- coreutils-8.30/bin/stat file File: file Size: 1 Blocks: 8 IO Block: 4096 regular file Device: 1000004h/16777220d Inode: 14905419 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/int-index) Gid: ( 20/ staff) Access: 2019-02-25 01:11:23.807505000 +0300 Modify: 2019-02-25 01:11:23.807627000 +0300 Change: 2019-02-25 01:11:39.159813166 +0300 Birth: 2019-02-25 01:11:23.807505116 +0300 }}} The test passes nondeterministically when the last three digits are zero even before `touch`, I think. I was lucky to observe this locally after only a few runs, otherwise I would probably not even attempt to debug this! The solution is to do `touch -r B.hs B.hs` to nullify the digits before we run other `touch -r` commands. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: ci-breakage Operating System: MacOS X | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | https://gitlab.haskell.org/ghc/ghc/merge_requests/440 -------------------------------------+------------------------------------- Changes (by int-index): * differential: => https://gitlab.haskell.org/ghc/ghc/merge_requests/440 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: ci-breakage Operating System: MacOS X | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | https://gitlab.haskell.org/ghc/ghc/merge_requests/440 -------------------------------------+------------------------------------- Changes (by int-index): * status: new => patch -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16201#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16201: ghci063 failing on Darwin
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: patch
Priority: highest | Milestone: 8.8.1
Component: Compiler | Version: 8.6.3
Resolution: | Keywords: ci-breakage
Operating System: MacOS X | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: | https://gitlab.haskell.org/ghc/ghc/merge_requests/440
-------------------------------------+-------------------------------------
Comment (by Ben Gamari

#16201: ghci063 failing on Darwin
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: patch
Priority: highest | Milestone: 8.8.1
Component: Compiler | Version: 8.6.3
Resolution: | Keywords: ci-breakage
Operating System: MacOS X | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: | https://gitlab.haskell.org/ghc/ghc/merge_requests/440
-------------------------------------+-------------------------------------
Comment (by Vladislav Zavialov
participants (1)
-
GHC