[CRIU] [PATCH 6/8] compel: Do not loose sign of result in compat syscall

Andrey Vagin avagin at virtuozzo.com
Sat Nov 4 10:08:12 MSK 2017


On Wed, Nov 01, 2017 at 02:08:51PM +0000, Dmitry Safonov wrote:
> 2017-11-01 13:47 GMT+00:00 Dmitry Safonov <0x7f454c46 at gmail.com>:
> > 2017-11-01 13:19 GMT+00:00 Cyrill Gorcunov <gorcunov at openvz.org>:
> >> From: Cyrill Gorcunov <gorcunov at virtuozzo.com>
> >>
> >> Regs are present in unsigned format so convert them
> >> into signed first to provide results.
> >>
> >> In particular if memfd_create syscall failed we won't
> >> notice -ENOMEM error but rather treat it as unsigned
> >> hex value
> >>
> >>  | (05.303002) Putting parasite blob into 0x7f1c6ffe0000->0xfffffff4
> >>  | (05.303234) Putting tsock into pid 42773
> >>
> >> Signed-off-by: Cyrill Gorcunov <gorcunov at virtuozzo.com>
> >
> > Reviewed-by: Dmitry Safonov <dima at arista.com>
> 
> Andrey, could you check if that fixes
> https://github.com/checkpoint-restore/criu/issues/398
> on Jenkins, please?

It doesn't fix #398, unfortunately

[root at usr-LAN-dhcp-38 criu]# python test/zdtm.py run -t zdtm/static/env00 
Warn  (criu/kerndat.c:820): Stale /run/criu.kdat file
=== Run 1/1 ================ zdtm/static/env00

========================== Run zdtm/static/env00 in h ==========================
Start test
./env00 --pidfile=env00.pid --outfile=env00.out --envname=ENV_00_TEST
Run criu dump
Warn  (criu/kerndat.c:820): Stale /run/criu.kdat file
=[log]=> dump/zdtm/static/env00/48/1/dump.log
------------------------ grep Error ------------------------
(00.035121) 48 was trapped
(00.035151) 48 (native) is going to execute the syscall 3, required is 15
(00.035210) 48 was trapped
(00.035235) `- Expecting exit
(00.035332) Error (compel/src/lib/infect.c:1443): Task 48 is in unexpected state: b7f
(00.035390) Error (compel/src/lib/infect.c:1451): Task stopped with 11: Segmentation fault
(00.035415) Error (criu/cr-dump.c:1482): Can't cure (pid: 48) from parasite
(00.035658) Unlock network
(00.035694) Unfreezing tasks into 1
(00.035714) 	Unseizing 48 into 1
(00.037292) Error (criu/cr-dump.c:1819): Dumping FAILED.
------------------------ ERROR OVER ------------------------


> (and add Fixes: #398 on merge if it's so)
> 
> Because I have no internet at home yet..
> And a bit yet busy with some other relocation stuff.
> 
> Thanks,
>              Dmitry


More information about the CRIU mailing list