[CRIU] CRIU: Is trying to dump and restore Chromium browser state hopeless? ("Unsupported mapping found")

Brinkmann, Harald Harald.Brinkmann at bst-international.com
Thu May 11 02:36:39 PDT 2017


We want to save and restore a Chromium web browser process with a
complicated web page loaded. The hope is that restoring the browser
state is faster than reloading and reprocessing the web page.

I can dump and restore a simple test process, so criu itself (commit
ed87c0f821a2) works.

With Chromium everything looks fine until until I see that "Unsupported
mapping found" message in the criu dump log. I have modified criu to
print the vmflags and not to stop at the first "Unsupported mapping
found":


(00.892318) Dumping path for -3 fd via self 7 [/tmp/.org.chromium.Chromium.yo2UhN (deleted)]
(00.892343) Strip ' (deleted)' tag from './tmp/.org.chromium.Chromium.yo2UhN (deleted)'
(00.892359) Dumping ghost file for fd 7 id 0x20
(00.892376) mnt: Path `/tmp/.org.chromium.Chromium.yo2UhN' resolved to `./tmp' mountpoint
(00.892394) Dumping ghost file contents (id 0x5)
(00.913748) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms '
(00.913913) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms pf io dc de dd '
(00.913942) Warn  (criu/proc_parse.c:638): Unsupported mapping found 000000005f4bd000-000000005f4dd000
(00.914113) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms pf io dc de dd '
(00.914141) Warn  (criu/proc_parse.c:638): Unsupported mapping found 000000005f4dd000-000000005f4fd000


Eventually criu gives up with this message:

(01.873078) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms pf io dc de dd '
(01.873127) Warn  (criu/proc_parse.c:638): Unsupported mapping found 00000000632f0000-0000000063310000
(01.873371) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms pf io dc de dd '
(01.873421) Warn  (criu/proc_parse.c:638): Unsupported mapping found 0000000063310000-0000000063330000
(01.873668) Warn  (criu/proc_parse.c:108): parse_vmflags: 'rd wr sh mr mw me ms pf io dc de dd '
(01.874293) Warn  (criu/proc_parse.c:638): Unsupported mapping found 0000000063330000-0000000063350000
(01.874504) Error (criu/proc_parse.c:568): Can't handle non-regular mapping on 3844's map 63350000
(01.874652) Error (criu/cr-dump.c:1223): Collect mappings (pid: 3844) failed with -1


Here are my questions:

In addition to the pf and io flags that criu doesn't like, the dc, dd
and de flags are also set. While pf and io mean that a page cannot be
restored by criu, the others seem to indicate that it *should* not be
dumped in the first place. Could this be resolved by criu not dumping
and restoring these pages or would that just not work?

We are building Chromium from source, so provided we know what we are
doing, modifying it is a theoretical possibility. E.g. Modifying the
memory mapping?


--

Regards

i.A. Harald Brinkmann

BST eltromat International GmbH
Werk Leopoldshöhe
Herforder Straße 249-251
D-33818 Leopoldshöhe

T:      +49 (5208) 987-513

E:      harald.brinkmann at bst-international.com
W:      http://www.bst-eltromat.com




_______________________________________________________
Amtsgericht Bielefeld, HRB Nr. 30830
Geschäftsführer Kristian Jünke, Dr. Johann-Carsten Kipp, Dr. Gunter
Tautorus
Sitz der Gesellschaft: Bielefeld
Vertrauliche E-Mail von BST eltromat International GmbH




More information about the CRIU mailing list