Hello.

    I use libvirtd on my Gentoo development system to manage both QEMU and LXC.  When 1.0.3 came out, I updated to it from 1.0.3-r2, but 1.0.4 failed to start my LXC containers.  I did not research the issue at the time, so I revert to 1.0.3-r2.  Today I updated to 1.0.5 and my LXC containers still fail to start.  I have not changed my domain XML at all.

   I am looking for suggestions on what to try to resolve the problem.  Maybe I'm missing a package or have something mus-configured for libvirt-1.0.5.  btw, A month ago I updates to the most recent "udev" (udev-200).  This required me to rename all of my network interfaces.  My QEMU and LXC containers continued to work.  All of my VMs use bridged networking on "br0" or "br1".  Those virtual interfaces are not bridged to any physical NIC.  They exist only inside my host's kernel.  I have extensive iptables rules to filter traffic between my network segments (physical + virtual).

   TL;DR: this was burried in a log file: " error : lxcContainerMountFSDevPTS:808 : Failed to mount /.oldroot//var/run/libvirt/lxc/dwj-lnx-dev.devpts on /dev/pts: No such file or directory".  But that directory DOES exist in the container:

ostara ~ # ls -ld /vm/lxc/dwj-lnx-dev/dev/pts/
drwxr-xr-x 2 root root 4096 Apr 27  2011 /vm/lxc/dwj-lnx-dev/dev/pts/

    If I revert to libvirt-1.0.3-r2, I can boot my LXC containers again.  But if possible, I'd like to keep my system current.   I've ran the usual Gentoo tools to verify that all package dependencies are installed, revdep-rebuild reports that all ELFs link against the proper shared objects.




ostara ~ # virsh --version
1.0.5


ostara ~ # equery l libvirt
 * Searching for libvirt ...
[IP-] [  ] app-emulation/libvirt-1.0.5:0


ostara ~ # equery -q u libvirt | xargs echo
-audit -avahi +caps -firewalld -fuse -iscsi +libvirtd +lvm +lxc +macvtap +nfs +nls -numa -openvz -parted +pcap -phyp -policykit -python +qemu -rbd +sasl +udev +uml +vepa +virt-network -virtualbox -xen


ostara ~ # virsh -c lxc:/// list --all
 Id    Name                           State
----------------------------------------------------
 -     dwj-lnx-dev                    shut off
 -     vm1                            shut off


ostara ~ # virsh -c lxc:/// start dwj-lnx-dev
error: Failed to start domain dwj-lnx-dev
error: internal error guest failed to start: PATH=/bin:/sbin TERM=linux container=lxc-libvirt container_uuid=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_UUID=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_NAME=dwj-lnx-dev /sbin/init
error receiving signal from container: Input/output error


ostara ~ # tail -n 10 /var/log/libvirt/libvirtd.log
2013-05-14 13:03:47.549+0000: 22352: info : libvirt version: 1.0.5
2013-05-14 13:03:47.549+0000: 22352: error : virDBusGetSystemBus:86 : internal error Unable to get DBus system bus connection: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
2013-05-14 13:03:47.549+0000: 22352: warning : ebiptablesDriverInitCLITools:4233 : Could not find 'ip6tables' executable
2013-05-14 13:04:21.629+0000: 22341: error : virNetSocketReadWire:1362 : Cannot recv data: Connection reset by peer
2013-05-14 13:04:21.729+0000: 22345: error : virLXCProcessStart:1285 : internal error guest failed to start: PATH=/bin:/sbin TERM=linux container=lxc-libvirt container_uuid=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_UUID=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_NAME=dwj-lnx-dev /sbin/init
error receiving signal from container: Input/output error
2013-05-14 13:04:21.731+0000: 22345: error : virNetDevSetOnline:544 : Cannot get interface flags on 'veth0': No such device
2013-05-14 13:04:21.778+0000: 22345: error : virCommandWait:2353 : internal error Child process (ip link del veth0) unexpected exit status 1: Cannot find device "veth0"
2013-05-14 13:04:21.917+0000: 22345: error : virCommandWait:2353 : internal error Child process (ip link del veth1) unexpected exit status 1: Cannot find device "veth1"


ostara ~ # tail -n 10 /var/log/libvirt/lxc/dwj-lnx-dev.log
2013-05-14 13:04:20.894+0000: starting up
PATH=/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/x86_64-pc-linux-gnu/i686-pc-mingw32/gcc-bin/4.7.2 LIBVIRT_DEBUG=3 LIBVIRT_LOG_OUTPUTS=3:stderr /usr/libexec/libvirt_lxc --name dwj-lnx-dev --console 22 --security=none --handshake 25 --background --veth veth1
PATH=/bin:/sbin TERM=linux container=lxc-libvirt container_uuid=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_UUID=fbcd8c3a-9939-12b4-727d-5d3526bc448f LIBVIRT_LXC_NAME=dwj-lnx-dev /sbin/init
2013-05-14 13:04:21.562+0000: 1: info : libvirt version: 1.0.5
2013-05-14 13:04:21.562+0000: 1: error : lxcContainerMountFSDevPTS:808 : Failed to mount /.oldroot//var/run/libvirt/lxc/dwj-lnx-dev.devpts on /dev/pts: No such file or directory
2013-05-14 13:04:21.562+0000: 22562: info : libvirt version: 1.0.5
2013-05-14 13:04:21.562+0000: 22562: error : virLXCControllerRun:1481 : error receiving signal from container: Input/output error
error receiving signal from container: Input/output error
2013-05-14 13:04:21.628+0000: 22562: error : virCommandWait:2353 : internal error Child process (ip link del veth1) unexpected exit status 1: Cannot find device "veth1"



ostara ~ # virsh -c lxc:/// dumpxml dwj-lnx-dev
<domain type='lxc'>
  <name>dwj-lnx-dev</name>
  <uuid>fbcd8c3a-9939-12b4-727d-5d3526bc448f</uuid>
  <memory unit='KiB'>500000</memory>
  <currentMemory unit='KiB'>500000</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64'>exe</type>
    <init>/sbin/init</init>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/libvirt_lxc</emulator>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/vm/lxc/dwj-lnx-dev'/>
      <target dir='/'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/usr/portage'/>
      <target dir='/usr/portage'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/usr/src'/>
      <target dir='/usr/src'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/home'/>
      <target dir='/home'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='82:00:00:00:01:00'/>
      <source bridge='br0'/>
    </interface>
    <console type='pty'>
      <target type='lxc' port='0'/>
    </console>
  </devices>
</domain>



ostara ~ # ifconfig -a | egrep -v "(RX|TX) (packets|errors)"
br0: flags=4355<UP,BROADCAST,PROMISC,MULTICAST>  mtu 1500
        inet 192.168.2.1  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:00:00:00:00:00  txqueuelen 0  (Ethernet)

br1: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        inet 192.168.3.1  netmask 255.255.255.0  broadcast 192.168.3.255
        ether 06:9b:23:fb:14:5f  txqueuelen 0  (Ethernet)

enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.1  netmask 255.255.255.0  broadcast 192.168.0.255
        ether bc:ae:c5:16:6f:3b  txqueuelen 1000  (Ethernet)
        device interrupt 18  memory 0xfade0000-fae00000

enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet xx.xx.xx.xx  netmask 255.255.252.0  broadcast xx.xx.xx.xx
        ether bc:ae:c5:16:70:3f  txqueuelen 1000  (Ethernet)
        device interrupt 19  memory 0xfaee0000-faf00000

enp6s2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.1  netmask 255.255.255.0  broadcast 192.168.4.255
        ether 00:03:6d:14:78:30  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether c2:ff:56:b7:a7:cd  txqueuelen 0  (Ethernet)