RHEV: Various snapshot functions can fail with a NullPointerException.

Solution Verified - Updated -

Issue

  • Previewing a snapshot fails and reports the following in the Events pane;
Failed to complete Snapshot-Preview <snapshot description> for VM <vm name>.
  • Attempting to 'Undo' a snapshot preview fails and reports the following in the Events pane;
Failed to restore <vm name>
  • A stateless VM may report the following error when it is started because the stateless snapshot was not removed when it was last shutdown;
Failed to start <vm name>, because exist snapshot for stateless state. Snapshot will be deleted.
  • The /var/log/ovirt-engine/engine.log file contains;
2014-01-31 16:37:07,139 ERROR [org.ovirt.engine.core.bll.RestoreAllSnapshotsCommand] (http-/0.0.0.0:8443-6) [183475ec] Command org.ovirt.engine.core.bll.RestoreAllSnapshotsCommand throw exception: java.lang.NullPointerException
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.removeDisksNotInSnapshot(SnapshotsManager.java:411) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.synchronizeDisksFromSnapshot(SnapshotsManager.java:398) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.attempToRestoreVmConfigurationFromSnapshot(SnapshotsManager.java:247) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RestoreAllSnapshotsCommand.restoreConfiguration(RestoreAllSnapshotsCommand.java:222) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RestoreAllSnapshotsCommand.restoreSnapshotAndRemoveObsoleteSnapshots(RestoreAllSnapshotsCommand.java:190) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.RestoreAllSnapshotsCommand.executeVmCommand(RestoreAllSnapshotsCommand.java:94) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VmCommand.executeCommand(VmCommand.java:82) [engine-bll.jar:]
        ...... etc., etc, ......

or;

2014-01-30 09:10:56,514 ERROR [org.ovirt.engine.core.bll.EntityAsyncTask] (pool-4-thread-48) EntityAsyncTask::EndCommandAction [within thread]: EndAction for action type TryBackToAllSnapshotsOfVm threw an exception: javax.ejb.EJBException: java.lang.NullPointerException
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInNoTx(CMTTxInterceptor.java:191) [jboss-as-ejb3.jar:7.2.0.Final-redhat-8]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:237) [jboss-as-ejb3.jar:7.2.0.Final-redhat-8]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:374) [jboss-as-ejb3.jar:7.2.0.Final-redhat-8]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:218) [jboss-as-ejb3.jar:7.2.0.Final-redhat-8]
        ...... etc., etc, ......
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.lang.NullPointerException
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.removeDisksNotInSnapshot(SnapshotsManager.java:411) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.synchronizeDisksFromSnapshot(SnapshotsManager.java:398) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.snapshots.SnapshotsManager.attempToRestoreVmConfigurationFromSnapshot(SnapshotsManager.java:247) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.TryBackToAllSnapshotsOfVmCommand.restoreVmConfigFromSnapshot(TryBackToAllSnapshotsOfVmCommand.java:103) [engine-bll.jar:]
        ...... etc., etc, ......

Environment

  • Red Hat Enterprise Virtualization 3.1, 3.2.

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