Bug 789992

Summary: SerializationException during vm import from Export Storage Domain
Product: [Retired] oVirt Reporter: Rami Vaknin <rvaknin>
Component: ovirt-engine-coreAssignee: Shahar Havivi <shavivi>
Status: CLOSED WORKSFORME QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: acathrow, amureini, iheim, knesenko, mgoldboi, yeylon, ykaul
Target Milestone: ---   
Target Release: 3.3.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-10 13:44:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Rami Vaknin 2012-02-13 12:30:45 UTC
Version:
Devel env, last commit's hash ffb5e0036ba5d05a166239c5643e207c327b6c3f

Scenario:
1. Attach Export Storage Domain with VMs in it
2. Import VM from that Export Storage Domain

Result:
The VM import seems to work but there is SerializationException in engine log for for any task related to that import.

2012-02-13 14:04:43,688 INFO  [org.ovirt.engine.core.bll.SPMAsyncTask] (pool-5-thread-397) BaseAsyncTask::AddOrUpdateTaskInDB: Adding task 5de85d5c-ae38-49af-bd5a-4d2952f97530 to DataBase
2012-02-13 14:04:43,733 ERROR [org.ovirt.engine.core.bll.SPMAsyncTask] (pool-5-thread-397) BaseAsyncTask::AddOrUpdateTaskInDB: Adding/Updating task 5de85d5c-ae38-49af-bd5a-4d2952f97530 to DataBase threw an exception.: org.apache.commons.
lang.SerializationException: org.codehaus.jackson.map.JsonMappingException: org.ovirt.engine.core.compat.Guid cannot be cast to [Ljava.lang.Object; (through reference chain: org.ovirt.engine.core.common.action.ImportVmParameters["vm"]->o
rg.ovirt.engine.core.common.businessentities.VM["diskMap"]->java.util.HashMap["3"]->org.ovirt.engine.core.common.businessentities.DiskImage["childrenId"])
        at org.ovirt.engine.core.utils.serialization.json.JsonObjectSerializer.writeJsonAsString(JsonObjectSerializer.java:67) [engine-utils.jar:]
        at org.ovirt.engine.core.utils.serialization.json.JsonObjectSerializer.serialize(JsonObjectSerializer.java:49) [engine-utils.jar:]
        at org.ovirt.engine.core.dao.AsyncTaskDAODbFacadeImpl$AsyncTaskParameterSource.serializeParameters(AsyncTaskDAODbFacadeImpl.java:74) [engine-dal.jar:]
        at org.ovirt.engine.core.dao.AsyncTaskDAODbFacadeImpl$AsyncTaskParameterSource.<init>(AsyncTaskDAODbFacadeImpl.java:67) [engine-dal.jar:]
        at org.ovirt.engine.core.dao.AsyncTaskDAODbFacadeImpl.getTaskParameterSource(AsyncTaskDAODbFacadeImpl.java:99) [engine-dal.jar:]
        at org.ovirt.engine.core.dao.AsyncTaskDAODbFacadeImpl.save(AsyncTaskDAODbFacadeImpl.java:104) [engine-dal.jar:]
        at org.ovirt.engine.core.bll.SPMAsyncTask.AddOrUpdateTaskInDB(SPMAsyncTask.java:105) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.SPMAsyncTask.<init>(SPMAsyncTask.java:22) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.EntityAsyncTask.<init>(EntityAsyncTask.java:46) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.AsyncTaskFactory.Construct(AsyncTaskFactory.java:59) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.AsyncTaskManager.CreateTask(AsyncTaskManager.java:448) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MoveOrCopyImageGroupCommand.ConcreteCreateTask(MoveOrCopyImageGroupCommand.java:183) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.CreateTask(CommandBase.java:826) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MoveOrCopyImageGroupCommand.executeCommand(MoveOrCopyImageGroupCommand.java:153) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.ExecuteWithoutTransaction(CommandBase.java:600) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:692) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:962) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInRequired(TransactionSupport.java:144) [engine-utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:109) [engine-utils.jar:]
        at org.ovirt.engine.core.bll.CommandBase.Execute(CommandBase.java:705) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.ExecuteAction(CommandBase.java:187) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:282) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runInternalAction(Backend.java:259) [engine-bll.jar:]
        at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source) [:1.6.0_22]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.6.0_22]
        at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_22]
        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [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.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:]
        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [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.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.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.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [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.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:53) [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.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:213) [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.Beta1b.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.runInternalAction(Unknown Source) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand.MoveOrCopyAllImageGroups(ImportVmCommand.java:469) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand.MoveOrCopyAllImageGroups(ImportVmCommand.java:443) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand$4.runInTransaction(ImportVmCommand.java:433) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand$4.runInTransaction(ImportVmCommand.java:428) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:204) [engine-utils.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand.processImages(ImportVmCommand.java:428) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.ImportVmCommand.executeCommand(ImportVmCommand.java:408) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.ExecuteWithoutTransaction(CommandBase.java:600) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:692) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:962) [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:]
        at org.ovirt.engine.core.bll.CommandBase.Execute(CommandBase.java:705) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.ExecuteAction(CommandBase.java:187) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MultipleActionsRunner.RunCommands(MultipleActionsRunner.java:140) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MultipleActionsRunner$1.run(MultipleActionsRunner.java:61) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:57) [engine-utils.jar:]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [:1.6.0_22]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [:1.6.0_22]
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) [:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.6.0_22]
        at java.lang.Thread.run(Thread.java:679) [:1.6.0_22]
Caused by: org.codehaus.jackson.map.JsonMappingException: org.ovirt.engine.core.compat.Guid cannot be cast to [Ljava.lang.Object; (through reference chain: org.ovirt.engine.core.common.action.ImportVmParameters["vm"]->org.ovirt.engine.core.common.businessentities.VM["diskMap"]->java.util.HashMap["3"]->org.ovirt.engine.core.common.businessentities.DiskImage["childrenId"])
        at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:215) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:180) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.SerializerBase.wrapAndThrow(SerializerBase.java:99) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:167) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeWithType(BeanSerializer.java:141) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.MapSerializer.serializeTypedFields(MapSerializer.java:297) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.MapSerializer.serializeFields(MapSerializer.java:169) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.MapSerializer.serializeWithType(MapSerializer.java:156) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.MapSerializer.serializeWithType(MapSerializer.java:22) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:270) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:160) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeWithType(BeanSerializer.java:141) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:270) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:160) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeWithType(BeanSerializer.java:141) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.StdSerializerProvider$WrappedSerializer.serialize(StdSerializerProvider.java:746) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:315) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:242) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ObjectMapper._configAndWriteValue(ObjectMapper.java:1846) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ObjectMapper.writeValueAsString(ObjectMapper.java:1473) [jackson-mapper-asl-1.6.3.jar:]
        at org.ovirt.engine.core.utils.serialization.json.JsonObjectSerializer.writeJsonAsString(JsonObjectSerializer.java:63) [engine-utils.jar:]
        ... 78 more
Caused by: java.lang.ClassCastException: org.ovirt.engine.core.compat.Guid cannot be cast to [Ljava.lang.Object;
        at org.codehaus.jackson.map.ser.ArraySerializers$ObjectArraySerializer.serializeContents(ArraySerializers.java:94) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.ArraySerializers$AsArraySerializer.serialize(ArraySerializers.java:67) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268) [jackson-mapper-asl-1.6.3.jar:]
        at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:160) [jackson-mapper-asl-1.6.3.jar:]
        ... 95 more

2012-02-13 14:04:43,744 INFO  [org.ovirt.engine.core.bll.EntityAsyncTask] (pool-5-thread-397) EntityAsyncTask::Adding EntityMultiAsyncTasks object for entity d5b30893-014f-4f58-ad69-bc217f699289

Comment 1 Itamar Heim 2012-02-14 03:46:40 UTC
*** Bug 789667 has been marked as a duplicate of this bug. ***