[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