Re: #16201: ghci063 failing on Darwin

"GHC" <[email protected]>
Newsgroups gmane.comp.lang.haskell.glasgow.bugs
Message-ID <[email protected]>
#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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.