Watch this:

    $ upstream-qemu -nodefaults -S -display none -monitor stdio
    QEMU 1.7.50 monitor - type 'help' for more information
    (qemu) device_add e1000,netdev=xxx
    Property 'e1000.netdev' can't find value 'xxx'
    (qemu) info qtree
    bus: main-system-bus
      type System
      dev: hpet, id ""
        gpio-in 2
        gpio-out 1
        timers = 3
        msi = off
        hpet-intcap = 4
        irq 32
        mmio 00000000fed00000/0000000000000400
      dev: ioapic, id ""
        gpio-in 24
        irq 0
        mmio 00000000fec00000/0000000000001000
      dev: i440FX-pcihost, id ""
        pci-hole64-size = 16777216.000T
        short_root_bus = 0
        irq 0
        bus: pci.0
          type PCI
          dev: e1000, id ""
            mac = 00:00:00:00:00:00
            vlan = <null>
            netdev = <null>
            bootindex = -1
            autonegotiation = on
            mitigation = on
            addr = <unset>
            romfile = <null>
            rombar = 1
            multifunction = off
            command_serr_enable = on
    Segmentation fault (core dumped)

Even though device_add failed, it still created a node in the qtree!

Same issue observed with scsi-hd.  Looks like a qdev problem, not a
device problem.

git-bisect blames this one:

e0a83fc2c1582dc8d4453849852ebe6c258b7c3a is the first bad commit
commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a
Author: Paolo Bonzini <pbonz...@redhat.com>
Date:   Tue Apr 2 15:50:00 2013 +0200

    qom: do nothing on unparent of object without parent
    
    Otherwise, device_unparent will fail to get a canonical path of
    the object.
    
    Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
    Message-id: 1364910600-3418-1-git-send-email-pbonz...@redhat.com
    Signed-off-by: Anthony Liguori <aligu...@us.ibm.com>

Reply via email to