snaps complain about being unable to open ld preloads
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
snapd |
Won't Fix
|
Undecided
|
Unassigned | ||
snapd (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
I get this in email every night:
/etc/cron.
ERROR: ld.so: object '/usr/lib/
ERROR: ld.so: object '/usr/lib/
NOTE: The shared library in question is part of the ESET antivirus software for Linux. This is NOT a bug in ESET; the shared library path referenced above is a symlink to a valid 64-bit shared library that regular (non-snap) processes are able to preload just fine.
I dug into this, and /etc/cron.
open("/
I assume this is because snap-confine is doing a chroot or something like that.
I'm not sure what the right fix is here. Is snap creating a copy of /etc/ld.so.preload in its chroot? If so, should it strip out preloads that aren't in the chroot?
I mean, we can argue about whether it's appropriate to be confining snap processes in such a way that preloads can't be loaded, but if that's the right decision, then it shouldn't complain about them.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: snap (not installed)
ProcVersionSign
Uname: Linux 4.15.0-20-generic x86_64
ApportVersion: 2.20.9-0ubuntu7
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Mon Apr 30 11:32:56 2018
InstallationDate: Installed on 2017-05-19 (345 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
SourcePackage: snap
UpgradeStatus: Upgraded to bionic on 2018-04-27 (3 days ago)
affects: | snap (Ubuntu) → snapd (Ubuntu) |
Hello
The preload doesn't work because /usr/lib, from the point of view of the snap application, is not the /usr/lib from your host filesystem. In addition there's no guarantee that the preload library and the snap are ABI compatible (they likely are but this is just coincidence).