Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1844822

Summary: DiskCopy: IllegalStateException: No default constructor for collection type
Product: [oVirt] ovirt-engine Reporter: David Vaanunu <dvaanunu>
Component: GeneralAssignee: Benny Zlotnik <bzlotnik>
Status: CLOSED CURRENTRELEASE QA Contact: Evelina Shames <eshames>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.4.1.1CC: bugs, bzlotnik, dagur, eshenitz, lsvaty, mlehrer, sfishbai, tnisan
Target Milestone: ovirt-4.4.1Keywords: Performance, Regression, TestBlocker
Target Release: 4.4.1.4Flags: pm-rhel: ovirt-4.4+
pm-rhel: blocker?
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.1.4 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-08 08:26:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Vaanunu 2020-06-07 11:48:37 UTC
Description of problem:

During DiskCopy get an Error:
java.lang.IllegalStateException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]]

Running full JMETER lifecycle scenarios - After 17Hrs get the errors


Version-Release number of selected component (if applicable):

rhv-release-4.4.1-1-001.noarch
redhat-release-8.2-1.0.el8.x86_64

How reproducible:


Steps to Reproduce:
1. Running full JMETER lifecycle scenarios
2. Get errors in engine & server log files
3.  

Actual results:

Have Errors and can't login to the portal


Expected results:

No Errors


Additional info:

Engine Error timestamp: 2020-06-05 03:36:05,048-04

Attached Engine & server log files:
https://drive.google.com/open?id=1WEsHAIzZt3GZPgki0EowihseecvwS3xr



2020-06-05 03:36:05,048-04 ERROR [org.ovirt.engine.core.bll.CommandEntityCleanupManager] (EE-ManagedScheduledExecutorService-engineScheduledThreadPool-Thread-8) [] Exception in performing command entity cleanup: IllegalStateException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]]
2020-06-05 03:36:05,370-04 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.SetDestroyOnRebootVDSCommand] (default task-3029) [85ba9ec2-a061-45d8-8fff-67734d3d61b1] FINISH, SetDestroyOnRebootVDSCommand, return: , log id: 6c2b2d89
2020-06-05 03:36:05,698-04 ERROR [org.ovirt.engine.core.bll.UpdateVmCommand] (default task-3029) [2b7c7c06] Command 'org.ovirt.engine.core.bll.UpdateVmCommand' failed: org.codehaus.jackson.map.JsonMappingException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]] (through reference chain: org.ovirt.engine.core.common.action.CopyImageGroupWithDataCommandParameters["destImages"])
2020-06-05 03:36:05,698-04 ERROR [org.ovirt.engine.core.bll.UpdateVmCommand] (default task-3029) [2b7c7c06] Exception: javax.ejb.EJBTransactionRolledbackException: org.codehaus.jackson.map.JsonMappingException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]] (through reference chain: org.ovirt.engine.core.common.action.CopyImageGroupWithDataCommandParameters["destImages"])
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:215)
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:432)
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:160)
        at org.jboss.invocation.2.Final-redhat-00001//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.invocation.2.Final-redhat-00001//org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
        at org.jboss.weld.core.2.Final-redhat-00001//org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
        at org.jboss.as.weld.common.0.GA-redhat-00004//org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
        at org.jboss.invocation.2.Final-redhat-00001//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
        at org.jboss.invocation.2.Final-redhat-00001//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)
        at org.jboss.invocation.2.Final-redhat-00001//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.0.GA-redhat-00004//org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityCont

Comment 1 mlehrer 2020-06-08 08:37:17 UTC
Scale team is currently blocked by this issue as we cannot log in to webadmin after this error occurred.
Updating severity to reflect current status.

VM Lifecycle consists of virtual users performing:

VM_Set_HotPlug_Memory
VM_Snapshot
VM_Migration
VM_Copy_Move_Disk
GettingTicket
Search_Events
VM_Actions (Create,Remove)

Attempting to log in to webadmin results in:

2020-06-08 04:26:28,736-04 ERROR [org.ovirt.engine.core.aaa.servlet.SsoPostLoginServlet] (default task-3) [] java.lang.reflect.UndeclaredThrowableException



2020-05-06 10:27:38,444-04 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-809) [] Permutation name: C4CB659632D4C66DE59E947CC0EEEF27
2020-05-06 10:27:38,444-04 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-809) [] Uncaught exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'length' of null
        at org.ovirt.engine.ui.webadmin.widget.table.column.ClusterAdditionalStatusColumn.$getEntityValue(ClusterAdditionalStatusColumn.java:53)
        at org.ovirt.engine.ui.webadmin.widget.table.column.ClusterAdditionalStatusColumn.getEntityValue(ClusterAdditionalStatusColumn.java:53)
        at org.ovirt.engine.ui.webadmin.widget.table.column.EntityAdditionalStatusColumn.$getValue(EntityAdditionalStatusColumn.java:49)
        at org.ovirt.engine.ui.webadmin.widget.table.column.EntityAdditionalStatusColumn.getValue(EntityAdditionalStatusColumn.java:49)
        at com.google.gwt.user.cellview.client.Column.render(Column.java:164)
        at com.google.gwt.user.cellview.client.AbstractCellTableBuilder.$renderCell(AbstractCellTableBuilder.java:188)
        at com.google.gwt.user.cellview.client.DefaultCellTableBuilder.$buildRowImpl(DefaultCellTableBuilder.java:62)
        at com.google.gwt.user.cellview.client.AbstractCellTableBuilder.$buildRow(AbstractCellTableBuilder.java:85)
        at com.google.gwt.user.cellview.client.AbstractCellTable.$buildRowValues(AbstractCellTable.java:2350)
        at com.google.gwt.user.cellview.client.AbstractCellTable.replaceAllChildren(AbstractCellTable.java:2149)
        at com.google.gwt.user.cellview.client.AbstractHasData$View.replaceAllChildren(AbstractHasData.java:265)
        at com.google.gwt.user.cellview.client.HasDataPresenter.$resolvePendingState(HasDataPresenter.java:1062)
        at com.google.gwt.user.cellview.client.HasDataPresenter$2.execute(HasDataPresenter.java:981)
        at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:167)
        at com.google.gwt.core.client.impl.SchedulerImpl.$flushFinallyCommands(SchedulerImpl.java:272)
        at com.google.gwt.core.client.impl.Impl.exit(Impl.java:313)
        at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:275)
        at Unknown.eval(webadmin-0.js)
        at Unknown.d(webadmin-0.js)




Caused by: org.codehaus.jackson.map.JsonMappingException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]] (through reference chain: org.ovirt.engine.core.common.action.CopyImageGroupWithDataCommandParameters["destImages"]) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:218) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:183) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.BeanDeserializer.wrapAndThrow(BeanDeserializer.java:1472) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:699) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:600) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:92) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.BeanDeserializer.deserializeWithType(BeanDeserializer.java:664) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.StdDeserializerProvider$WrappedDeserializer.deserialize(StdDeserializerProvider.java:461) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863) 
        at org.ovirt.engine.core.utils//org.ovirt.engine.core.utils.serialization.json.JsonObjectDeserializer.readJsonString(JsonObjectDeserializer.java:108) 
        ... 138 more 
Caused by: java.lang.IllegalStateException: No default constructor for [collection type; class java.util.ImmutableCollections$List12, contains [simple type, class org.ovirt.engine.core.common.businessentities.storage.DiskImage]] 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.std.StdValueInstantiator.createUsingDefault(StdValueInstantiator.java:209) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer._deserialize(AsArrayTypeDeserializer.java:88) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.jsontype.impl.AsArrayTypeDeserializer.deserializeTypedFromArray(AsArrayTypeDeserializer.java:45) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserializeWithType(CollectionDeserializer.java:232) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:297) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414) 
        at org.codehaus.jackson.jackson-mapper-asl.13.redhat-00006//org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697) 
        ... 145 more

Comment 2 RHEL Program Management 2020-06-08 12:14:42 UTC
This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.

Comment 4 Evelina Shames 2020-07-01 09:36:56 UTC
Verified with the fololwing flow:
1. Start copy disk
2. wait for CopyImageGroupWithDataCommand in engine log
3. restart engine
4. check that /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c "SELECT * from command_entities" | grep destImages return results
--> 'No default constructor' error doesn't appear, the UI is accessible and the copy operation finished successfully.

Verified on ovirt-engine-4.4.1.5-0.17.el8ev.noarch

Moving to 'Verified'.

Comment 5 Sandro Bonazzola 2020-07-08 08:26:43 UTC
This bugzilla is included in oVirt 4.4.1 release, published on July 8th 2020.

Since the problem described in this bug report should be resolved in oVirt 4.4.1 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.