-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
sometimes, /usr/bin/fuse-overlayfs remains after container exist. #7061
Comments
Could you check if this still happens on podman 1.9.3 version which should be on RHEL8.2.1 now. |
I'll try it out later. |
that is the equivalent of leaking a mount point. When that happens, can you do: |
just hit this this issue, see my below test. no podman process here: [xianwu@rcn07 ~]$ podman run -it localhost/centos hostname [xianwu@rcn07 ~]$ ps -ewf |grep podman Here is output of: podman unshare cat /proc/self/mountinfo |
I have run into this issue pretty often, and it seems to exist on a wide selection of podman versions. |
You can see if you’re affected by running these commands:
The defunct fuse-overlayfs processes are owned by init and are sleeping (not zombies). |
@giuseppe Thoughts on what is causing this? Do we need something in containers storage to remove these on shutdown? |
I think the cleanup process fails. I see sometimes leaked mounts from root as well. The difference with fuse-overlayfs is that when we leak the mount we also leak the process that is managing that mount |
I see 4 fuse-overlayfs running in my homedir right now.
|
So these are fuse-overlay that are not mounting anything? |
Could this possible dirty shutdown be the same root cause that sometimes corrupts |
so that seems like a fuse-overlayfs issue. Can you please strace these processes? In what syscall are they blocked? |
can you try The mounts created by fuse-overlayfs are in the new user+mount namespace, not visible from the host |
Yes the mount points were in the unshare mount namespace. |
I tried stracing a few of these like giuseppe suggested (not all of them because I umm... apparently have hundreds of these). They all appear to be hung on either |
so it is waiting for events from FUSE. I think that is expected. I still think the issue is that we fail the cleanup and don't even get to do the Unmount. You can check if it is fuse-overlays to hang by doing:
Does fuse-overlayfs exit after that? |
It does indeed look like that causes the defunct fuse-overlays to exit. So this is probably a podman shutdown bug? |
If you are on Podman v2.0.3 or later, we should be printing full logs from the cleanup process ( |
I have two running on my system right now.
But I don't see any mounts in /proc/mounts even if I do a podman unshare. |
have you used pods? I think #7283 could help to clean up leaked mounts |
Has anyone seem this since the release of Podman 2.0.5? I suspect it should be fixed with the pod cleanup code having merged |
Closing, reopen if you have seen it. |
I've upgraded to Podman 2.0.6, and this problem looks like it is still very much a problem. |
What's the right way to reopen this? I'll try to collect the debugging info @mheon was looking for. |
Pretty weird -- I ran with
|
@wwilson thanks for the follow-up. To reopen, you need to click on the "Reopen and comment" button. However, I think that only shows up for members of the "Containers" organization and the reporter of the issue. I'll go ahead and reopen the issue for you assuming that the button is not being displayed. |
Update: the fuse-overlayfs process is killed if the halted container is destroyed. Dunno if that helps narrow down on where the issue could be. |
A friendly reminder that this issue had no activity for 30 days. |
I don't believe we have this issue in latest podman in github or fuse-overlayfs in github. |
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
Steps to reproduce the issue:
1.start a container:
[xianwu@rcn07 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
34335b25d1e4 localhost/centos:latest /home/xianwu/.lsb... About a minute ago Exited (0) 26 seconds ago ulaworks008.job.4039
[xianwu@rcn07 ~]$ ps -ewf |grep 205298
xianwu 205298 1 0 08:21 ? 00:00:00 /usr/bin/fuse-overlayfs -o lowerdir=/podmanfs/overlay/l/D6ZILYLI2BLBDF65YSKZRRBKOB:/podmanfs/overlay/l/UNZMQEUSSGU7ZCGQZ6ICUEFNHX,upperdir=/podmanfs/overlay/6ea6e0c4da2c6f350a07279c6d71525be9f8c9cb66cc53272b6d42a8a60b26f7/diff,workdir=/podmanfs/overlay/6ea6e0c4da2c6f350a07279c6d71525be9f8c9cb66cc53272b6d42a8a60b26f7/work,uidmapping=0:1:33857:33857:0:1:33858:33858:31679,gidmapping=0:1:10007:10007:0:1:10008:10008:55529 /podmanfs/overlay/6ea6e0c4da2c6f350a07279c6d71525be9f8c9cb66cc53272b6d42a8a60b26f7/merged
Describe the results you received:
the /usr/bin/fuse-overlayfs remains.
Describe the results you expected:
the /usr/bin/fuse-overlayfs exists automatically.
Additional information you deem important (e.g. issue happens only occasionally):
Output of
podman version
:[xianwu@rcn07 ~]$ podman info --debug
debug:
compiler: gc
git commit: ""
go version: go1.13.4
podman version: 1.6.4
host:
BuildahVersion: 1.12.0-dev
CgroupVersion: v1
Conmon:
package: conmon-2.0.6-1.module_el8.2.0+305+5e198a41.x86_64
path: /usr/bin/conmon
version: 'conmon version 2.0.6, commit: a2b11288060ebd7abd20e0b4eb1a834bbf0aec3e'
Distribution:
distribution: '"centos"'
version: "8"
IDMappings:
gidmap:
- container_id: 0
host_id: 10007
size: 1
- container_id: 1
host_id: 100000
size: 65536
uidmap:
- container_id: 0
host_id: 33857
size: 1
- container_id: 1
host_id: 100000
size: 65536
MemFree: 5225304064
MemTotal: 6244052992
OCIRuntime:
name: runc
package: runc-1.0.0-65.rc10.module_el8.2.0+305+5e198a41.x86_64
path: /usr/bin/runc
version: 'runc version spec: 1.0.1-dev'
SwapFree: 3951292416
SwapTotal: 3999264768
arch: amd64
cpus: 2
eventlogger: journald
hostname: rcn07
kernel: 4.18.0-193.el8.x86_64
os: linux
rootless: true
slirp4netns:
Executable: /bin/slirp4netns
Package: slirp4netns-0.4.2-3.git21fdece.module_el8.2.0+305+5e198a41.x86_64
Version: |-
slirp4netns version 0.4.2+dev
commit: 21fdece2737dc24ffa3f01a341b8a6854f8b13b4
uptime: 19h 48m 3.57s (Approximately 0.79 days)
registries:
blocked: null
insecure: null
search:
store:
ConfigFile: /home/xianwu/.config/containers/storage.conf
ContainerStore:
number: 40
GraphDriverName: overlay
GraphOptions:
overlay.mount_program:
Executable: /usr/bin/fuse-overlayfs
Package: fuse-overlayfs-0.7.2-5.module_el8.2.0+305+5e198a41.x86_64
Version: |-
fuse-overlayfs: version 0.7.2
FUSE library version 3.2.1
using FUSE kernel interface version 7.26
GraphRoot: /podmanfs
GraphStatus:
Backing Filesystem: extfs
Native Overlay Diff: "false"
Supports d_type: "true"
Using metacopy: "false"
ImageStore:
number: 1
RunRoot: /tmp/run-33857
VolumePath: /podmanfs/storage/volumes
(paste your output here)
The text was updated successfully, but these errors were encountered: