0

Had the weirdest issue at work. Cannot reproduce it now. Looking for anyone with similar experiences.

We have a python script, which creates some install-packages for our embedded platform. The python script invokes a subshell with fakeroot. Inside the fakeroot another python script is run, which in turn calls a bash script. Inside the bottom bash script a number of symlinks are created.

Once in a while we would get some errors like "Tar: Too many levels of symbolic links".

After adding some debugging, we saw that the symlinks where corrupted from time to time. Instead of "ln -s /foo/bar/bas /some/other/path" creating a proper symlink, we would instead see this in the filesystem:

-r-------- 1 root root 38 Oct 20 22:55 bas

A file with no permissions, no link-flag set and only the base-name of the link preserved.

After exiting the fakeroot, the symlink file would have "fixed" itself. It looked ok in the filesystem, with proper permissions and path. Only inside the fakeroot was the file "wrong".

This happened on a linux mint 20.2 (fakeroot 1.24). I managed to reproduce it inside a docker image, for a while. The next day, after rebuilding the docker image, I could not reproduce the error anymore.

Am I going crazy here? What is going on? Timing issues? delays? bugs in old fakeroot?

Daniel
  • 428
  • 3
  • 8

0 Answers0