[CRIU] failure dumping nginx in docker container

Pavel Emelyanov xemul at parallels.com
Thu Jun 4 02:18:15 PDT 2015


On 06/03/2015 08:42 PM, Ross Boucher wrote:
> This is a new instance of the same process -- the dump is the same, but the map id that's failing now is:
> 7f81502d9000 (just to explain that the other id won't appear in this log)

The bogus mapping is

7f81502d9000-7f81502dc000 rw-s 00000000 00:0b 1635352                    /[aio] (deleted)

OK, this is the AIO ring. Strange, CRIU should support it. I have several
questions.

1. What's the kernel version you're using?
2. Can you run the "criu check", what would it show?
3. Also, please, take this proggie

#include <stdio.h>

int main(int argc, char **argv)
{
	open(argv[1], 0);
}


and strace what it does on the /proc/$nginx_pid/map_files/$aio_mapping. The
correct behavior should be -ENXIO reported by the kernel. By seeing this
CRIU finds out that the mapping in question is AIO. In some older kernels
this rung used to be open-able, but on those kernels AIO rings were not
remap-able, so CRIU didn't support AIO-s on them. Maybe that's your case?

-- Pavel


More information about the CRIU mailing list