Bug 1844822 - DiskCopy: IllegalStateException: No default constructor for collection type
Summary: DiskCopy: IllegalStateException: No default constructor for collection type
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: General
Version: 4.4.1.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ovirt-4.4.1
: 4.4.1.4
Assignee: Benny Zlotnik
QA Contact: Evelina Shames
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-07 11:48 UTC by David Vaanunu
Modified: 2020-07-08 08:26 UTC (History)
8 users (show)

Fixed In Version: ovirt-engine-4.4.1.4
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-07-08 08:26:43 UTC
oVirt Team: Storage
Embargoed:
pm-rhel: ovirt-4.4+
pm-rhel: blocker?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 109504 0 master ABANDONED core: use mutable list for destImages 2021-02-08 09:50:17 UTC
oVirt gerrit 109505 0 master MERGED core: Create a mutable list when creating params for copy disk 2021-02-08 09:50:16 UTC

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.


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