Skip to content
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

lxcfs-4.0.4: Startup fails with "undefined symbol: lxcfs_clone" #420

Closed
ganto opened this issue Jul 5, 2020 · 5 comments · Fixed by #421
Closed

lxcfs-4.0.4: Startup fails with "undefined symbol: lxcfs_clone" #420

ganto opened this issue Jul 5, 2020 · 5 comments · Fixed by #421

Comments

@ganto
Copy link

ganto commented Jul 5, 2020

Since lxcfs-4.0.4 the startup fails with the following error on Fedora when using the RPM package build through COPR: ganto/lxc4:

Jul 05 23:08:14 host.example.com systemd[1]: Started FUSE filesystem for LXC.
Jul 05 23:08:14 host.example.com lxcfs[184173]: /usr/lib64/lxcfs/liblxcfs.so: undefined symbol: lxcfs_clone - Failed to open liblxcfs.so
Jul 05 23:08:14 host.example.com systemd[1]: lxcfs.service: Main process exited, code=exited, status=1/FAILURE

When checking the source code it seems that between lxcfs-4.0.3 and lxcfs-4.0.4 the implementation of lxcfs_clone() was replaced with lxcfs_raw_clone() in 0c525b4. However, cgroup_fuse.c still references lxcfs_clone() twice.

@stgraber
Copy link
Member

stgraber commented Jul 5, 2020

@brauner

This is a bit odd, we'd have expected all our tests and users to fail on that too.

@grzsmp
Copy link

grzsmp commented Jul 5, 2020

Hi. I have the same issue on redhat 7.8.

2020-07-05T22:27:45Z lxd.daemon[4898]: => Starting LXD
2020-07-05T22:27:45Z lxd.daemon[4898]: t=2020-07-06T00:27:45+0200 lvl=warn msg="AppArmor support has been disabled because of lack of kernel support"
2020-07-05T22:27:46Z lxd.daemon[4898]: => LXD is ready
2020-07-05T22:27:46Z lxd.activate[4897]: ===> System doesn't support socket activation, starting LXD now
2020-07-05T22:27:46Z systemd[1]: Started Service for snap application lxd.activate.
2020-07-05T22:29:16Z lxd.daemon[4898]: lxcfs: symbol lookup error: /snap/lxd/current/lib/liblxcfs.so: undefined symbol: lxcfs_clone
2020-07-05T22:29:18Z lxd.daemon[4898]: utils.c: 247: recv_creds: Timed out waiting for scm_cred: No such file or directory
2020-07-05T22:29:18Z lxd.daemon[4898]: lxcfs: symbol lookup error: /snap/lxd/current/lib/liblxcfs.so: undefined symbol: lxcfs_clone
2020-07-05T22:29:20Z lxd.daemon[4898]: utils.c: 284: send_creds: No such file or directory - Failed getting reply from server over socketpair: 2
2020-07-05T22:29:20Z lxd.daemon[4898]: lxcfs: symbol lookup error: /snap/lxd/current/lib/liblxcfs.so: undefined symbol: lxcfs_clone

brauner pushed a commit to brauner/lxcfs that referenced this issue Jul 6, 2020
Closes: lxc#420.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
@brauner
Copy link
Member

brauner commented Jul 6, 2020

I see the issue. Let me send a fix

@brauner

This is a bit odd, we'd have expected all our tests and users to fail on that too.

We use RTLD_LAZY which means that the symbol will only be tried to resolve on first use. What we should do is to use RTLD_NOW in the test-suite.

stgraber pushed a commit that referenced this issue Jul 6, 2020
Closes: #420.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
@ganto
Copy link
Author

ganto commented Jul 6, 2020

Thanks for the fix. Resolved the issue for me.

@toby63
Copy link

toby63 commented Jul 24, 2020

@stgraber
This problem also occurs in the newest arch package:
https://bugs.archlinux.org/task/67383?project=5&string=lxcfs

As this "breaks" functionality, could you release a new upstream version with the fix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

5 participants