Why do imported VMs with multiple disks fail to start in RHEVM 3.1 with NullPointerException in engine.log?

Solution Verified - Updated -

Issue

  • VMs imported from RHEV2.2 into RHEV3.1
  • VMs with 1 disk are starting fine, but VMs with 2 disks are failing to start
  • Observing the following error in /var/log/ovirt-engine/engine.log:
2012-12-13 00:45:30,128 ERROR [org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand] (pool-4-thread-50) [59d76e39] Error in excuting CreateVmVDSCommand: java.lang.NullPointerException
        at org.ovirt.engine.core.dal.comparators.DiskImageByDiskAliasComparator.compare(DiskImageByDiskAliasComparator.java:11) [engine-dal.jar:]
        at org.ovirt.engine.core.dal.comparators.DiskImageByDiskAliasComparator.compare(DiskImageByDiskAliasComparator.java:7) [engine-dal.jar:]
        at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324) [rt.jar:1.7.0_09-icedtea]
        at java.util.TimSort.sort(TimSort.java:189) [rt.jar:1.7.0_09-icedtea]
        at java.util.TimSort.sort(TimSort.java:173) [rt.jar:1.7.0_09-icedtea]
        at java.util.Arrays.sort(Arrays.java:659) [rt.jar:1.7.0_09-icedtea]
        at java.util.Collections.sort(Collections.java:217) [rt.jar:1.7.0_09-icedtea]
        at org.ovirt.engine.core.vdsbroker.vdsbroker.VmInfoBuilderBase.getSortedDisks(VmInfoBuilderBase.java:189) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.vdsbroker.VmInfoBuilder.buildVmDrives(VmInfoBuilder.java:225) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand.buildVmData(CreateVDSCommand.java:64) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand.ExecuteVdsBrokerCommand(CreateVDSCommand.java:24) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerCommand.ExecuteVDSCommand(VdsBrokerCommand.java:91) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VDSCommandBase.ExecuteCommand(VDSCommandBase.java:63) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.dal.VdcCommandBase.Execute(VdcCommandBase.java:41) [engine-dal.jar:]
        at org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand.ExecuteVdsIdCommand(CreateVmVDSCommand.java:65) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsIdVDSCommandBase.ExecuteVDSCommand(VdsIdVDSCommandBase.java:49) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VDSCommandBase.ExecuteCommand(VDSCommandBase.java:63) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.dal.VdcCommandBase.Execute(VdcCommandBase.java:41) [engine-dal.jar:]
        at org.ovirt.engine.core.vdsbroker.ResourceManager.runVdsCommand(ResourceManager.java:388) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.bll.VDSBrokerFrontendImpl.RunVdsCommand(VDSBrokerFrontendImpl.java:33) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VDSBrokerFrontendImpl.RunAsyncVdsCommand(VDSBrokerFrontendImpl.java:48) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RunVmCommand.CreateVm(RunVmCommand.java:407) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RunVmCommand.RunVm(RunVmCommand.java:201) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RunVmCommand.ExecuteVmCommand(RunVmCommand.java:255) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VmCommand.executeCommand(VmCommand.java:78) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:876) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:973) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1372) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:168) [engine-utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:107) [engine-utils.jar:]

Environment

  • RHEVM 3.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content