criu icon indicating copy to clipboard operation
criu copied to clipboard

Podman Test fails in CI

Open Snorch opened this issue 2 years ago • 7 comments

https://github.com/checkpoint-restore/criu/actions/runs/4251213238/jobs/7403160954

2023-02-23T18:03:42.3288827Z make[3]: Nothing to be done for 'criu/string.c'.
2023-02-23T18:03:42.3405699Z   DEP      criu/unittest/unit.d
2023-02-23T18:03:42.3581977Z   DEP      criu/unittest/mock.d
2023-02-23T18:03:42.3734610Z   CC       criu/unittest/mock.o
2023-02-23T18:03:42.4287772Z   CC       criu/unittest/unit.o
2023-02-23T18:03:42.5524255Z   LINK     criu/unittest/built-in.o
2023-02-23T18:03:42.5668520Z   LINK     criu/unittest/unittest
2023-02-23T18:03:42.6077260Z Error (criu/config.c:127): Unsupported configuration file format. Please consult man page criu(8)
2023-02-23T18:03:42.6077639Z OK
2023-02-23T18:03:42.6080543Z Error (criu/config.c:238): Unsupported configuration file format. Please consult man page criu(8)
2023-02-23T18:03:42.6081414Z Error (criu/config.c:172): Unsupported configuration file format. Please consult man page criu(8)
2023-02-23T18:03:42.6082123Z Error (criu/config.c:238): Unsupported configuration file format. Please consult man page criu(8)
2023-02-23T18:03:42.6082876Z make[1]: Leaving directory '/home/runner/work/criu/criu'
...
2023-02-23T18:05:06.2180634Z + podman container restore cr
2023-02-23T18:05:06.6449222Z Error: OCI runtime error: CRIU restoring failed -52.  Please check CRIU logfile /var/lib/containers/storage/overlay-containers/8b660891c2e6de28d600f1468d4f4de0a2cfecd1d5c88645359bc4a1d5657ba2/userdata/restore.log
2023-02-23T18:05:06.6511420Z make: *** [Makefile:83: podman-test] Error 125
2023-02-23T18:05:06.6512145Z make: Leaving directory '/home/runner/work/criu

Additional information you deem important (e.g. issue happens only occasionally): Happens on each PR.

Snorch avatar Feb 24 '23 05:02 Snorch

@adrianreber It may be connected with bad criu configuration file provided by podman:

 124                 if (input[offset] == 0) {
 125                         /* The value for the parameter was a single quote, this is not supported. */
 126                         xfree(configuration[i - 1]);
 127                         pr_err("Unsupported configuration file format. Please consult man page criu(8)\n");
 128                         return -1;
 129                 }

Snorch avatar Feb 24 '23 05:02 Snorch

I do not think this is related. The messages from the configuration files are coming from the unit testing of the configuration file code.

The version of Podman is really old, not sure what is going on.

@rst0git can you take a look? Maybe if the base image is updated to 22.04 we would get a newer version of Podman.

adrianreber avatar Feb 24 '23 06:02 adrianreber

It may be connected with bad criu configuration file provided by podman

I agree with Adrian that the messages about "Unsupported configuration file format" are unrelated to this problem. These messages appear because of several configuration file tests for unsupported format in criu/unittest/unit.c.

Maybe if the base image is updated to 22.04 we would get a newer version of Podman.

The version of Podman currently available in the GitHub virtual environment is 3.4.2 for 20.04 (released on Nov 12, 2021) and 3.4.4 for 22.04 (released on Dec 8, 2021).

I have attached the restore.log from CI.

(00.025730) cg: Created cgroup dir cpuset/machine.slice/libpod-a169693fe8678e7c4f49c7caf11c8ae7b36b0af16ed41c5e928f9387109738ff.scope/container
(00.025751) cg: Restore special props
(00.025755) cg: Restoring cgroup property value [0-1] to [cpuset/machine.slice/libpod-a169693fe8678e7c4f49c7caf11c8ae7b36b0af16ed41c5e928f9387109738ff.scope/container/cpuset.cpus]
(00.025780) Error (criu/cgroup.c:1484): cg: Failed writing 0-1 to cpuset/machine.slice/libpod-a169693fe8678e7c4f49c7caf11c8ae7b36b0af16ed41c5e928f9387109738ff.scope/container/cpuset.cpus: Permission denied
(00.025787) Error (criu/cgroup.c:1750): cg: Restoring cpuset.cpus special property failed
(00.025790) Error (criu/cgroup.c:1808): cg: Restoring special cpuset props failed!

rst0git avatar Feb 25 '23 19:02 rst0git

I've opened a pull request with a temporary workaround until we have a fix for this problem: https://github.com/checkpoint-restore/criu/pull/2094

rst0git avatar Feb 25 '23 20:02 rst0git

cpuset.cpus: Permission denied

It seems we need to know which access bits we have on this cgroup file and all ancestor directories...

Snorch avatar Feb 27 '23 03:02 Snorch

The version of Podman is really old, not sure what is going on.

It looks like the packages in kubic:libcontainers:stable are no longer maintained by the Podman team: https://github.com/containers/podman.io_old/pull/584

rst0git avatar Feb 27 '23 20:02 rst0git

A friendly reminder that this issue had no activity for 30 days.

github-actions[bot] avatar Mar 30 '23 00:03 github-actions[bot]