Skip to content
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

There are several ways, a filesystem can be used to introduce nondeterminism:

  1. readdir order is already covered in its own section

  2. storing mtime, ctime or atime values of files touched during build will introduce varying timestamps

  3. using st_ino or st_dev fields from stat(2)

  4. storing st_size for directories or using st_blocks or st_blksize for any file, because it is filesystem-dependent. E.g. creating a million files and removing them again, will cause a directory to be large on ext4

Seen in the wild:

    • .pyc files in cpython
    • compiled free pascal (fpc) files
    • fwnn .dic files