-
Notifications
You must be signed in to change notification settings - Fork 617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying to Checkpoint MySql container - criu failed: type NOTIFY errno 0 #14
Comments
This is still a result of the runc/docker bug that was fixed a couple of weeks ago unfortunately. I'm still waiting for this issue[1] to get fixed, so I can submit a pull request to docker to pull in the new version of libcontainer, which will fix the issue. |
I believe if you checkout the latest version of my branch this issue should be fixed. |
@boucher thank you very much for the quick response! The latest version seems to fixed the previous bug, but I cannot checkpoint my container again. Logs
I can see something about Any ideas? Thank you for your help.. |
Criu wants you to pass the file locks command line flag. In the future, we'll do this by default in Docker, but currently its not supported at all. If you want to get something working for yourself and don't need to worry about long term maintenance of it or upstreaming it, you can just edit container_linux.go in libcontainer's vendor folder and just change this line to always pass true:
|
@klesgidis you're welcome :) @boucher , thank you VERY MUCH! |
Sorry for re-opening.. Trying to checkpoint the same container to another pc I have this dump
I think, the only difference is that I haven't apply the patches of torvalds (http://criu.org/Docker).. Do I have apply them too or is something else? Thank you |
Error (proc_parse.c:404): Can't handle non-regular mapping on 14232's map 7f6ba0c22000 Most likely this is AIO ring, to dump it we need the kernel patches mentioned on the page. |
Thank you @xemul.. I 'll apply the fixes and inform here about the results.. |
Running on Ubuntu Server 15.04 you don't need to apply any kernel patches. What distro and kernel are you running? |
@fl0yd , actually I realized that I hadn't update my kernel on this PC. I use Linux Mint 17 with kernel 3.13.0-24-generic.. :P I'll upgrade it and inform for the results.. Thanks |
It worked like a charm! :D Guys I appreciate your help! |
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Cc: Andrei Vagin <avagin@virtuozzo.com> Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor checkpoint-restore#14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Before: =[log]=> dump/zdtm/transition/shmem/142/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> ------------------------ ERROR OVER ------------------------ After: =[log]=> dump/zdtm/transition/shmem/62/1/dump.log ------------------------ grep Error ------------------------ pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 1: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 1: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 5: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 5: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #13: -4 pie: 6: Error (/home/travis/build/0x7f454c46/criu/criu/arch/x86/includ> pie: 6: e/asm/parasite.h:45): Failed to dump TLS descriptor #14: -4 ------------------------ ERROR OVER ------------------------ Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
'info' array is off-by-one, nla_parse_nested() requires destination array (i.e. 'info') to have maxtype+1 (i.e. IFLA_INFO_MAX+1) elements: ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffef823e3f8 WRITE of size 48 at 0x7ffef823e3f8 thread T0 #0 0x7f9ab7a3915b in __asan_memset (/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libasan.so.2+0x8d15b) #1 0x7f9ab6d4e553 in nla_parse (/usr/lib64/libnl-3.so.200+0xa553) #2 0x4acfb7 in dump_one_netdev criu/net.c:445 checkpoint-restore#3 0x4adb60 in dump_one_ethernet criu/net.c:594 checkpoint-restore#4 0x4adb60 in dump_one_link criu/net.c:665 checkpoint-restore#5 0x48af69 in nlmsg_receive criu/libnetlink.c:45 checkpoint-restore#6 0x48af69 in do_rtnl_req criu/libnetlink.c:119 checkpoint-restore#7 0x4b0e86 in dump_links criu/net.c:878 checkpoint-restore#8 0x4b0e86 in dump_net_ns criu/net.c:1651 checkpoint-restore#9 0x4a760d in do_dump_namespaces criu/namespaces.c:985 checkpoint-restore#10 0x4a760d in dump_namespaces criu/namespaces.c:1045 checkpoint-restore#11 0x451ef7 in cr_dump_tasks criu/cr-dump.c:1799 checkpoint-restore#12 0x424588 in main criu/crtools.c:736 checkpoint-restore#13 0x7f9ab67b171f in __libc_start_main (/lib64/libc.so.6+0x2071f) checkpoint-restore#14 0x4253d8 in _start (/criu/criu/criu+0x4253d8) Address 0x7ffef823e3f8 is located in stack of thread T0 at offset 264 in frame #0 0x4ac9ef in dump_one_netdev criu/net.c:364 This frame has 5 object(s): [32, 168) 'netdev' [224, 264) 'info' <== Memory access at offset 264 overflows this variable [320, 1040) 'req' [1088, 3368) 'path' [3424, 3625) 'stable_secret' Increase 'info' size to fix this. Fixes: b705dcc ("net: pass the struct nlattrs to dump() functions") Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
'info' array is off-by-one, nla_parse_nested() requires destination array (i.e. 'info') to have maxtype+1 (i.e. IFLA_INFO_MAX+1) elements: ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffef823e3f8 WRITE of size 48 at 0x7ffef823e3f8 thread T0 #0 0x7f9ab7a3915b in __asan_memset (/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libasan.so.2+0x8d15b) #1 0x7f9ab6d4e553 in nla_parse (/usr/lib64/libnl-3.so.200+0xa553) #2 0x4acfb7 in dump_one_netdev criu/net.c:445 #3 0x4adb60 in dump_one_ethernet criu/net.c:594 #4 0x4adb60 in dump_one_link criu/net.c:665 #5 0x48af69 in nlmsg_receive criu/libnetlink.c:45 #6 0x48af69 in do_rtnl_req criu/libnetlink.c:119 #7 0x4b0e86 in dump_links criu/net.c:878 #8 0x4b0e86 in dump_net_ns criu/net.c:1651 #9 0x4a760d in do_dump_namespaces criu/namespaces.c:985 #10 0x4a760d in dump_namespaces criu/namespaces.c:1045 #11 0x451ef7 in cr_dump_tasks criu/cr-dump.c:1799 #12 0x424588 in main criu/crtools.c:736 #13 0x7f9ab67b171f in __libc_start_main (/lib64/libc.so.6+0x2071f) #14 0x4253d8 in _start (/criu/criu/criu+0x4253d8) Address 0x7ffef823e3f8 is located in stack of thread T0 at offset 264 in frame #0 0x4ac9ef in dump_one_netdev criu/net.c:364 This frame has 5 object(s): [32, 168) 'netdev' [224, 264) 'info' <== Memory access at offset 264 overflows this variable [320, 1040) 'req' [1088, 3368) 'path' [3424, 3625) 'stable_secret' Increase 'info' size to fix this. Fixes: b705dcc ("net: pass the struct nlattrs to dump() functions") travis-ci: success for net: fix stack out-of-bounds access in dump_one_netdev() Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Acked-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
'info' array is off-by-one, nla_parse_nested() requires destination array (i.e. 'info') to have maxtype+1 (i.e. IFLA_INFO_MAX+1) elements: ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffef823e3f8 WRITE of size 48 at 0x7ffef823e3f8 thread T0 #0 0x7f9ab7a3915b in __asan_memset (/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libasan.so.2+0x8d15b) #1 0x7f9ab6d4e553 in nla_parse (/usr/lib64/libnl-3.so.200+0xa553) #2 0x4acfb7 in dump_one_netdev criu/net.c:445 #3 0x4adb60 in dump_one_ethernet criu/net.c:594 #4 0x4adb60 in dump_one_link criu/net.c:665 #5 0x48af69 in nlmsg_receive criu/libnetlink.c:45 #6 0x48af69 in do_rtnl_req criu/libnetlink.c:119 #7 0x4b0e86 in dump_links criu/net.c:878 #8 0x4b0e86 in dump_net_ns criu/net.c:1651 #9 0x4a760d in do_dump_namespaces criu/namespaces.c:985 #10 0x4a760d in dump_namespaces criu/namespaces.c:1045 #11 0x451ef7 in cr_dump_tasks criu/cr-dump.c:1799 #12 0x424588 in main criu/crtools.c:736 #13 0x7f9ab67b171f in __libc_start_main (/lib64/libc.so.6+0x2071f) #14 0x4253d8 in _start (/criu/criu/criu+0x4253d8) Address 0x7ffef823e3f8 is located in stack of thread T0 at offset 264 in frame #0 0x4ac9ef in dump_one_netdev criu/net.c:364 This frame has 5 object(s): [32, 168) 'netdev' [224, 264) 'info' <== Memory access at offset 264 overflows this variable [320, 1040) 'req' [1088, 3368) 'path' [3424, 3625) 'stable_secret' Increase 'info' size to fix this. Fixes: b705dcc ("net: pass the struct nlattrs to dump() functions") travis-ci: success for net: fix stack out-of-bounds access in dump_one_netdev() Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Acked-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
'info' array is off-by-one, nla_parse_nested() requires destination array (i.e. 'info') to have maxtype+1 (i.e. IFLA_INFO_MAX+1) elements: ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffef823e3f8 WRITE of size 48 at 0x7ffef823e3f8 thread T0 #0 0x7f9ab7a3915b in __asan_memset (/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/libasan.so.2+0x8d15b) #1 0x7f9ab6d4e553 in nla_parse (/usr/lib64/libnl-3.so.200+0xa553) #2 0x4acfb7 in dump_one_netdev criu/net.c:445 #3 0x4adb60 in dump_one_ethernet criu/net.c:594 #4 0x4adb60 in dump_one_link criu/net.c:665 #5 0x48af69 in nlmsg_receive criu/libnetlink.c:45 #6 0x48af69 in do_rtnl_req criu/libnetlink.c:119 #7 0x4b0e86 in dump_links criu/net.c:878 #8 0x4b0e86 in dump_net_ns criu/net.c:1651 #9 0x4a760d in do_dump_namespaces criu/namespaces.c:985 #10 0x4a760d in dump_namespaces criu/namespaces.c:1045 #11 0x451ef7 in cr_dump_tasks criu/cr-dump.c:1799 #12 0x424588 in main criu/crtools.c:736 #13 0x7f9ab67b171f in __libc_start_main (/lib64/libc.so.6+0x2071f) #14 0x4253d8 in _start (/criu/criu/criu+0x4253d8) Address 0x7ffef823e3f8 is located in stack of thread T0 at offset 264 in frame #0 0x4ac9ef in dump_one_netdev criu/net.c:364 This frame has 5 object(s): [32, 168) 'netdev' [224, 264) 'info' <== Memory access at offset 264 overflows this variable [320, 1040) 'req' [1088, 3368) 'path' [3424, 3625) 'stable_secret' Increase 'info' size to fix this. Fixes: b705dcc ("net: pass the struct nlattrs to dump() functions") travis-ci: success for net: fix stack out-of-bounds access in dump_one_netdev() Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Acked-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Running the zdtm/static/unlink_regular00 test on Ubuntu 24.04 on aarch64 results in following error: # ./zdtm.py run -t zdtm/static/unlink_regular00 -k always userns is supported === Run 1/1 ================ zdtm/static/unlink_regular00 ==================== Run zdtm/static/unlink_regular00 in ns ==================== Skipping rtc at root Start test Test is SUID ./unlink_regular00 --pidfile=unlink_regular00.pid --outfile=unlink_regular00.out --dirname=unlink_regular00.test Run criu dump *** buffer overflow detected ***: terminated ############# Test zdtm/static/unlink_regular00 FAIL at CRIU dump ############## Test output: ================================ <<< ================================ Send the 9 signal to 47 Wait for zdtm/static/unlink_regular00(47) to die for 0.100000 ##################################### FAIL ##################################### According to the backtrace: #0 __pthread_kill_implementation (threadid=281473158467616, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x0000ffff93477690 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x0000ffff9342cb3c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x0000ffff93417e00 in __GI_abort () at ./stdlib/abort.c:79 #4 0x0000ffff9346abf0 in __libc_message_impl (fmt=fmt@entry=0xffff93552a78 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:132 #5 0x0000ffff934e81a8 in __GI___fortify_fail (msg=msg@entry=0xffff93552a28 "buffer overflow detected") at ./debug/fortify_fail.c:24 #6 0x0000ffff934e79e4 in __GI___chk_fail () at ./debug/chk_fail.c:28 #7 0x0000ffff934e9070 in ___snprintf_chk (s=s@entry=0xffffc6ed04a3 "testfile", maxlen=maxlen@entry=4056, flag=flag@entry=2, slen=slen@entry=4053, format=format@entry=0xaaaacffe3888 "link_remap.%d") at ./debug/snprintf_chk.c:29 #8 0x0000aaaacff4b8b8 in snprintf (__fmt=0xaaaacffe3888 "link_remap.%d", __n=4056, __s=0xffffc6ed04a3 "testfile") at /usr/include/aarch64-linux-gnu/bits/stdio2.h:54 #9 create_link_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, lfd=lfd@entry=20, idp=idp@entry=0xffffc6ed14ec, nsid=nsid@entry=0xaaaada2bac00, parms=parms@entry=0xffffc6ed2808, fallback=0xaaaacff4c6c0 <dump_linked_remap+96>, fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1164 #10 0x0000aaaacff4c6c0 in dump_linked_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, parms=parms@entry=0xffffc6ed2808, lfd=lfd@entry=20, id=id@entry=12, nsid=nsid@entry=0xaaaada2bac00, fallback=fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1198 #11 0x0000aaaacff4d8b0 in check_path_remap (nsid=0xaaaada2bac00, id=12, lfd=20, parms=0xffffc6ed2808, link=<optimized out>) at criu/files-reg.c:1426 #12 dump_one_reg_file (lfd=20, id=12, p=0xffffc6ed2808) at criu/files-reg.c:1827 checkpoint-restore#13 0x0000aaaacff51078 in dump_one_file (pid=<optimized out>, fd=4, lfd=20, opts=opts@entry=0xaaaada2ba2c0, ctl=ctl@entry=0xaaaada2c4d50, e=e@entry=0xffffc6ed39c8, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:581 checkpoint-restore#14 0x0000aaaacff5176c in dump_task_files_seized (ctl=ctl@entry=0xaaaada2c4d50, item=item@entry=0xaaaada2b8f80, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:657 checkpoint-restore#15 0x0000aaaacff3d3c0 in dump_one_task (parent_ie=0x0, item=0xaaaada2b8f80) at criu/cr-dump.c:1679 checkpoint-restore#16 cr_dump_tasks (pid=<optimized out>) at criu/cr-dump.c:2224 checkpoint-restore#17 0x0000aaaacff163a0 in main (argc=<optimized out>, argv=0xffffc6ed40e8, envp=<optimized out>) at criu/crtools.c:293 This line is the problem: snprintf(tmp + 1, sizeof(link_name) - (size_t)(tmp - link_name - 1), "link_remap.%d", rfe.id); The problem was that the `-1` was on the inside of the braces and not on the outside. This way the destination size was increase by 1 instead of being decreased by 1 which triggered the Signed-off-by: Adrian Reber <areber@redhat.com>
Running the zdtm/static/unlink_regular00 test on Ubuntu 24.04 on aarch64 results in following error: # ./zdtm.py run -t zdtm/static/unlink_regular00 -k always userns is supported === Run 1/1 ================ zdtm/static/unlink_regular00 ==================== Run zdtm/static/unlink_regular00 in ns ==================== Skipping rtc at root Start test Test is SUID ./unlink_regular00 --pidfile=unlink_regular00.pid --outfile=unlink_regular00.out --dirname=unlink_regular00.test Run criu dump *** buffer overflow detected ***: terminated ############# Test zdtm/static/unlink_regular00 FAIL at CRIU dump ############## Test output: ================================ <<< ================================ Send the 9 signal to 47 Wait for zdtm/static/unlink_regular00(47) to die for 0.100000 ##################################### FAIL ##################################### According to the backtrace: #0 __pthread_kill_implementation (threadid=281473158467616, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x0000ffff93477690 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x0000ffff9342cb3c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x0000ffff93417e00 in __GI_abort () at ./stdlib/abort.c:79 #4 0x0000ffff9346abf0 in __libc_message_impl (fmt=fmt@entry=0xffff93552a78 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:132 #5 0x0000ffff934e81a8 in __GI___fortify_fail (msg=msg@entry=0xffff93552a28 "buffer overflow detected") at ./debug/fortify_fail.c:24 #6 0x0000ffff934e79e4 in __GI___chk_fail () at ./debug/chk_fail.c:28 #7 0x0000ffff934e9070 in ___snprintf_chk (s=s@entry=0xffffc6ed04a3 "testfile", maxlen=maxlen@entry=4056, flag=flag@entry=2, slen=slen@entry=4053, format=format@entry=0xaaaacffe3888 "link_remap.%d") at ./debug/snprintf_chk.c:29 #8 0x0000aaaacff4b8b8 in snprintf (__fmt=0xaaaacffe3888 "link_remap.%d", __n=4056, __s=0xffffc6ed04a3 "testfile") at /usr/include/aarch64-linux-gnu/bits/stdio2.h:54 #9 create_link_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, lfd=lfd@entry=20, idp=idp@entry=0xffffc6ed14ec, nsid=nsid@entry=0xaaaada2bac00, parms=parms@entry=0xffffc6ed2808, fallback=0xaaaacff4c6c0 <dump_linked_remap+96>, fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1164 #10 0x0000aaaacff4c6c0 in dump_linked_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, parms=parms@entry=0xffffc6ed2808, lfd=lfd@entry=20, id=id@entry=12, nsid=nsid@entry=0xaaaada2bac00, fallback=fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1198 #11 0x0000aaaacff4d8b0 in check_path_remap (nsid=0xaaaada2bac00, id=12, lfd=20, parms=0xffffc6ed2808, link=<optimized out>) at criu/files-reg.c:1426 #12 dump_one_reg_file (lfd=20, id=12, p=0xffffc6ed2808) at criu/files-reg.c:1827 checkpoint-restore#13 0x0000aaaacff51078 in dump_one_file (pid=<optimized out>, fd=4, lfd=20, opts=opts@entry=0xaaaada2ba2c0, ctl=ctl@entry=0xaaaada2c4d50, e=e@entry=0xffffc6ed39c8, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:581 checkpoint-restore#14 0x0000aaaacff5176c in dump_task_files_seized (ctl=ctl@entry=0xaaaada2c4d50, item=item@entry=0xaaaada2b8f80, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:657 checkpoint-restore#15 0x0000aaaacff3d3c0 in dump_one_task (parent_ie=0x0, item=0xaaaada2b8f80) at criu/cr-dump.c:1679 checkpoint-restore#16 cr_dump_tasks (pid=<optimized out>) at criu/cr-dump.c:2224 checkpoint-restore#17 0x0000aaaacff163a0 in main (argc=<optimized out>, argv=0xffffc6ed40e8, envp=<optimized out>) at criu/crtools.c:293 This line is the problem: snprintf(tmp + 1, sizeof(link_name) - (size_t)(tmp - link_name - 1), "link_remap.%d", rfe.id); The problem was that the `-1` was on the inside of the braces and not on the outside. This way the destination size was increase by 1 instead of being decreased by 1 which triggered the buffer overflow detection. Signed-off-by: Adrian Reber <areber@redhat.com>
Running the zdtm/static/unlink_regular00 test on Ubuntu 24.04 on aarch64 results in following error: # ./zdtm.py run -t zdtm/static/unlink_regular00 -k always userns is supported === Run 1/1 ================ zdtm/static/unlink_regular00 ==================== Run zdtm/static/unlink_regular00 in ns ==================== Skipping rtc at root Start test Test is SUID ./unlink_regular00 --pidfile=unlink_regular00.pid --outfile=unlink_regular00.out --dirname=unlink_regular00.test Run criu dump *** buffer overflow detected ***: terminated ############# Test zdtm/static/unlink_regular00 FAIL at CRIU dump ############## Test output: ================================ <<< ================================ Send the 9 signal to 47 Wait for zdtm/static/unlink_regular00(47) to die for 0.100000 ##################################### FAIL ##################################### According to the backtrace: #0 __pthread_kill_implementation (threadid=281473158467616, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x0000ffff93477690 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x0000ffff9342cb3c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x0000ffff93417e00 in __GI_abort () at ./stdlib/abort.c:79 #4 0x0000ffff9346abf0 in __libc_message_impl (fmt=fmt@entry=0xffff93552a78 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:132 #5 0x0000ffff934e81a8 in __GI___fortify_fail (msg=msg@entry=0xffff93552a28 "buffer overflow detected") at ./debug/fortify_fail.c:24 #6 0x0000ffff934e79e4 in __GI___chk_fail () at ./debug/chk_fail.c:28 #7 0x0000ffff934e9070 in ___snprintf_chk (s=s@entry=0xffffc6ed04a3 "testfile", maxlen=maxlen@entry=4056, flag=flag@entry=2, slen=slen@entry=4053, format=format@entry=0xaaaacffe3888 "link_remap.%d") at ./debug/snprintf_chk.c:29 #8 0x0000aaaacff4b8b8 in snprintf (__fmt=0xaaaacffe3888 "link_remap.%d", __n=4056, __s=0xffffc6ed04a3 "testfile") at /usr/include/aarch64-linux-gnu/bits/stdio2.h:54 #9 create_link_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, lfd=lfd@entry=20, idp=idp@entry=0xffffc6ed14ec, nsid=nsid@entry=0xaaaada2bac00, parms=parms@entry=0xffffc6ed2808, fallback=0xaaaacff4c6c0 <dump_linked_remap+96>, fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1164 #10 0x0000aaaacff4c6c0 in dump_linked_remap (path=path@entry=0xffffc6ed2901 "/zdtm/static/unlink_regular00.test/subdir/testfile", len=len@entry=60, parms=parms@entry=0xffffc6ed2808, lfd=lfd@entry=20, id=id@entry=12, nsid=nsid@entry=0xaaaada2bac00, fallback=fallback@entry=0xffffc6ed2797) at criu/files-reg.c:1198 #11 0x0000aaaacff4d8b0 in check_path_remap (nsid=0xaaaada2bac00, id=12, lfd=20, parms=0xffffc6ed2808, link=<optimized out>) at criu/files-reg.c:1426 #12 dump_one_reg_file (lfd=20, id=12, p=0xffffc6ed2808) at criu/files-reg.c:1827 #13 0x0000aaaacff51078 in dump_one_file (pid=<optimized out>, fd=4, lfd=20, opts=opts@entry=0xaaaada2ba2c0, ctl=ctl@entry=0xaaaada2c4d50, e=e@entry=0xffffc6ed39c8, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:581 #14 0x0000aaaacff5176c in dump_task_files_seized (ctl=ctl@entry=0xaaaada2c4d50, item=item@entry=0xaaaada2b8f80, dfds=dfds@entry=0xaaaada2c3d40) at criu/files.c:657 #15 0x0000aaaacff3d3c0 in dump_one_task (parent_ie=0x0, item=0xaaaada2b8f80) at criu/cr-dump.c:1679 #16 cr_dump_tasks (pid=<optimized out>) at criu/cr-dump.c:2224 #17 0x0000aaaacff163a0 in main (argc=<optimized out>, argv=0xffffc6ed40e8, envp=<optimized out>) at criu/crtools.c:293 This line is the problem: snprintf(tmp + 1, sizeof(link_name) - (size_t)(tmp - link_name - 1), "link_remap.%d", rfe.id); The problem was that the `-1` was on the inside of the braces and not on the outside. This way the destination size was increase by 1 instead of being decreased by 1 which triggered the buffer overflow detection. Signed-off-by: Adrian Reber <areber@redhat.com>
Docker:
CRIU:
I am trying to C/R a MySQL container.
I start it
and then I am trying to checkpoint it. The result is:
dump.log
(edit: I also tried to checkpoint with apache, but the same results)
Any help?
Thanks for all the support!
The text was updated successfully, but these errors were encountered: