Bug 784900 - [ovirt] [engine-core] null pointer exception when merging snapshot and engine gets restarted - VM stuck in unknown state
Summary: [ovirt] [engine-core] null pointer exception when merging snapshot and engine...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-engine-core
Version: unspecified
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 3.1
Assignee: Mike Kolesnik
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-26 15:35 UTC by Haim
Modified: 2014-01-13 00:50 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-08-09 07:56:30 UTC
oVirt Team: ---
Embargoed:


Attachments (Terms of Use)
logs (7.47 KB, application/x-gzip)
2012-01-26 15:38 UTC, Haim
no flags Details

Description Haim 2012-01-26 15:35:04 UTC
Description of problem:

flow:

- create snapshot 
- preview
- commit 
- delete 

once async task is created, restart the engine (restart Jboss). 

2012-01-26 10:29:38,082 INFO  [org.ovirt.engine.core.bll.EntityAsyncTask] (QuartzScheduler_Worker-9) EntityAsyncTask::EndActionIfNecessary: All tasks of entity 98a2ca2c-719f-4e
a6-97ed-3ddffcdb5808 has ended -> executing EndAction
2012-01-26 10:29:38,082 INFO  [org.ovirt.engine.core.bll.EntityAsyncTask] (QuartzScheduler_Worker-9) EntityAsyncTask::EndAction: Ending action for 1 tasks (entity ID: 98a2ca2c-
719f-4ea6-97ed-3ddffcdb5808): calling EndAction for action type MergeSnapshot.
2012-01-26 10:29:38,083 INFO  [org.ovirt.engine.core.bll.EntityAsyncTask] (pool-5-thread-3) EntityAsyncTask::EndCommandAction [within thread]: Attempting to EndAction MergeSnap
shot
2012-01-26 10:29:38,086 INFO  [org.ovirt.engine.core.bll.MergeSnapshotCommand] (pool-5-thread-3) Ending command successfully: org.ovirt.engine.core.bll.MergeSnapshotCommand
2012-01-26 10:29:38,088 INFO  [org.ovirt.engine.core.bll.MergeSnapshotSingleDiskCommand] (pool-5-thread-3) Ending command successfully: org.ovirt.engine.core.bll.MergeSnapshotS
ingleDiskCommand
2012-01-26 10:29:38,096 INFO  [org.ovirt.engine.core.utils.transaction.TransactionSupport] (pool-5-thread-3) transaction rolled back
2012-01-26 10:29:38,134 ERROR [org.ovirt.engine.core.bll.EntityAsyncTask] (pool-5-thread-3) EntityAsyncTask::EndCommandAction [within thread]: EndAction for action type MergeSn
apshot threw an exception: javax.ejb.EJBTransactionRolledbackException
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:139) [jboss-as-ejb3-7.1.0.Beta1b.jar:]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:215) [jboss-as-ejb3-7.1.0.Beta1b.jar:]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:369) [jboss-as-ejb3-7.1.0.Beta1b.jar:]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:205) [jboss-as-ejb3-7.1.0.Beta1b.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.0.Beta
1b.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:44) [jboss-as-ee-7.1.0.Beta1b.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:55) [jboss-as-ejb3-7.1.0.Beta1b.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.0.Beta1b.jar:]
        at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173) [jboss-as-ee-7.1.0.Beta1b.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.1.0.Beta1b.jar:]
        at org.ovirt.engine.core.bll.interfaces.BackendInternal$$$view9.EndAction(Unknown Source) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VmCommand.EndActionOnDisks(VmCommand.java:291) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VmCommand.EndVmCommand(VmCommand.java:272) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.VmCommand.EndSuccessfully(VmCommand.java:297) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.InternalEndSuccessfully(CommandBase.java:368) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.endActionInTransactionScope(CommandBase.java:343) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:985) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:204) [utils-3.0.0-0001.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInRequired(TransactionSupport.java:142) [utils-3.0.0-0001.jar:]




git commit:  25a4f7cc92e069b705ccfacf8c101729533de41b

see attached logs.

Comment 1 Haim 2012-01-26 15:38:36 UTC
Created attachment 557691 [details]
logs

Comment 2 Moran Goldboim 2012-01-29 21:48:20 UTC
effect on the user? looks like transaction is rolled back and some garbage left on the storage - is it the case?

Comment 3 Haim 2012-01-30 07:14:03 UTC
(In reply to comment #2)
> effect on the user? looks like transaction is rolled back and some garbage left
> on the storage - is it the case?

affect on user:

- vm is stuck in unknown state for good 
- garbage is left on storage as action performed on vdsm side but rolled-back on backend's 
- changing vm state in database won't do much help as vdsm holds a different state of the disks, and might fail on illegal chain errors.

Comment 4 Mike Kolesnik 2012-04-03 09:51:54 UTC
Patch submitted to gerrit: http://gerrit.ovirt.org/3267

Comment 6 Itamar Heim 2012-08-09 07:56:30 UTC
closing ON_QA bugs as oVirt 3.1 was released:
http://www.ovirt.org/get-ovirt/


Note You need to log in before you can comment on or make changes to this bug.