-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
When I use runc and criu 3.9, it crashed #4381
Comments
@adrianreber ptal |
Also, it should be noted the runc version is 1.1.3, which is more than 2 years old. Can you try with the latest 1.1.13 (and 1.2.0-rc2 if possible)? |
It's really nice to get your reply. I used the latest runc, but it also occured. And I look for the latest code, it seems there is no fix for this problem. |
@yangzhao02 From your description it sounds like you are right. The latest version of CRIU in CentOS Stream 8 (before going EOL) was CRIU 3.15, so I am curious what your setup is. From CRIU upstream we would always suggest using the latest version anyway. RHEL 8 and clones have 3.18. Your analysis seems to be correct but unlikely too happen with most distributions as usually CRIU packages are newer. |
Description
In
runc/libcontainer/criu_linux.go
, there is the following Restore function (line 618-line 796).On line 716-line 718, there is the following content:
This function will call the handleRestoringNamespaces function in
runc/libcontainer/criu_linux.go
(line 209-line 246), and on line 219, it will further call handleRestoringExternalNamespaces (runc/libcontainer/criu_linux.go
line 247-line 276). On line 248, there is the following code:This
criuSupportsExtNS
function is located atrunc/libcontainer/criu_linux.go
: line 167-line 181, with the following content:When the CRIU version is lower than the minVersion,
criuSupportsExtNS
will return false, and handleRestoringExternalNamespaces will return nil. Consequently, in theRestore
function (line 716-line 718), it will evaluateerr == nil
and then continue executing the subsequent logic of theRestore
function. However, if the CRIU version does not meet the requirements, will continuing the execution of the Restore function (runc/libcontainer/criu_linux.go
: line 716-line 718) lead to some unpredictable behaviors? Should we consider directly terminating the execution of the Restore function and return an appropriate error message when the CRIU version does not satisfy the runc requirements?Steps to reproduce the issue
Describe the results you received and expected
runc does not stop or report an error, and then it crashed
What version of runc are you using?
1.1.3
Host OS information
centos 8
Host kernel information
5.10.134-15.2.al8.x86_64
The text was updated successfully, but these errors were encountered: