Skip to content

Windows build failure: atomicCopyFileContents failed (file is locked)

Summary

I got this sporadic error when building ghc on windows:

| Run GhcPkg Update (Stage0 InTreeLibs): _build/stage0/libraries/ghc-heap/inplace-pkg-config => none
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files
| Run Make "_build/stage1/libffi/build": none => none
install-info: No such file or directory for /ghc/msys64/home/andi/ghc_head/_build/stage1/libffi/buil
d/inst/share/info/libffi.info
| Successfully build libffi.
| Copy file: _build/stage1/libffi/build/inst/include/ffitarget.h => _build/stage1/rts/build/include/
ffitarget.h
| Copy file: _build/stage1/libffi/build/inst/include/ffi.h => _build/stage1/rts/build/include/ffi.h
| Successfully copied custom FFI library header files to RTS build directory.
| Successfully copied custom FFI library header files to RTS build directory.
copyFile:atomicCopyFileContents:withReplacementFile:copyFileToHandle:openFile: resource busy (file i
s locked)
Build failed.

However the build continues as expected when restarted.

Steps to reproduce

I started a ghc build with hadrian/build -j10

Expected behavior

What do you expect the reproducer described above to do?

Environment

andi@Ryzen MINGW64 ~
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.3

andi@Ryzen MINGW64 ~
$ cabal --version
cabal-install version 3.10.1.0
compiled using version 3.10.1.0 of the Cabal library

Optional:

  • Operating System: Windows
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information