Bug 720786

Summary: exception in AncestryUtil.getResourceHoverHTML() when hovering over an ancestry field prior to data being loaded for the row
Product: [Other] RHQ Project Reporter: Ian Springer <ian.springer>
Component: Core UIAssignee: Ian Springer <ian.springer>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.1CC: ccrouch, hrupp, skondkar
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:21:56 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:    
Bug Blocks: 678340    

Description Ian Springer 2011-07-12 18:30:44 UTC
To reproduce this. go to a Resources list/search view (e.g. #Inventory/Resources/Services) that contains more than one pageful of Resources. Scroll down past the first page of data and quickly hover over an ancestry column (Name or Ancestry) before its data has been loaded (i.e. while the list grid still says "Loading data..."). You should see the error.

Here's the js stack trace:

Globally uncaught exception
Severity :	
Error
	
Time :	
Tuesday, July 12, 2011 2:18:02 PM Etc/GMT+4
Detail :	
com.google.gwt.core.client.JavaScriptException:(TypeError): com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2((com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0 = record.com_smartgwt_client_core_JsObject_jsObj[$intern_3151], com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0 === undefined ? null : com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0), 636) is null stack: org_rhq_enterprise_gui_coregui_client_inventory_resource_AncestryUtil_getResourceHoverHTML__Lcom_smartgwt_client_data_Record_2ILjava_lang_String_2([object Object],0)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:130690 org_rhq_enterprise_gui_coregui_client_inventory_resource_ResourceSearchView$6_hoverHTML__Ljava_lang_Object_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2IILjava_lang_String_2(" ",[object Object],91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:131405 ("loading"," ",91354,1,[object Object])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:23525 com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2((function (record, value, rowNum, colNum, grid) {var recordJ = com_smartgwt_client_widgets_grid_ListGridRecord_getOrCreateRef__Lcom_google_gwt_core_client_JavaScriptObject_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2(record);var valueJ = $wnd.SmartGWT.convertToJavaType(value);return hoverCustomizer.hoverHTML__Ljava_lang_Object_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2IILjava_lang_String_2(valueJ, recordJ, rowNum, colNum);}),[object Object],[object Arguments])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:2474 ("loading"," ",91354,1,[object Object])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:2463 isc_ListGrid_cellHoverHTML("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1557 anonymous("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:927 isc_GridRenderer__showHover("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:718 isc_GridRenderer__cellHover(91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:717 isc_c_Hover__doAction()@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:3764 isc_c_Class_fireCallback([object Object],(void 0),[object Array],[object Object],true)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:296 isc_c_Timer__fireTimeout("$ir51067")@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:1186 @http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:1181 fileName: http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html lineNumber: 130690
--- STACK TRACE FOLLOWS ---
(TypeError): com_google_gwt_lang_Cast_dynamicCast__Ljava_lang_Object_2ILjava_lang_Object_2((com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0 = record.com_smartgwt_client_core_JsObject_jsObj[$intern_3151], com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0 === undefined ? null : com_smartgwt_client_util_JSOHelper_getAttributeAsObject__Lcom_google_gwt_core_client_JavaScriptObject_2Ljava_lang_String_2Ljava_lang_Object_2_ret_0), 636) is null stack: org_rhq_enterprise_gui_coregui_client_inventory_resource_AncestryUtil_getResourceHoverHTML__Lcom_smartgwt_client_data_Record_2ILjava_lang_String_2([object Object],0)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:130690 org_rhq_enterprise_gui_coregui_client_inventory_resource_ResourceSearchView$6_hoverHTML__Ljava_lang_Object_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2IILjava_lang_String_2(" ",[object Object],91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:131405 ("loading"," ",91354,1,[object Object])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:23525 com_google_gwt_core_client_impl_Impl_entry0__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_Object_2((function (record, value, rowNum, colNum, grid) {var recordJ = com_smartgwt_client_widgets_grid_ListGridRecord_getOrCreateRef__Lcom_google_gwt_core_client_JavaScriptObject_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2(record);var valueJ = $wnd.SmartGWT.convertToJavaType(value);return hoverCustomizer.hoverHTML__Ljava_lang_Object_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2IILjava_lang_String_2(valueJ, recordJ, rowNum, colNum);}),[object Object],[object Arguments])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:2474 ("loading"," ",91354,1,[object Object])@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html:2463 isc_ListGrid_cellHoverHTML("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1557 anonymous("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:927 isc_GridRenderer__showHover("loading",91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:718 isc_GridRenderer__cellHover(91354,1)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:717 isc_c_Hover__doAction()@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:3764 isc_c_Class_fireCallback([object Object],(void 0),[object Array],[object Object],true)@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:296 isc_c_Timer__fireTimeout("$ir51067")@http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:1186 @http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:1181 fileName: http://jon06.mw.lab.eng.bos.redhat.com:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/7139E5A633C63C8384788F8FEB1D2123.cache.html lineNumber: 130690
    at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_resource_AncestryUtil_getResourceHoverHTML__Lcom_smartgwt_client_data_Record_2ILjava_lang_String_2(Unknown source:0)
    at Unknown.org_rhq_enterprise_gui_coregui_client_inventory_resource_ResourceSearchView$6_hoverHTML__Ljava_lang_Object_2Lcom_smartgwt_client_widgets_grid_ListGridRecord_2IILjava_lang_String_2(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.isc_ListGrid_cellHoverHTML(Unknown source:0)
    at Unknown.anonymous(Unknown source:0)
    at Unknown.isc_GridRenderer__showHover(Unknown source:0)
    at Unknown.isc_GridRenderer__cellHover(Unknown source:0)
    at Unknown.isc_c_Hover__doAction(Unknown source:0)
    at Unknown.isc_c_Class_fireCallback(Unknown source:0)
    at Unknown.isc_c_Timer__fireTimeout(Unknown source:0)
    at Unknown.anonymous(Unknown source:0)
    at Unknown.anonymous(Unknown source:0)

Comment 1 Ian Springer 2011-10-11 20:39:18 UTC
[master e8e21d0] (http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=commitdiff;h=e8e21d0) fixes this. Now if you try to hover over an Ancestry or Name cell before the grid data has loaded, no NPE will occur and no tooltip will be displayed.

Comment 2 Ian Springer 2011-10-11 21:26:27 UTC
[master c48d39f] (http://git.fedorahosted.org/git?p=rhq/rhq.git;a=commitdiff;h=c48d39f) fixes a 2nd instance of the same kind of NPE.

Comment 3 Sunil Kondkar 2011-10-13 08:57:31 UTC
Verified on build#523 (Version: 4.1.0-SNAPSHOT Build Number: 91b72c2)

Navigated to 'Inventory/Resources/Services'. Scrolled down and quickly hovered over Name and Ancestry columns before its data has been loaded, no exception is observed.

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