podman: Podman 2.2.0 is broken on Ubuntu Focal

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind bug

Description

Steps to reproduce the issue:

  1. Install Podman 2.2.0 using documented method/repo: https://podman.io/getting-started/installation

  2. Execute: podman info

Describe the results you received:

podman -v
podman version 2.2.0
podman info
error creating temporary file: No such file or directory
Error: error setting up the process: open /tmp/podman-run-1001/libpod/pause.pid: no such file or directory

Describe the results you expected:

Info output…

Additional information you deem important (e.g. issue happens only occasionally):

It works with sudoer accounts…

Output of podman version:

podman version
error creating temporary file: No such file or directory
Error: error setting up the process: open /tmp/podman-run-1001/libpod/pause.pid: no such file or directory

Output of podman info --debug:

podman info --debug
error creating temporary file: No such file or directory
Error: error setting up the process: open /tmp/podman-run-1001/libpod/pause.pid: no such file or directory

Package info (e.g. output of rpm -q podman or apt list podman):

podman/unknown,now 2.2.0~1 amd64 [installed]

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide?

Yes

Additional environment details (AWS, VirtualBox, physical, etc.):

physical

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 34 (17 by maintainers)

Commits related to this issue

Most upvoted comments

For reference, we are planning a 2.2.1 on Monday that will include the fix - wanted a few extra days to get more fixes for 2.2 issues landed.

I am having the same problem. For me a temporary workaround is

ln -s /tmp/run-$( id -u ) /tmp/podman-run-$( id -u )
mkdir /tmp/podman-run-$( id -u )/libpod

It should not be necessary - we’ll go back to using the old path. The symlink will no longer be used, but it existing won’t harm anything.

Also, it should be rolling out soon (tag is pushed, I believe OBS is building)

Seems to be some kind of residue after: 3daef2e82638a7bdae5037d4fc0d8918a57368e3 (v2.1.0-529-g3daef2e82)

--- a/pkg/util/utils_supported.go
+++ b/pkg/util/utils_supported.go
@@ -38,7 +38,7 @@ func GetRuntimeDir() (string, error) {
                        }
                }
                if runtimeDir == "" {
-                       tmpDir := filepath.Join(os.TempDir(), fmt.Sprintf("run-%s", uid))
+                       tmpDir := filepath.Join(os.TempDir(), fmt.Sprintf("podman-run-%s", uid))
                        if err := os.MkdirAll(tmpDir, 0700); err != nil {
                                logrus.Debug(err)
                        }

DEBU[0000] Using tmp dir /tmp/run-1000/libpod/tmp

Error: error setting up the process: open /tmp/podman-run-1000/libpod/pause.pid: no such file or directory

But uses /run/user/1000 under systemd (XDG_RUNTIME_DIR).

@ocafebabe It seems like yours indicates Podman is working?

The one from @jdockter indicates that the directory we’re using for the pause process is not the actual temporary directory - Podman is configured to use /tmp/run-1000/libpod/tmp as a temporary files directory, but it’s looking for the pause process at /tmp/podman-run-1000/libpod/pause.pid (note the run-1000 in the first, versus podman-run-1000 in the second). @giuseppe PTAL

Thanks! Creating a symlink from /tmp/run-1000 to /tmp/podman-run-1000 fixed the problem for me, but clearly this is a kludge…is there something we need to do our side for a permanent fix or will this be fixed in the next podman update?