[GHC] #16201: ghci063 failing on Darwin

GHC ghc-devs at haskell.org
Sun Feb 24 22:21:59 UTC 2019


#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


More information about the ghc-tickets mailing list