Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    ID collisions with going from SGWT 2.x to 4.x

    SmartClient Version: SNAPSHOT_v9.1d_2013-12-17/PowerEdition Deployment (built 2013-12-17)

    IE-8

    I'm seeing some collisions in my log and they appear to render my application unusable, after the collisions everything stops working and the requests to the server time out. Here are is the log of the collisions

    Code:
    13:01:43.994:TMR0:WARN:Log:Specified ID: isc_Tree_0 collides with the ID for an existing SmartGWT component or object. The existing object will be destroyed and the ID bound to the new object.
    13:01:45.087:TMR3:WARN:Log:Specified ID: isc_ResultTree_0 collides with the ID for an existing SmartGWT component or object. The existing object will be destroyed and the ID bound to the new object.
    In the DevConsole I do a Canvas.getById('isc_Tree_0') before and after my data is fetched, and both times that call comes back as null. What does isc_Tree_* represent?

    #2
    Generally those are auto-created objects generated by calls to TreeGrid.fetchData(). There's a whole subsystem for managing them and automatically destroying them, with lots of automated tests.

    If you're sure your code is never manually assigning IDs of that kind (it shouldn't be), please try to figure out how we can reproduce the problem if it's a framework issue.

    Comment


      #3
      When I was on SGWT 2.x, I posted in here about a collision I was seeing with DataSource IDs, and Iso said it was ok to ignore the message. Is this still true for SGWT 4.x? Here is the collision message:

      Code:
      ERROR: 14:06:32.298:TMR2:WARN:Log:ClassFactory.addGlobalID: ID:'pivot_table_flat_fact_POF_233' for object '[DataSource ID:pivot_table_flat_fact_POF_233]' collides with ID of existing object '[DataSource ID:pivot_table_flat_fact_POF_233]'. The global reference to this object will be replaced
      com.smartgwt.client.core.JsObject$SGWT_WARN: 14:06:32.298:TMR2:WARN:Log:ClassFactory.addGlobalID: ID:'pivot_table_flat_fact_POF_233' for object '[DataSource ID:pivot_table_flat_fact_POF_233]' collides with ID of existing object '[DataSource ID:pivot_table_flat_fact_POF_233]'. The global reference to this object will be replaced
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
      	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:172)
      	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
      	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
      	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
      	at java.lang.Thread.run(Thread.java:744)
      I have a DynamicDatasource using the ID pivot_table_flat_fact_POF_233 where the last two parts are unique per user, but would be re-used again and again by the same user in the same session.

      Is this problematic in SGWT 4.x?

      Comment


        #4
        This is the only ID we manually generate.

        Comment


          #5
          It depends. What this will do is orphan the old DataSource that had the same ID, without destroying it. That will slowly leak memory if you do it a lot; the correct thing, which would also avoid this warning, would be to destroy() the old DataSource.

          You should also make sure that any DataBoundComponents that were bound to the old DataSource are also destroy()ed, or bound to a new DataSource before their DataSource is destroy()d. Otherwise they are in an invalid state.

          Comment


            #6
            I have removed the duplicate DataSource ID error I was seeing, now I'm down to the same isc_Tree_0 error I originally posted. We are not generating any IDs of that kind. Once again, the collision error is as follows with a reference into my code:

            Code:
            ERROR: 14:47:40.562:WARN:Log:Specified ID: isc_Tree_0 collides with the ID for an existing SmartGWT component or object. The existing object will be destroyed and the ID bound to the new object.
            com.smartgwt.client.core.JsObject$SGWT_WARN: 14:47:40.562:WARN:Log:Specified ID: isc_Tree_0 collides with the ID for an existing SmartGWT component or object. The existing object will be destroyed and the ID bound to the new object.
            	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
            	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:299)
            	at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
            	at com.smartgwt.client.util.SC.logWarn(SC.java)
            	at com.smartgwt.client.util.IDManager.validateID(IDManager.java:75)
            	at com.smartgwt.client.util.IDManager.registerID(IDManager.java:124)
            	at com.smartgwt.client.core.BaseClass.registerID(BaseClass.java:77)
            	at com.smartgwt.client.core.BaseClass.internalSetID(BaseClass.java:92)
            	at com.smartgwt.client.widgets.tree.Tree.setJavaScriptObject(Tree.java:96)
            	at com.smartgwt.client.widgets.tree.Tree.<init>(Tree.java:115)
            	at com.smartgwt.client.widgets.tree.Tree.getOrCreateRef(Tree.java:91)
            	at com.smartgwt.client.widgets.tree.Tree.getOrCreateRef(Tree.java:1)
            	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
            	at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
            	at com.smartgwt.client.widgets.grid.ListGrid.getRecordList(ListGrid.java)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid$4.fetchData(PivotTableGrid.java:441)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.fetchData(PivotTableGrid.java:141)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.treeGrid(PivotTableGrid.java:498)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.<init>(PivotTableGrid.java:91)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildUI(PivotTableWindow.java:253)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildPivotTable(PivotTableWindow.java:185)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.access$0(PivotTableWindow.java:182)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow$2.onSuccess(PivotTableWindow.java:176)
            	at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:232)
            	at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:258)
            	at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:412)
            	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
            	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:242)
            	at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
            	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
            	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
            	at java.lang.Thread.run(Thread.java:744)
            	at line 2152
                TreeGrid.createDataModel(_1=>Obj, _2=>Obj{ID:auto_fetch}, _3=>Obj)
                ** recursed on [a]MathFunction.invokeSuper
            	at line 2152
                TreeGrid.createDataModel(_1=>Obj, _2=>Obj{ID:auto_fetch}, _3=>Obj)
                ** recursed on [a]MathFunction.invokeSuper
            	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
            	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:299)
            	at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
            	at com.smartgwt.client.widgets.tree.TreeGrid.fetchData(TreeGrid.java)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid$4.fetchData(PivotTableGrid.java:447)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.fetchData(PivotTableGrid.java:141)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.treeGrid(PivotTableGrid.java:498)
            	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.<init>(PivotTableGrid.java:91)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildUI(PivotTableWindow.java:253)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildPivotTable(PivotTableWindow.java:185)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.access$0(PivotTableWindow.java:182)
            	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow$2.onSuccess(PivotTableWindow.java:176)
            	at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:232)
            	at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:258)
            	at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:412)
            	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
            	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:242)
            	at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
            	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
            	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
            	at java.lang.Thread.run(Thread.java:744)
            ERROR: Uncaught exception escaped
            com.google.gwt.core.client.JavaScriptException: (Error) @com.google.gwt.core.client.impl.Impl::apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)([JavaScript object(11487), JavaScript object(11486), JavaScript object(11512)]): Unknown failure
            	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
            	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
            	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
            	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:242)
            	at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            	at java.lang.reflect.Method.invoke(Method.java:606)
            	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:172)
            	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
            	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
            	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
            	at java.lang.Thread.run(Thread.java:744)
            And then the reference in my code which appears to be triggering this error is

            Code:
            treeGrid = new TreeGrid() {
                        @Override
                        public void fetchData(Criteria criteria) {
                            GWT.log("treeGrid.fetchData()");
                            if(treeGrid.getRecordList() != null && !treeGrid.getRecordList().isEmpty()) {
                                nodeCount = treeGrid.getData().getAllNodes().length;
                                openState = treeGrid.getOpenState();
                            }
                            super.fetchData(criteria);
                        }
                    };
            The offending line in the stack trace above is taken from the code snippet above;

            Code:
            if(treeGrid.getRecordList() != null && !treeGrid.getRecordList().isEmpty())

            Comment


              #7
              I will try destroying the DataSource and bound components - Grids when I close the window.

              Comment


                #8
                Most likely the problem is that you are asking for the RecordList when the grid has no data, and this is forcing needless construction of a data model which is later discarded. A more efficient way of checking whether there is data is a call to getTotalRows().

                Note that fetchData() is not an override point and you should not override it - note how the docs lack "This is an override point" as well as an any information about when the framework will call fetchData(), which would be needed to safely override it.

                If you are looking for a way to be notified when filtering happens due to end user action like hitting Enter while focused in the filterEditor, use the FilterEditorSubmit event.

                Comment


                  #9
                  I've removed the @Override code to treeGrid.fetchData() and I've added a destroy method which look like

                  Code:
                  public void destroy() {
                          if(treeDataSource != null) treeDataSource.destroy();
                          if(flatDataSource != null) flatDataSource.destroy();
                          if(treeGrid != null) treeGrid.destroy();
                          if(exportTreeGrid != null) exportTreeGrid.destroy();
                          if(listGrid != null) listGrid.destroy();
                          if(exportListGrid != null) exportListGrid.destroy();
                      }
                  Now the scenario is
                  1. Open window and execute fetch and data shows in the grid fine.
                  2. Close the window which in turn calls the destroy() method above in my class that contains all the Grids and DataSources being used.
                  3. Reopen the same window and run the same fetch and I get two popup errors from the browser attached.

                  Here is the log error on the client
                  Code:
                  	at line 2152
                      TreeGrid.createDataModel(_1=>Obj, _2=>Obj{ID:auto_fetch}, _3=>Obj)
                      ** recursed on [a]MathFunction.invokeSuper
                  	at line 2152
                      TreeGrid.createDataModel(_1=>Obj, _2=>Obj{ID:auto_fetch}, _3=>Obj)
                      ** recursed on [a]MathFunction.invokeSuper
                  	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                  	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                  	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                  	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                  	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:172)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
                  	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:299)
                  	at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
                  	at com.smartgwt.client.widgets.tree.TreeGrid.fetchData(TreeGrid.java)
                  	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.fetchData(PivotTableGrid.java:141)
                  	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.treeGrid(PivotTableGrid.java:498)
                  	at com.anstca.tz.client.floater.pivottable.view.PivotTableGrid.<init>(PivotTableGrid.java:91)
                  	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildUI(PivotTableWindow.java:253)
                  	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.buildPivotTable(PivotTableWindow.java:185)
                  	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow.access$0(PivotTableWindow.java:182)
                  	at com.anstca.tz.client.floater.pivottable.presentation.PivotTableWindow$2.onSuccess(PivotTableWindow.java:176)
                  	at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:232)
                  	at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:258)
                  	at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:412)
                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  	at java.lang.reflect.Method.invoke(Method.java:606)
                  	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:172)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
                  	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
                  	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:242)
                  	at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  	at java.lang.reflect.Method.invoke(Method.java:606)
                  	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:172)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
                  	at java.lang.Thread.run(Thread.java:744)
                  ERROR: Uncaught exception escaped
                  com.google.gwt.core.client.JavaScriptException: (Error) @com.google.gwt.core.client.impl.Impl::apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)([JavaScript object(11744), JavaScript object(11743), JavaScript object(11754)]): Unknown failure
                  	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
                  	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
                  	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
                  	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:242)
                  	at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  	at java.lang.reflect.Method.invoke(Method.java:606)
                  	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:172)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
                  	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
                  	at java.lang.Thread.run(Thread.java:744)
                  The reference in the log above is to a simple
                  Code:
                  treeGrid.fetchData(criteria);
                  Note - I had to cut the browser popup errors I attached because the popup window was larger than what your site accepts for uploading images.
                  Attached Files

                  Comment


                    #10
                    Despite your efforts at cleanup, you are clearly calling fetchData() on a TreeGrid whose DataSource has been destroy()d.

                    You are possibly doing something like loading the new version of the DataSource, having that automatically clobber the old, then inadvertently destroy()ing the new DataSource when you meant to destroy the old.

                    Comment


                      #11
                      Ok...thank you for your insight.

                      Comment

                      Working...
                      X