[CRIU] Saving the state of Google Earth

Pavel Emelyanov xemul at virtuozzo.com
Thu Apr 28 05:40:58 PDT 2016


On 04/28/2016 01:53 PM, Teresa e Junior wrote:
> Em 28/04/2016 07:29, Pavel Emelyanov escreveu:
>>> Trying to create a checkpoint for
>>> Google Earth results in the following (Linux 4.5.2, Ubuntu 16.04):
>>>
>>> $ sudo criu dump -D checkpoint -t "$(pidof googleearth-bin)"
>>> Error (proc_parse.c:499): Can't handle non-regular mapping on 28567's
>>> map 7f84d9a11000
>>
>> This error means, that process 28567 has a virtual memory region at
>> address 0x7f84... which is neither anonymous, not regular file. Since
>> you're dumping an X application this should be some mapping to graphics
>> driver (I'm not an expert in this area). CRIU doesn't support this yet,
>> because such driver mappings should be special-handled each.
>>
>> Would you show the output of the "cat /proc/28567/maps" command?
> 
> Hello, Pavel! Thanks for your answer! The requested maps output is on
> https://gist.github.com/teresaejunior/b067d2766aa49feecb4f2beea4c37119

OK, the process is different one, but the problematic mapping is
likely this:

7f862a82d000-7f862a89d000 rw-s 105bae000 00:06 2279                      /dev/dri/card0

There's quite a lot of such there actually. This is /dev/dri/card0 mapping,
this is Direct Rendering driver that is, if I'm not mistaken, used by opengl.

OK, now we know what it is :)

In order to dump process with such a mapping we'll need to go to /dev/dri/card0
and save whatever information is critical for the process in question. Then,
when we restore tasks back, this information should somehow be fed back to the
card (and this mapping). This is the "special-handling" I was talking about.

>> Yes, using VNC only to make CRIU work would be not optimal.
>>
>>> On criu.org there is some stuff about Docker containers too, and we have
>>> found this page about running 3D applications from Docker:
>>> https://github.com/gklingler/docker3d
>>>
>>> But what would be the recommended method for us to save the state of
>>> Google Earth with CRIU? 
>>
>> We have "dumping graphical app" talk in our todo list, but this is not
>> in primary goals for Virtuozzo company. Nonetheless we're ready to help 
>> you or anyone else who is willing to bring this support into CRIU.
> 
> That would be a pleasure, but I'm still beginning to learn programming!

That's OK. Once you have questions about how to patch the CRIU code to support
DRI -- feel free to ask, we'll try to help.

-- Pavel



More information about the CRIU mailing list