Bug 730112

Summary: if user tries to view a Resource they do not have view permission/authz for, a Globally Uncaught Exception error occurs and obscures the "Resource ... does not exist or is not accessible." warning message
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: high    
Version: 4.0.1CC: ccrouch, hrupp, mazz
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:10 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, 729848, 730796    

Description Ian Springer 2011-08-11 19:37:21 UTC
An appropriate warning message is emitted first, e.g.:

  Resource with id [10001] does not exist or is not accessible

However, the uncaught exception occurs immediately afterward and overwrites the warning message in the message bar. So the user never even sees the warning and instead sees the cryptic and scary uncaught exception error. If they opened the Message Center, they may or may not notice the warning listed there.

Here is the JS stack trace for the Globally Uncaught Exception:

Globally uncaught exception
Severity :	
Error
	
Time :	
Thursday, August 11, 2011 3:27:10 PM Etc/GMT+4
Detail :	
com.google.gwt.core.client.JavaScriptException:(TypeError): __tree__ is null fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js lineNumber: 195 stack: anonymous([object Object],"name",[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:195 isc_Arra_sortByProperties([object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:969 isc_Arra_sortByProperty("name",true,anonymous,[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:962 isc_Tree_getChildren([object Object],null,anonymous,true,(void 0),[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:99 isc_Tree_getOpenList([object Object],null,anonymous,true,(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:173 isc_Tree__getOpenList()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:177 isc_Tree_getLength()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:182 isc_ListGrid_getTotalRows()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2295 isc_ListGrid__alwaysShowEditors()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1316 isc_ListGrid_dataChanged()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1133 isc_c_Class_invokeSuper(null,"dataChanged")@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:279 isc_c_Class_Super("dataChanged",[object Arguments])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:271 isc_TreeGrid_dataChanged()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2803 anonymous()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:44 isc_Tree_linkNodes([object Array],"id","parentId",(void 0),(void 0),[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:49 isc_ResultTree_loadChildrenReply([object Object],[object Array],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:1440 isc_c_Class_fireCallback([object Object],"dsResponse,data,dsRequest",[object Array],[object Object],(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:296 isc_Class_fireCallback([object Object],"dsResponse,data,dsRequest",[object Array])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:392 isc_DataSource_fireResponseCallbacks([object Object],[object Object],(void 0),(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:536 isc_DataSource__completeResponseProcessing([object Array],[object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:533 isc_DataSource_processResponse("isc_ResourceTreeDatasource_0$6271",[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:385 ("isc_ResourceTreeDatasource_0$6271",[object GWTJavaObject])@http://localhost:7080:278 ([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:56 ((function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Arguments])@http://localhost:7080:39 (null,27,(function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Arguments])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56 ([object Event])@http://localhost:7080:27
--- STACK TRACE FOLLOWS ---
(TypeError): __tree__ is null fileName: http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js lineNumber: 195 stack: anonymous([object Object],"name",[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:195 isc_Arra_sortByProperties([object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:969 isc_Arra_sortByProperty("name",true,anonymous,[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:962 isc_Tree_getChildren([object Object],null,anonymous,true,(void 0),[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:99 isc_Tree_getOpenList([object Object],null,anonymous,true,(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:173 isc_Tree__getOpenList()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:177 isc_Tree_getLength()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:182 isc_ListGrid_getTotalRows()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2295 isc_ListGrid__alwaysShowEditors()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1316 isc_ListGrid_dataChanged()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:1133 isc_c_Class_invokeSuper(null,"dataChanged")@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:279 isc_c_Class_Super("dataChanged",[object Arguments])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:271 isc_TreeGrid_dataChanged()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:2803 anonymous()@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:44 isc_Tree_linkNodes([object Array],"id","parentId",(void 0),(void 0),[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Grids.js:49 isc_ResultTree_loadChildrenReply([object Object],[object Array],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:1440 isc_c_Class_fireCallback([object Object],"dsResponse,data,dsRequest",[object Array],[object Object],(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:296 isc_Class_fireCallback([object Object],"dsResponse,data,dsRequest",[object Array])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_Core.js:392 isc_DataSource_fireResponseCallbacks([object Object],[object Object],(void 0),(void 0))@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:536 isc_DataSource__completeResponseProcessing([object Array],[object Object],[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:533 isc_DataSource_processResponse("isc_ResourceTreeDatasource_0$6271",[object Object])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/sc/modules/ISC_DataBinding.js:385 ("isc_ResourceTreeDatasource_0$6271",[object GWTJavaObject])@http://localhost:7080:278 ([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:56 ((function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Arguments])@http://localhost:7080:39 (null,27,(function () {__gwt_makeJavaInvoke(1)(handler, 16384001, _this);}),[object XMLHttpRequest],[object Arguments])@http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/hosted.html?org_rhq_enterprise_gui_coregui_CoreGUI:56 ([object Event])@http://localhost:7080:27
    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.GeneratedMethodAccessor15.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)

Comment 1 Ian Springer 2011-08-11 20:13:25 UTC
Note, a different exception occurs if the user tries to view a non-existent Resource (e.g. #Resource/9999999). Here's the stack trace:

Failed to load root for tree
Severity :	
Error
	
Time :	
Thursday, August 11, 2011 4:10:32 PM Etc/GMT+4
Detail :	
java.lang.RuntimeException:[1313093431992] javax.ejb.EJBException:org.rhq.enterprise.server.resource.ResourceNotFoundException: A Resource with id 999999 does not exist in inventory. -> org.rhq.enterprise.server.resource.ResourceNotFoundException:A Resource with id 999999 does not exist in inventory.
--- STACK TRACE FOLLOWS ---
[1313093431992] javax.ejb.EJBException:org.rhq.enterprise.server.resource.ResourceNotFoundException: A Resource with id 999999 does not exist in inventory. -> org.rhq.enterprise.server.resource.ResourceNotFoundException:A Resource with id 999999 does not exist in inventory.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105)
    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.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1714)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    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.user.client.rpc.core.java.lang.RuntimeException_FieldSerializer.instantiate(RuntimeException_FieldSerializer.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    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.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1714)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    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.user.client.rpc.impl.SerializerBase$MethodMap$.instantiate$(SerializerBase.java)
    at com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate(SerializerBase.java:140)
    at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:114)
    at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61)
    at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:199)
    at org.rhq.enterprise.gui.coregui.client.util.rpc.TrackingRequestCallback.onResponseReceived(TrackingRequestCallback.java:68)
    at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
    at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:393)
    at sun.reflect.GeneratedMethodAccessor28.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.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1714)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    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.user.client.rpc.core.java.lang.RuntimeException_FieldSerializer.instantiate(RuntimeException_FieldSerializer.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    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.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1714)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    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.user.client.rpc.impl.SerializerBase$MethodMap$.instantiate$(SerializerBase.java)
    at com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate(SerializerBase.java:140)
    at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:114)
    at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61)
    at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:199)
    at org.rhq.enterprise.gui.coregui.client.util.rpc.TrackingRequestCallback.onResponseReceived(TrackingRequestCallback.java:68)
    at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
    at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:393)
    at sun.reflect.GeneratedMethodAccessor28.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.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1714)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
    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.GeneratedMethodAccessor15.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)

Comment 2 Ian Springer 2011-08-17 16:00:31 UTC
[master 1103ffb] fixes this. When the user tries to view a Resource that does not exist or one that they do not have authorization to view, they will be redirected to the #Inventory view, and a user-friendly warning message will be displayed in the message bar. No errors should appear in the message bar or the message center.

Note, there are two parts to QA:

1) try to view a Resource that not exist (eg - id=9999999)
2) try to view a Resource you are not authorized to view

Comment 3 Mike Foley 2011-08-17 19:15:17 UTC
verified as the developer advised.  08/17 build.

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