[Bug 959352] Re: Ephemeral containers have "/rootfs" prefix in /proc/self/maps entries
Serge Hallyn
959352 at bugs.launchpad.net
Tue Aug 14 16:22:33 UTC 2012
** Description changed:
- Ephemeral containers (but not non-ephemeral ones) have all of their
- /proc/*/maps entries prefixed with "/rootfs". One problem this causes
- is that graphviz uses /proc/self/maps to locate its plugins. That means
- that some of the plugins can not be loaded.
+ ===================================
+ SRU Justification (for lxc workaround)
+ 1. Impact: /proc/self/maps and /proc/self/fd entries in ephemeral containers
+ are prefixed with '/rootfs'. Software which uses these paths to find
+ plugins or other files will break.
+ 2. Development fix (workaround): The prepended paths lead to the root dentry
+ of the overlayfs mount. So lxc-start-ephemeral is changed to make the
+ container rootfs / the root of the overlay mount.
+ 3. Stable fix: same as development fix.
+ 4. Test case:
+ sudo lxc-create -t ubuntu -n q1
+ sudo lxc-start-ephemeral -o q1
+ In another terminal, follow the instructions to open a console to the
+ ephemeral container. Therein log in as ubuntu/ubuntu, and do:
+ cat /proc/self/maps
+ ls -l /proc/self/fd/
+ and check whether entries are prefixed with '/rootfs'
+ 5. Regression potential: Customized containers (especially which have custom
+ made directories under /var/lib/lxc/<container> may break. If this becomes
+ a problem we could place all of /var/lib/lxc/<container>-temp-XXXXX in
+ another empty tmpfs, however that is not free.
+ ===================================
+ Ephemeral containers (but not non-ephemeral ones) have all of their /proc/*/maps entries prefixed with "/rootfs". One problem this causes is that graphviz uses /proc/self/maps to locate its plugins. That means that some of the plugins can not be loaded.
To reproduce the problem with dot, run this command:
- dot -Tcmapx < /dev/null
+ dot -Tcmapx < /dev/null
No output is expected, however because of the bug this output is
produced:
- Format: "cmapx" not recognized. Use one of: dia hpgl mif mp pcl pic
+ Format: "cmapx" not recognized. Use one of: dia hpgl mif mp pcl pic
vtx
A workaround for the problem with graphviz is to make the plugins
available at the path it is expecting:
- mkdir -p /rootfs/usr/lib
- ln -s /usr/lib/graphviz /rootfs/usr/lib/graphviz
- ---
+ mkdir -p /rootfs/usr/lib
+ ln -s /usr/lib/graphviz /rootfs/usr/lib/graphviz
+ ---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.95-0ubuntu1
Architecture: i386
DistroRelease: Ubuntu 12.04
HibernationDevice: RESUME=UUID=2c5f282a-e713-4ae0-a940-87a40efd050f
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
MachineType: LENOVO 4313CTO
Package: lxc
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-20-generic-pae root=UUID=8469c78f-d0fc-4564-a009-eed59bd1fdff ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.2.0-20.33-generic-pae 3.2.12
RfKill:
- 0: phy0: Wireless LAN
- Soft blocked: no
- Hard blocked: no
+ 0: phy0: Wireless LAN
+ Soft blocked: no
+ Hard blocked: no
StagingDrivers: mei
Tags: precise staging
Uname: Linux 3.2.0-20-generic-pae i686
UpgradeStatus: Upgraded to precise on 2012-01-24 (63 days ago)
UserGroups: adm admin cdrom dialout libvirtd lpadmin plugdev sambashare
dmi.bios.date: 10/26/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6MET81WW (1.41 )
dmi.board.name: 4313CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6MET81WW(1.41):bd10/26/2010:svnLENOVO:pn4313CTO:pvrThinkPadT510:rvnLENOVO:rn4313CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 4313CTO
dmi.product.version: ThinkPad T510
dmi.sys.vendor: LENOVO
** Changed in: lxc (Ubuntu Precise)
Status: New => Triaged
** Changed in: lxc (Ubuntu Precise)
Importance: Undecided => High
** Changed in: lxc (Ubuntu Precise)
Assignee: (unassigned) => Serge Hallyn (serge-hallyn)
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to lxc in Ubuntu.
https://bugs.launchpad.net/bugs/959352
Title:
Ephemeral containers have "/rootfs" prefix in /proc/self/maps entries
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/959352/+subscriptions
More information about the Ubuntu-server-bugs
mailing list