-
Notifications
You must be signed in to change notification settings - Fork 324
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
Potential issues with dynamically loaded criu #1080
Comments
@adrianreber what do you think about it? Should we detect |
That is a very good point. crun should really load the so versioned file. |
could we just hardcode |
Sure. There are no plans to change the API anytime soon and if the API is changed then crun needs to be adapted anyway. |
giuseppe
added a commit
to giuseppe/crun
that referenced
this issue
Nov 29, 2022
Closes: containers#1080 Signed-off-by: Giuseppe Scrivano <[email protected]>
fix here: #1084 |
giuseppe
added a commit
to giuseppe/crun
that referenced
this issue
Nov 29, 2022
Closes: containers#1080 Signed-off-by: Giuseppe Scrivano <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Latest release (
1.7.1
) switches to loadingcriu
dynamically instead of linking against it. That's perfectly fine and welcome change however there is a concerning detail about it: dynamic loading relies onlibcriu.so
:crun/src/libcrun/criu.c
Line 223 in cb1e21b
That has two consequences:
libcriu.so
is part of "devel" packages in many distributions which are only required for building, not during runtime. Therefore in order to usecriu
end-user would need to install development packageSONAME
anymore it also ignores any potential ABI changes. CurrentSONAME
forlibcriu.so
islibcriu.so.2
. Suppose ABI changes incriu
, new version is released with SONAMElibcriu.so.3
since it's incompatible with previous release. Now there's nothing to stopcrun
from loading ABI incompatible new library and potentially crash in mysterious wayIt would be nice if
crun
could detect and useSONAME
fromlibcriu.so
for loading, determined duringconfigure
. Also as a fallback and maybe as a first step there could be--with-criu-library-name=<lib>
option to override default.The text was updated successfully, but these errors were encountered: