Bug 1215727 - Whenever an exception is thrown in the front end code, unrelated parts of the GUI tend to stop working (e.g. 'new' and 'import' buttons under Networks tab)
Summary: Whenever an exception is thrown in the front end code, unrelated parts of the...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Frontend.WebAdmin
Version: ---
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ovirt-4.0.0-alpha
: 4.0.0
Assignee: Vojtech Szocs
QA Contact: Pavel Novotny
URL:
Whiteboard:
Depends On:
Blocks: 1275760
TreeView+ depends on / blocked
 
Reported: 2015-04-27 14:38 UTC by Michael Burman
Modified: 2016-07-05 07:52 UTC (History)
8 users (show)

Fixed In Version: ovirt 4.0.0 alpha1
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1275760 (view as bug list)
Environment:
Last Closed: 2016-07-05 07:52:42 UTC
oVirt Team: UX
Embargoed:
rule-engine: ovirt-4.0.0+
rule-engine: planning_ack+
ecohen: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1049409 0 unspecified CLOSED [RFE] Persistent client-side logging infrastructure 2021-02-22 00:41:40 UTC
oVirt gerrit 25444 0 master MERGED webadmin,userportal: Persistent client-side logging infra Never
oVirt gerrit 46191 0 master MERGED webadmin,userportal: Contextual alert messages Never
oVirt gerrit 47467 0 master MERGED userportal: Enable contextual alerts in UserPortal Never

Internal Links: 1049409

Description Michael Burman 2015-04-27 14:38:04 UTC
Description of problem:
Whenever an exception is thrown in the front end code, unrelated parts of the GUI tend to stop working (e.g. 'new' and 'import' buttons under Networks tab).

I have noticed this when pressed the 'Cancel' button on Import networks window under Networks tab. When pressed 'Cancel' (button is not responding- see BZ 1215709), after that some buttons tent to stop working, such 'new' and import' under Networks tab.
Refreshing UI fix it.

Version-Release number of selected component (if applicable):
3.6.0-0.0.master.20150412172306.git55ba764.el6


Steps to Reproduce:
1. Go to Networks main tab, press 'Import' > press 'Cancel' button
2. Exit Import networks window with 'x'
3. Try to press on 'new' or 'import' buttons in the Networks tab

Actual results:
Buttons are not working. refreshing UI fix it.

Expected results:
Should work as expected.

Additional info:
See BZ- 1215709

Comment 1 Einav Cohen 2015-04-27 14:54:02 UTC
kind of a duplicate of bug 1049409, I think.

Comment 2 Max Kovgan 2015-06-28 14:12:06 UTC
ovirt-3.6.0-3 release

Comment 3 Michael Burman 2015-08-23 07:35:11 UTC
Please note, this bug is still exist on 3.6.0-0.12.master.el6
Same behavior..with the same steps..

Comment 4 Michael Burman 2015-09-07 05:48:53 UTC
This bug is still exist on 3.6.0-0.13.master.el6 same behavior with the same steps.

Comment 5 Vojtech Szocs 2015-09-09 12:41:52 UTC
Unfortunately, adding global uncaught exception handler doesn't solve the problem of the GUI left in "broken" state after a runtime exception occurs (and prevents subsequent code from being executed).

I'd suggest to implement a GUI dialog that informs the user of a runtime exception along with:
- suggestion to reload the web page
- pointing to client-side logs that can be used to report the problem

Fixing this in code is not easy as it would involve heavy defensive programming (null checks and/or try-catch blocks, etc.) applied to existing code (refactoring).

@Einav, what do you think?

Comment 6 Vojtech Szocs 2015-09-10 10:46:56 UTC
After talking with Einav, we might want to notify the user of a runtime exception via PatternFly/Bootstrap alert box, shown in the top center part of the GUI:

https://www.patternfly.org/widgets/#alerts

Comment 7 Einav Cohen 2015-09-10 14:03:02 UTC
(In reply to vszocs from comment #6)
> After talking with Einav, we might want to notify the user of a runtime
> exception via PatternFly/Bootstrap alert box, shown in the top center part
> of the GUI:
> 
> https://www.patternfly.org/widgets/#alerts

indeed - thanks, Vojtech - sorry for not updating the BZ myself :)

Comment 8 Vojtech Szocs 2015-10-09 16:55:14 UTC
Note that global alert messages (as mentioned in comment #6) are currently available in WebAdmin only.

Comment 9 Vojtech Szocs 2015-10-20 12:01:46 UTC
Removing link to patch "Enable contextual alerts in UserPortal" as this BZ is already ON_QA. Sorry for the noise.

Comment 10 Einav Cohen 2015-10-20 13:42:48 UTC
(In reply to vszocs from comment #8)
> Note that global alert messages (as mentioned in comment #6) are currently
> available in WebAdmin only.

moving BZ back to POST - let's use this BZ to track the user portal change as well.

Comment 11 Red Hat Bugzilla Rules Engine 2015-10-20 13:42:57 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 12 Einav Cohen 2015-10-20 13:46:59 UTC
[BTW, not sure why BZ was moved to ON_QA on 2015-10-15 - relevant patches were not included in any recently-released 3.6 build]

Comment 13 Einav Cohen 2015-10-20 13:48:46 UTC
Vojtech: once patch for user portal is merged, please move to MODIFIED. 
Afterwards, I will clone the BZ for ovirt-3.6.z, and you will be able to backport the patch in the context of the cloned BZ.

Comment 14 Pavel Novotny 2016-06-24 14:10:39 UTC
Verified in 
rhevm-4.0.0.6-0.1.el7ev.noarch (build 4.0.0-19).
ovirt-engine-webadmin-portal-4.0.0.6-0.1.el7ev.noarch

Verified according to reproducer in comment 0.

UI exception display is enabled:
# engine-config -g DisplayUncaughtUIExceptionsDisplayUncaughtUIExceptions: true version: general

Closing the Networks -> Import dialog via Close button or 'X' works. No UI exception is thrown. The GUI is still operational, menu buttons New / Import / Edit/ Remove also work as expected.

Comment 15 Sandro Bonazzola 2016-07-05 07:52:42 UTC
oVirt 4.0.0 has been released, closing current release.


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