Bug 1463477 - Uncaught exception when clicking on any VM under Virtual Machines tab in UI [NEEDINFO]
Uncaught exception when clicking on any VM under Virtual Machines tab in UI
Status: NEW
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine (Show other bugs)
4.1.2
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Tomas Jelinek
meital avital
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-20 23:08 EDT by Ribu Tho
Modified: 2017-08-15 04:02 EDT (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Virt
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
lbopf: needinfo? (melewis)


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 3132091 None None None 2017-08-03 19:57 EDT

  None (edit)
Description Ribu Tho 2017-06-20 23:08:18 EDT
Description of problem:

Webadmin portal show an error when clicking on any of the VM's in the Virtual Machine tabs. 

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

ovirt-engine-4.1.2.3-0.1.el7.noarch
rhevm-4.1.2.3-0.1.el7.noarch

How reproducible:

Tried to run the same steps as the customer case , however didn't receive the error . 

Steps to Reproduce:

1. Do an engine backup and then restore it 

2. Login to the GUI >> Virtual Machines tab 

3. Click on any of VM's and throws the error. 


Actual results:

Uncaught exception occurred. Please try reloading the page. Details: (TypeError) __gwt$exception: <skipped>: lib(...) is null
Please have your administrator check the UI logs

Expected results:

The VM info showing up correctly without any errors or exceptions. 


Additional info:
Comment 5 Yaniv Kaul 2017-06-21 03:05:08 EDT
Hi,

Could you please install the webadmin debuginfo package, restart ovirt-engine and reproduce? This will give a deciphered stack in UI.log.
Comment 6 Ribu Tho 2017-06-21 03:14:39 EDT
Hi,

The package for debuginfo mentioned below have been already installed and the UI.log has been captured after this. 

ovirt-engine-userportal-debuginfo-4.1.2.3-0.1.el7.noarch
ovirt-engine-webadmin-portal-debuginfo-4.1.2.3-0.1.el7.noarch
Comment 7 Yaniv Kaul 2017-06-21 03:19:08 EDT
(In reply to Ribu Tho from comment #6)
> Hi,
> 
> The package for debuginfo mentioned below have been already installed and
> the UI.log has been captured after this. 
> 
> ovirt-engine-userportal-debuginfo-4.1.2.3-0.1.el7.noarch
> ovirt-engine-webadmin-portal-debuginfo-4.1.2.3-0.1.el7.noarch

Correct. Pasting deciphered stack here so it can be google'd:
2017-06-19 15:18:25,766+02 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-46) [] Uncaught exception: com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) 
 __gwt$exception: <skipped>: iib(...) is null
	at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_131]
	at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_131]
	at com.google.web.bindery.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:70) [gwt-servlet.jar:]
	at com.google.gwt.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:25) [gwt-servlet.jar:]
	at com.google.gwt.event.shared.HandlerManager.$fireEvent(HandlerManager.java:117) [gwt-servlet.jar:]
	at com.google.gwt.view.client.SelectionChangeEvent.fire(SelectionChangeEvent.java:67) [gwt-servlet.jar:]
	at org.ovirt.engine.ui.common.widget.table.OrderedMultiSelectionModel.$resolveChanges(OrderedMultiSelectionModel.java:115)
	at org.ovirt.engine.ui.common.widget.table.OrderedMultiSelectionModel.fireSelectionChangeEvent(OrderedMultiSelectionModel.java:108)
	at com.google.gwt.view.client.SelectionModel$AbstractSelectionModel$1.execute(SelectionModel.java:128) [gwt-servlet.jar:]
	at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:164) [gwt-servlet.jar:]
	at com.google.gwt.core.client.impl.SchedulerImpl.$flushFinallyCommands(SchedulerImpl.java:270) [gwt-servlet.jar:]
	at com.google.gwt.core.client.impl.Impl.exit(Impl.java:378) [gwt-servlet.jar:]
	at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:335) [gwt-servlet.jar:]
	at Unknown.Ix/<(Unknown Source)
	at Unknown.anonymous(Unknown Source)
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) 
 __gwt$exception: <skipped>: iib(...) is null
	at org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider.$hasSpiceSupport(AsyncDataProvider.java:2696)
	at org.ovirt.engine.ui.uicommonweb.models.vms.SpiceConsoleModel.canBeSelected(SpiceConsoleModel.java:147)
	at org.ovirt.engine.ui.uicommonweb.models.ConsolesBase.$setDefaultSelectedProtocol(ConsolesBase.java:66)
	at org.ovirt.engine.ui.uicommonweb.models.VmConsolesImpl.VmConsolesImpl(VmConsolesImpl.java:9)
	at org.ovirt.engine.ui.uicommonweb.models.ConsolesFactory.$getVmConsolesForVm(ConsolesFactory.java:29)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.$isConsoleCommandsExecutionAllowed(VmListModel.java:2028)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.$updateActionsAvailability(VmListModel.java:1957)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.selectedItemsChanged(VmListModel.java:1941)
	at org.ovirt.engine.ui.uicommonweb.models.ListModel.$setSelectedItems(ListModel.java:61)
	at org.ovirt.engine.ui.common.uicommon.model.DataBoundTabModelProvider.$setSelectedItems(DataBoundTabModelProvider.java:85)
	at org.ovirt.engine.ui.webadmin.section.main.presenter.AbstractMainTabWithDetailsPresenter$1.onSelectionChange(AbstractMainTabWithDetailsPresenter.java:53)
	at com.google.gwt.view.client.SelectionChangeEvent.dispatch(SelectionChangeEvent.java:98) [gwt-servlet.jar:]
	at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:76) [gwt-servlet.jar:]
	at com.google.web.bindery.event.shared.SimpleEventBus.$doFire(SimpleEventBus.java:173) [gwt-servlet.jar:]
	... 11 more

2017-06-19 15:18:29,943+02 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-51) [] Permutation name: 596C8575FE23654C3CFB8B5741B36A36
2017-06-19 15:18:29,945+02 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-51) [] Uncaught exception: com.google.gwt.core.client.JavaScriptException: (TypeError) 
 __gwt$exception: <skipped>: iib(...) is null
	at org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider.$hasSpiceSupport(AsyncDataProvider.java:2696)
	at org.ovirt.engine.ui.uicommonweb.models.vms.SpiceConsoleModel.canBeSelected(SpiceConsoleModel.java:147)
	at org.ovirt.engine.ui.uicommonweb.models.ConsolesBase.$setDefaultSelectedProtocol(ConsolesBase.java:66)
	at org.ovirt.engine.ui.uicommonweb.models.VmConsolesImpl.VmConsolesImpl(VmConsolesImpl.java:9)
	at org.ovirt.engine.ui.uicommonweb.models.ConsolesFactory.$getVmConsolesForVm(ConsolesFactory.java:29)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.$isConsoleCommandsExecutionAllowed(VmListModel.java:2028)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.$updateActionsAvailability(VmListModel.java:1957)
	at org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel.onSelectedItemChanged(VmListModel.java:1934)
	at org.ovirt.engine.ui.uicommonweb.models.SearchableListModel.$setItems(SearchableListModel.java:677)
	at org.ovirt.engine.ui.uicommonweb.models.SearchableListModel.setItems(SearchableListModel.java:677)
	at org.ovirt.engine.ui.uicommonweb.models.SearchableListModel$SetItemsAsyncQuery$1.$onSuccess(SearchableListModel.java:839)
	at org.ovirt.engine.ui.uicommonweb.models.SearchableListModel$SetItemsAsyncQuery$1.onSuccess(SearchableListModel.java:839)
	at org.ovirt.engine.ui.frontend.Frontend$2.$onSuccess(Frontend.java:233) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.Frontend$2.onSuccess(Frontend.java:233) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.communication.OperationProcessor$2.$onSuccess(OperationProcessor.java:139) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.communication.OperationProcessor$2.onSuccess(OperationProcessor.java:139) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.communication.GWTRPCCommunicationProvider$3$1.$onSuccess(GWTRPCCommunicationProvider.java:160) [frontend.jar:]
	at org.ovirt.engine.ui.frontend.communication.GWTRPCCommunicationProvider$3$1.onSuccess(GWTRPCCommunicationProvider.java:160) [frontend.jar:]
	at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:198) [gwt-servlet.jar:]
	at com.google.gwt.http.client.Request.$fireOnResponseReceived(Request.java:237) [gwt-servlet.jar:]
	at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:409) [gwt-servlet.jar:]
	at Unknown.XHf/c.onreadystatechange<(Unknown Source)
	at com.google.gwt.core.client.impl.Impl.apply(Impl.java:296) [gwt-servlet.jar:]
	at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:335) [gwt-servlet.jar:]
	at Unknown.Ix/<(Unknown Source)
	at Unknown.anonymous(Unknown Source)
Comment 8 Yaniv Kaul 2017-06-21 03:22:28 EDT
Ribu, a simple google for hasSpiceSupport led me to https://bugzilla.redhat.com/show_bug.cgi?id=1434941 - can you check if it resembles in any way the situation? Where is the backup of the engine coming from?
Comment 24 Tomas Jelinek 2017-07-31 10:25:32 EDT
@Sandro: is there something in backup/restore which could take care of also backuping / restoring the osinfo files? Or at least to check on restore that some of the VMs are referencing OS IDs which are defined in a file which is not in this setup?
Comment 25 Igor Netkachev 2017-07-31 13:46:20 EDT
Tomas,

I have ran some tests and I can confirm that in 3.6, 4.0 and 4.1 engine-backup actually includes custom files under /etc/ovirt-engine/osinfo.conf.d/ in backup archive (/etc/ovirt-engine/osinfo.conf.d/README suggests to "Create your own configuration to override product defaults." in this specific directory). IMHO it is expected that file /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties (whic is a symlink actually pointing to /usr/share/ovirt-engine/conf/osinfo-defaults.properties) gets overwritten upon engine upgrade with newer version, so one should not add custom records to that file and instead one should create custom properties files under /etc/ovirt-engine/osinfo.conf.d/ . I have also updated KCS https://access.redhat.com/solutions/797463 to reflect this.

I could not find anything related to osinfo files in RHV Administration Guide, shouldn't we add anything about it?


--
Kind Regards,
Igor Netkachev
Technical Support Engineer
Red Hat Global Support Services
Comment 26 Tomas Jelinek 2017-08-01 06:13:47 EDT
> 
> I could not find anything related to osinfo files in RHV Administration
> Guide, shouldn't we add anything about it?

I have found this in https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.1/html/virtual_machine_management_guide/sect-using_sysprep_to_automate_the_configuration_of_virtual_machines:

<copy paste>
The override file must be created under /etc/ovirt-engine/osinfo.conf.d/, have a filename that puts it after /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties, and ends in .properties. For example, /etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties. The last file will have precedence and override any other previous file. 
</copy paste>

But it would deserve a more generic location since it is not only about sysprep but a generic OS configuration.

@Lucy: I remotely remember we were discussing in context of cloud-init documentation to move this information to a more generic location - but Im not sure now. Can you please comment on it?

> 
> 
> --
> Kind Regards,
> Igor Netkachev
> Technical Support Engineer
> Red Hat Global Support Services
Comment 27 Lucy Bopf 2017-08-15 04:02:31 EDT
(In reply to Tomas Jelinek from comment #26)
> > 
> > I could not find anything related to osinfo files in RHV Administration
> > Guide, shouldn't we add anything about it?
> 
> I have found this in
> https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.1/
> html/virtual_machine_management_guide/sect-
> using_sysprep_to_automate_the_configuration_of_virtual_machines:
> 
> <copy paste>
> The override file must be created under /etc/ovirt-engine/osinfo.conf.d/,
> have a filename that puts it after
> /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties, and ends in
> .properties. For example,
> /etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties. The last file
> will have precedence and override any other previous file. 
> </copy paste>
> 
> But it would deserve a more generic location since it is not only about
> sysprep but a generic OS configuration.
> 
> @Lucy: I remotely remember we were discussing in context of cloud-init
> documentation to move this information to a more generic location - but Im
> not sure now. Can you please comment on it?

I think you may have discussed this with Megan in bug 1125853. Megan, do you have any thoughts about the location of the information?

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