-
Notifications
You must be signed in to change notification settings - Fork 294
Symlink Emulation fails. #137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
We have exactly same problem. We trigger this bug often by using symlinks in git repositories. When switching between different branches containing different symlinks, we almost always trigger this unaccessable/unremovable symlink. We have to restart docker to fix this. |
I am seeing a similar issue. This happened with me when running the autoconf In
and Now I run In the container:
Expected BehaviorA normal, successful run of this barebones
This is the result I get in the same Docker container when not running in a host-mounted volume. Actual Behavior
The error does't actually make sense since it's not a recursive symlink or anything. If I try to read the symlink (e.g.
so it seems to work. However:
the symlink is replaced with what appears to be a normal file.
the dirent for it keeps coming back, but the file itself is missing. It can't be written to either:
and it otherwise exhibits the same behaviors as the OP mentioned (sometimes I also get the ????s in the The file is visible from Windows, but cannot be deleted, opened, edited, or have its permissions changed in any way. It's completely corrupt. In my Cygwin shell it shows as:
Restarting the Docker VM seems to fix it sometimes. Other times I can only delete the file after a full reboot. This all seems to have something to do with the fact that the |
@embray thanks for the detailed report. I can repro this with the latest beta on the latest windows insider build. FWIW I can also reproduce this directly in the Linux VM, ie not inside a container. We use SMB/CIFS mounts from Linux and there we specify the mfsymlinks option to emulate symlinks on the Linux side only. That's the reason you can't see them on the Windows host. However, the other issues, including the inability to remove files/symlinks seem like a bug in the Linux kernel implementation + interaction with the CIFS server on the host. The Linux kernel code implementing the symlink emulation has been largely unchanged since 2014 but there seems to be a bug somewhere... |
Cool--I was planning on testing that as well but had to move on to other things for today. That definitely increases my suspicion that this is actually a Linux bug. |
@embray I could reproduce the issue on a Ubuntu Linux VM and will send details to the relevant linux kernel mailing list. I'd like to credit you for the easy repro so if you send me your email address I'll cc you (otherwise will just refer to your GH profile). My email address is |
Any idea what's going on here? This burns me at least once a day, forcing a docker restart. Did this get pushed out to lkml, and if so, can we get a link to the thread? |
Back in February @rneugeba sent an e-mail about it to a couple mailing lists (and CC'd me) but I don't think it ever got any respone? And now that I look, I don't see it in the archives of those mailing lists so I wonder if it got bounced. |
There are two mailing lists, one is closed and got bounced. The other is open but I never got a response. The mailing list archives are hard to find. Let me check again... |
Please try to use the master branch of https://github.com/TYPO3/CmsComposerInstallers. It should no longer create the problematic file
|
Another method to resolve the corruption is to use the |
Nothing new about a solution for the bug? |
+1 I see this corrupt link file very consistently when using npm inside a docker container on Windows where one particular package.json intentionally references a dependency by a local (relative) path. |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so. Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. |
/remove-lifecycle stale |
currently trying to reproduce this issue outside of our composer installation. Looks like that symlinks created inside containers get unreliable under heavy io-load, not presenting the actual symlinked content, but a dummy-file
But I can't reproduce this standalone atm. What occured during testing on a clean |
I have another, similar issue: |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so. Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. |
Still actual
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so. Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. |
Still actual /remove-lifecycle stale |
/lifecycle frozen |
Uh oh!
There was an error while loading. Please reload this page.
Expected behavior
Symlinked file should show content of original file
Actual behavior
Sometimes container sees the following content:
XSym 0021 607cac914a72ec8c3c3f1d6d7eb98214 ../../../autoload.php
If I enter the bash in the container and remove the file, the file is corrupted and a listing shows this
root@de7aff095c91:/var/www/html/vendor/typo3/cms/vendor# ls -la
ls: cannot access autoload.php: No such file or directory
total 4
drwxr-xr-x 2 root root 0 Oct 8 11:27 .
drwxr-xr-x 2 root root 4096 Oct 8 11:25 ..
-????????? ? ? ? ? ? autoload.php
And now windows can't do anything with the file either. After a chkdsk /F the corruption ist gone.
I testet this on 2 different machines and also in a VM. Same problems.
Information
I used my container image fduarte/docker-php based on library/php:apache:7.0 to install Typo3. I see this if I start to reload the backend over and over again. Sometimes it happens. After a reload it is gone again.
I'm using docker for windows 1.12.2-rc1 beta27.1 (build 7538) on Windows 10 pro 1607 (build 14393.222)
The text was updated successfully, but these errors were encountered: