Bug 760139

Summary: Global Exception in Dashboard
Product: [Other] RHQ Project Reporter: Heiko W. Rupp <hrupp>
Component: Core UIAssignee: Simeon Pinder <spinder>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: medium Docs Contact:
Priority: high    
Version: 4.3CC: hrupp, spinder
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-07 19:17:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 730796, 760116    

Description Heiko W. Rupp 2011-12-05 14:08:00 UTC
Was refreshing dashboard content while an import of a new (jbossas4 server on RHEL) was taking place.
Platform utulization portlet was shown and I think the redraw did not happen for the rhel platform in question (hight cpu/memory usage at that time).
I suspect that as the platform utilization are live graphs, that the high load led to a delay, which led to a timeout and no data / null was returned which then caused the exception. 

Message itself was harmless, as the UI continued to work as usual.


com.google.gwt.core.client.JavaScriptException:(TypeError): result is null
 stack: org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_$onSuccess__Lorg_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_2Ljava_util_Set_2V([object Object],null)@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99783
org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onSuccess__Ljava_lang_Object_2V(null)@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99811
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://snert: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://snert: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://snert: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://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4600
([object Event])@http://snert: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://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2474
([object Event])@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2463

 fileName: http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html
 lineNumber: 99783
--- STACK TRACE FOLLOWS ---
(TypeError): result is null
 stack: org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_$onSuccess__Lorg_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_2Ljava_util_Set_2V([object Object],null)@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99783
org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onSuccess__Ljava_lang_Object_2V(null)@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:99811
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://snert: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://snert: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://snert: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://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:4600
([object Event])@http://snert: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://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2474
([object Event])@http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html:2463

 fileName: http://snert:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/CE2276AC5BAC83316A1FFD8E5A1EDAB3.cache.html
 lineNumber: 99783
   at Unknown.org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_$onSuccess__Lorg_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_2Ljava_util_Set_2V(Unknown source:0)
   at Unknown.org_rhq_enterprise_gui_coregui_client_dashboard_portlets_platform_PlatformSummaryPortlet$3_onSuccess__Ljava_lang_Object_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)

Comment 1 Simeon Pinder 2011-12-14 21:58:36 UTC
As indicated this is not an error that occurs frequently. A series of runtime events have to occur when reading the live measurement data for null data to be returned.  Once null data is returned the UI serialization throws the exception and error in the Messages list.    

This is fixed with commit 3300dff0ec8 to master.  Just made sure that the returned data set is never null but empty sets returned instead.  The server side errors are still logged for valid runtime failures but in those conditions the UI will no longer throw an ugly message when the data is simply not available. 

Moving this to ON_QA.

Comment 2 Simeon Pinder 2011-12-16 14:16:34 UTC
Added one more commit 8937a7db8b7 for this fix to ensure that MeasurementManager never returns null even for erroneous conditions. This is a more complete fix and safer pattern for methods that return collections.

Comment 3 Mike Foley 2012-02-07 19:17:42 UTC
changing status of VERIFIED BZs for JON 2.4.2 and JON 3.0 to CLOSED/CURRENTRELEASE