SerializationException: Type 'org.ovirt.engine.core.common.utils.SecretValue' was not included in the set of types...
cgoudie opened this issue · 3 comments
Affected version
At least 4.5.4 and 4.5.5-1
- oVirt Engine: ovirt-engine-4.5.5-1.el8.noarch
- Host OS Variant: Centos Stream 8 x64
- VDSM version: vdsm-4.50.3.4-1.el9.x86_64
Describe the bug
When you create a VM with TPMS Support enabled, the UI for the snapshot screen doesn't work. (EG: A Windows 11 VM). Due to a serialization error.
the server.log on the engine gives a pretty clear indication of the root cause:
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'org.ovirt.engine.core.common.utils.SecretValue' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = ***
Looks similar to https://bugzilla.redhat.com/show_bug.cgi?id=1422841
To reproduce
- Create a Windows 11 configured VM with Trusted Platform Module: TPM Device Enabled checked.
- Install Windows 11 on it.
- Take a snapshot
- Preview the snapshot.
- Go back into the snapshots tab on the VM to either restore the original disk or commit the snapshot.
Endless 500 errors just viewing the snapshots tab.
Steps to reproduce the behavior
Expected behavior
Snapshot management on VMs with TPMS should function.
Note: I've run this in a new incognito window, meaning no cache.
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'org.ovirt.engine.core.common.utils.SecretValue' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = *** at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:696) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:130) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.core.java.util.Map_CustomFieldSerializerBase.serialize(Map_CustomFieldSerializerBase.java:53) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.core.java.util.EnumMap_CustomFieldSerializer.serialize(EnumMap_CustomFieldSerializer.java:77) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.core.java.util.EnumMap_CustomFieldSerializer.serializeInstance(EnumMap_CustomFieldSerializer.java:100) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.core.java.util.EnumMap_CustomFieldSerializer.serializeInstance(EnumMap_CustomFieldSerializer.java:31) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:818) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:698) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:130) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:167) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:606) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:787) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:826) at deployment.engine.ear.webadmin.war//com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:698) at deployment.engine.ear.webadmin.war//com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:130) at deployment.engine.ear.webadmin.war//org.ovirt.engine.ui.extension.ObjectSerializer.serialize(ObjectSerializer.java:104) at deployment.engine.ear.webadmin.war//org.ovirt.engine.core.common.queries.QueryReturnValue_CustomFieldSerializer.serialize(QueryReturnValue_CustomFieldSerializer.java:27) ... 84 more
Happens also on: 4.5.6-0.master.20240102080404.git8d47cd71da.el8
Does not happen on: 4.5.3.2-1.el8
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'org.ovirt.engine.core.common.utils.SecretValue' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = ***
Perhaps introduced here: