Bug 791228

Summary: Globally uncaught exception in PlatformSummaryPortlet$3.onFailure() occurs when navigating away from the Dashboard before it has fully loaded
Product: [Other] RHQ Project Reporter: John Mazzitelli <mazz>
Component: Core UIAssignee: RHQ Project Maintainer <rhq-maint>
Status: CLOSED WONTFIX QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: medium    
Version: 4.2CC: hrupp, mazz
Target Milestone: ---   
Target Release: JON 3.0.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 784656 Environment:
Last Closed: 2012-02-17 19:51:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 784656    
Bug Blocks:    

Description John Mazzitelli 2012-02-16 14:54:41 UTC
+++ This bug was initially created as a clone of Bug #784656 +++

I saw this in JON 3.0. It appears to be a "quick-click" issue. It's pretty easy to reproduce: click on the Dashboard top link, then quickly click on some other top link (eg - Inventory) before the dashboard has finished loading.

Here is the JavaScript stack trace (I'll include a Java stack trace later, if I can reproduce it in hosted mode):

com.google.gwt.core.client.JavaScriptException:(TypeError): this.getField(_3) is null
 stack: isc_ListGrid_sort(1,true)@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2584
isc_ListGrid_resort()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2583
isc_ListGrid_setFields((void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1216
isc_ListGrid_refreshFields()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1256
org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onFailure__Ljava_lang_Throwable_2V([object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99805
com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:9349
org_rhq_enterprise_gui_coregui_client_util_rpc_TrackingRequestCallback_onResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:168770
com_google_gwt_http_client_Request_$fireOnResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_RequestCallback_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4376
com_google_gwt_http_client_RequestBuilder$1_onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V([object XMLHttpRequest])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4600
([object Event])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:12659
com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2((function () {handler.onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V(_this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2474
([object Event])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2463

 fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js
 lineNumber: 2584
--- STACK TRACE FOLLOWS ---
(TypeError): this.getField(_3) is null
 stack: isc_ListGrid_sort(1,true)@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2584
isc_ListGrid_resort()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2583
isc_ListGrid_setFields((void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1216
isc_ListGrid_refreshFields()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1256
org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onFailure__Ljava_lang_Throwable_2V([object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99805
com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:9349
org_rhq_enterprise_gui_coregui_client_util_rpc_TrackingRequestCallback_onResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:168770
com_google_gwt_http_client_Request_$fireOnResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_RequestCallback_2V([object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4376
com_google_gwt_http_client_RequestBuilder$1_onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V([object XMLHttpRequest])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4600
([object Event])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:12659
com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2((function () {handler.onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V(_this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2474
([object Event])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2463

 fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js
 lineNumber: 2584
   at Unknown.isc_ListGrid_sort(Unknown source:0)
   at Unknown.isc_ListGrid_resort(Unknown source:0)
   at Unknown.isc_ListGrid_setFields(Unknown source:0)
   at Unknown.isc_ListGrid_refreshFields(Unknown source:0)
   at Unknown.org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onFailure__Ljava_lang_Throwable_2V(Unknown source:0)
   at Unknown.com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V(Unknown source:0)
   at Unknown.org_rhq_enterprise_gui_coregui_client_util_rpc_TrackingRequestCallback_onResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_Response_2V(Unknown source:0)
   at Unknown.com_google_gwt_http_client_Request_$fireOnResponseReceived__Lcom_google_gwt_http_client_Request_2Lcom_google_gwt_http_client_RequestCallback_2V(Unknown source:0)
   at Unknown.com_google_gwt_http_client_RequestBuilder$1_onReadyStateChange__Lcom_google_gwt_xhr_client_XMLHttpRequest_2V(Unknown source:0)
   at Unknown.anonymous(Unknown source:0)
   at Unknown.com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2(Unknown source:0)
   at Unknown.anonymous(Unknown source:0)
   at Unknown.anonymous(Unknown source:0)

--- Additional comment from ian.springer on 2012-01-25 14:11:37 EST ---

I reproduced this with HEAD of RHQ master in hosted mode. Note, the Platform Utilization portlet is not enabled by default in RHQ, as it is in JON, so you must first add that portlet to your dashboard before reproducing this bug. 

Here is the stack trace, which unfortunately does not provide much additional information, since the exception occurs deep inside SmartClient native JavaScript:

com.google.gwt.core.client.JavaScriptException:(TypeError): this.getField(_3) is null
 fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js
 lineNumber: 2584
 stack: isc_ListGrid_sort(1,true)@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2584
isc_ListGrid_resort()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2583
isc_ListGrid_setFields((void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1216
isc_ListGrid_refreshFields()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1256
()@http://localhost:7080:973
@:0
([object GWTJavaObject],16384001,[object XMLHttpRequest])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56
([object Event])@http://localhost:7080:48
((function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080:12
@:0
(null,27,(function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56
([object Event])@http://localhost:7080:63

--- STACK TRACE FOLLOWS ---
(TypeError): this.getField(_3) is null
 fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js
 lineNumber: 2584
 stack: isc_ListGrid_sort(1,true)@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2584
isc_ListGrid_resort()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2583
isc_ListGrid_setFields((void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1216
isc_ListGrid_refreshFields()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1256
()@http://localhost:7080:973
@:0
([object GWTJavaObject],16384001,[object XMLHttpRequest])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56
([object Event])@http://localhost:7080:48
((function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080:12
@:0
(null,27,(function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56
([object Event])@http://localhost:7080:63

   at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
   at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
   at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
   at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
   at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
   at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
   at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
   at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
   at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
   at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
   at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1669)
   at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
   at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
   at java.lang.Thread.run(Thread.java:662)

--- Additional comment from mazz on 2012-02-14 11:30:41 EST ---

There are two code paths where this can happen that need to be tested.

The error happens when the agent is up and when the agent is down. These two conditions must be tested to confirm any patch fixes the problem. So, specifically to test:

TEST #1

1) Have a platform imported into inventory
2) Log into the GUI and ensure you add the "Platform Utilization" portlet to your dashboard
3) Traverse to, say, the #Inventory main page in the UI
4a) Make sure the agent is running
5) Click on the Dashboard link at the top, then quickly click the #Inventory link at the top
6) Confirm that you do not see a red "Global exception" error

TEST #2

Do the same as above, except replace step 4a with the following:

4b) Make sure the agent is NOT running

--- Additional comment from mazz on 2012-02-14 14:07:48 EST ---

git master commit: 4150452

Comment 1 Mike Foley 2012-02-17 19:51:26 UTC
fixed in master on BZ 784656.  not to be included for JON 3.01