Bug 1394175

Summary: Uncaught exception when attaching disk to a new VM
Product: [oVirt] ovirt-engine Reporter: Petr Matyáš <pmatyas>
Component: BLL.StorageAssignee: Tal Nisan <tnisan>
Status: CLOSED CURRENTRELEASE QA Contact: Kevin Alon Goldblatt <kgoldbla>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.0.5CC: bugs, ggillies, glush, pmatyas, ratamir, sasundar, s.kieske, tnisan
Target Milestone: ovirt-4.1.0-betaFlags: rule-engine: ovirt-4.1+
rule-engine: planning_ack+
rule-engine: devel_ack+
ratamir: testing_ack+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1416353 (view as bug list) Environment:
Last Closed: 2017-02-15 15:05:08 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:
Bug Depends On:    
Bug Blocks: 1416353    
Attachments:
Description Flags
screenshot
none
engine log
none
ui log none

Description Petr Matyáš 2016-11-11 10:33:38 UTC
Created attachment 1219697 [details]
screenshot

Description of problem:
When I select a disk to attach to a VM and try to confirm the dialogue, nothing happens for the first time and suddenly wild uncaught exception appears.

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

How reproducible:
always

Steps to Reproduce:
1. create new vm
2. select attach disk
3. select a disk and confirm the dialogue

Actual results:
uncaught exception

Expected results:
the VM has shiny old disk attached

Additional info:
2016-11-11 09:29:14,809 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-57) [] Permutation name: 3CA40F54CAD8AB6CAB935F5A4B10C074
2016-11-11 09:29:14,810 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-57) [] Uncaught exception: com.google.gwt.event.shared.UmbrellaExce
ption: Exception caught: Exception caught: (TypeError)
 __gwt$exception: <skipped>: a is null
        at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_111]
        at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_111]
        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.user.client.ui.Widget.$fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:110) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.$onBrowserEvent(Widget.java:163) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.CustomButton.onBrowserEvent(CustomButton.java:631) [gwt-servlet.jar:]
        at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1648) [gwt-servlet.jar:]
        at com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent(DOMImplStandard.java:320) [gwt-servlet.jar:]
        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.Sx/<(Unknown Source)
        at com.google.gwt.dom.client.DOMImplStandard.$dispatchEvent(DOMImplStandard.java:68) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.CustomButton.$onClick(CustomButton.java:822) [gwt-servlet.jar:]
        at org.ovirt.engine.ui.common.widget.dialog.AbstractDialogButton.onClick(AbstractDialogButton.java:45)
        at com.google.gwt.user.client.ui.CustomButton.onBrowserEvent(CustomButton.java:631) [gwt-servlet.jar:]
        at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1648) [gwt-servlet.jar:]
        at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1666) [gwt-servlet.jar:]
        at com.google.gwt.user.client.impl.DOMImplStandard.dispatchCapturedMouseEvent(DOMImplStandard.java:352) [gwt-servlet.jar:]
        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.Sx/<(Unknown Source)
        at Unknown.anonymous(Unknown Source)
Caused by: com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError)
 __gwt$exception: <skipped>: a is null
        at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_111]
        at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_111]
        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.user.client.ui.Widget.$fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:40) [gwt-servlet.jar:]
        at org.ovirt.engine.ui.common.widget.uicommon.instanceimages.InstanceImageLineEditor$3.eventRaised(InstanceImageLineEditor.java:96)
        at org.ovirt.engine.ui.uicompat.Event.$raise(Event.java:114)
        at org.ovirt.engine.ui.uicommonweb.models.EntityModel.$setEntity(EntityModel.java:35)
        at org.ovirt.engine.ui.uicommonweb.models.EntityModel.setEntity(EntityModel.java:35)
        at org.ovirt.engine.ui.uicommonweb.models.vms.InstanceImageLineModel$2.onSave(InstanceImageLineModel.java:178)
        at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.executeCommand(AbstractDiskModel.java:1046)
        at org.ovirt.engine.ui.uicommonweb.UICommand.$execute(UICommand.java:163)
        at org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget$6.onClick(AbstractModelBoundPopupPresenterWidget.java:337)
        at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:55) [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:]
        ... 22 more
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError)
 __gwt$exception: <skipped>: a is null
        at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget$AddRemoveRowPanel.$setButtonsEnabled(AddRemoveRowWidget.java:377)
        at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget.$setButtonsEnabled(AddRemoveRowWidget.java:344)
        at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget.toggleGhost(AddRemoveRowWidget.java:497)
        at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget$3.onValueChange(AddRemoveRowWidget.java:232)
        at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:127) [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:]
        ... 37 more

Comment 1 Petr Matyáš 2016-11-11 10:34:18 UTC
Created attachment 1219698 [details]
engine log

Comment 2 Yaniv Kaul 2016-11-12 17:48:16 UTC
Reminds me of bug 1364152 .

Comment 3 Tal Nisan 2016-11-13 10:33:44 UTC
Hi Petr,
I've tried to reproduce but could not (also tried the scenario from the screenshot, VM in up state and attaching a disk as an OS disk)
Can you please follow those steps and send me the UI log?

yum install ovirt-engine-webadmin-portal-debuginfo
Restart the engine service
Reproduce the issue and attach logs from var/log/ovirt-engine/ui.log

Thanks.

Comment 4 Petr Matyáš 2016-11-14 16:11:46 UTC
Created attachment 1220472 [details]
ui log

It should be the same as in Additional info.
In this case I used an old VM and tried to attach new disk through edit VM dialogue and the same error appeared.

Comment 5 Allon Mureinik 2016-11-14 21:26:15 UTC
Tentatively targetting for 4.0.6 until we understand what's going on here.

Comment 6 Tal Nisan 2016-12-19 14:33:12 UTC
Petr, can it be that the data center is down at the time of attachment?

Comment 7 Dmitry Glushenok 2016-12-20 09:50:42 UTC
Was experiencing similar problem with ovirt-engine 4.0.5.5 (logs below). The problem gone after upgrading to 4.0.6.3 pre-release.


2016-12-20 11:47:51,452 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-16) [] Permutation name: 36FFE9E683BD2C616FFB067DABA3A81E
2016-12-20 11:47:51,456 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-16) [] Uncaught exception: com.google.gwt.event.shared.UmbrellaException: Exception caught: Exception caught: (TypeError) 
 __gwt$exception: <skipped>: Cannot read property 'b' of null
	at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_111]
	at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_111]
	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.user.client.ui.Widget.$fireEvent(Widget.java:127) [gwt-servlet.jar:]
	at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:127) [gwt-servlet.jar:]
	at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:110) [gwt-servlet.jar:]
	at com.google.gwt.user.client.ui.Widget.$onBrowserEvent(Widget.java:163) [gwt-servlet.jar:]
	at com.google.gwt.user.client.ui.CustomButton.onBrowserEvent(CustomButton.java:631) [gwt-servlet.jar:]
	at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1648) [gwt-servlet.jar:]
	at com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent(DOMImplStandard.java:320) [gwt-servlet.jar:]
	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.eval(webadmin-0.js@54)
	at com.google.gwt.dom.client.DOMImplStandard.$dispatchEvent(DOMImplStandard.java:68) [gwt-servlet.jar:]
	at com.google.gwt.user.client.ui.CustomButton.$onClick(CustomButton.java:822) [gwt-servlet.jar:]
	at org.ovirt.engine.ui.common.widget.dialog.AbstractDialogButton.onClick(AbstractDialogButton.java:45)
	at com.google.gwt.user.client.ui.CustomButton.onBrowserEvent(CustomButton.java:631) [gwt-servlet.jar:]
	at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1648) [gwt-servlet.jar:]
	at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1666) [gwt-servlet.jar:]
	at com.google.gwt.user.client.impl.DOMImplStandard.dispatchCapturedMouseEvent(DOMImplStandard.java:352) [gwt-servlet.jar:]
	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.eval(webadmin-0.js@54)
Caused by: com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) 
 __gwt$exception: <skipped>: Cannot read property 'b' of null
	at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_111]
	at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_111]
	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.user.client.ui.Widget.$fireEvent(Widget.java:127) [gwt-servlet.jar:]
	at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:127) [gwt-servlet.jar:]
	at com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:40) [gwt-servlet.jar:]
	at org.ovirt.engine.ui.common.widget.uicommon.instanceimages.InstanceImageLineEditor$3.eventRaised(InstanceImageLineEditor.java:96)
	at org.ovirt.engine.ui.uicompat.Event.$raise(Event.java:114)
	at org.ovirt.engine.ui.uicommonweb.models.EntityModel.$setEntity(EntityModel.java:35)
	at org.ovirt.engine.ui.uicommonweb.models.EntityModel.setEntity(EntityModel.java:35)
	at org.ovirt.engine.ui.uicommonweb.models.vms.InstanceImageLineModel$2.onSave(InstanceImageLineModel.java:178)
	at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.executeCommand(AbstractDiskModel.java:1046)
	at org.ovirt.engine.ui.uicommonweb.UICommand.$execute(UICommand.java:163)
	at org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget$6.onClick(AbstractModelBoundPopupPresenterWidget.java:337)
	at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:55) [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:]
	... 21 more
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) 
 __gwt$exception: <skipped>: Cannot read property 'b' of null
	at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget$AddRemoveRowPanel.$setButtonsEnabled(AddRemoveRowWidget.java:377)
	at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget.$setButtonsEnabled(AddRemoveRowWidget.java:344)
	at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget.toggleGhost(AddRemoveRowWidget.java:497)
	at org.ovirt.engine.ui.common.widget.AddRemoveRowWidget$3.onValueChange(AddRemoveRowWidget.java:232)
	at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:127) [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:]
	... 36 more

Comment 8 Tal Nisan 2016-12-20 09:53:42 UTC
Dmitry, did this happen when all data centers were down?

Comment 9 Dmitry Glushenok 2016-12-20 09:58:06 UTC
No, the single datacenter was up. It is fresh sandbox install. There is one datacenter, one cluster and one host.
One unusual thing is I was attaching RBD images with Cinder provider (didn't tried regular disk images).

Comment 10 Tal Nisan 2016-12-25 12:27:07 UTC
OK, this issue is fixed in 4.0.6 so an upgrade will fix it.
As a work around you can create the VM first and then attach the disk from the disks sub tab.
Marking as MODIFIED so it will be tested on 4.0.7 to make sure although I've tried myself and could not reproduce.

Comment 11 Sandro Bonazzola 2017-01-25 07:56:29 UTC
4.0.6 has been the last oVirt 4.0 release, please re-target this bug.

Comment 12 Kevin Alon Goldblatt 2017-01-31 12:35:37 UTC
Verified with the following code:
------------------------------------------------
rhevm-4.1.0.2-0.2.el7.noarch
ovirt-engine-4.1.0.2-0.2.el7.noarch
vdsm-4.19.2-2.el7ev.x86_64


Verified with the following scenario:
------------------------------------------
1. create new vm
2. select attach disk
3. select a disk and confirm the dialogue - disk is successfully attached


Moving to VERIFIED!