Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 377127

Summary: Could not process server response displayed while running UI with "org.eclipse.rwt.enableUITests=true"
Product: [RT] RAP Reporter: Ronald So <ronald.so>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: gmalary
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Ronald So CLA 2012-04-18 16:50:07 EDT
Build Identifier: RAP 1.5.0-N.20120330-0113

I am running on a RAP nightly build (March 30, 7 bug fixes plus RAP 1.5M6).  I hit into a situation when the "could not process server response" is displayed.  I had a brief conversation exchange with Ivan Furnadjiev at:

    http://www.eclipse.org/forums/index.php/t/316896/

I have got a code snippet (eclipse project with a launcher) that can reproduce the problem.  I got two views, and the second view contains a pop up window that extends TrayDialog.  


The following error is shown after following steps that are described in section "Steps to Reproduce":

Could not process server response:

Error: Error: Operation "set" on target "Test123" of type "null" failed:
a is undefined
Properties: 
tabIndex = 16


  Script: {
"meta": {
"requestCounter": 9
},
"operations": [ [ "set", "w11", {
"activeControl": "Test123"
} ], [ "set", "w53", {
"tabIndex": -1,
"visibility": false
} ], [ "set", "w54", {
"visibility": false
} ], [ "set", "w52", {
"tabIndex": -1
} ], [ "set", "w18", {
"visibility": true
} ], [ "set", "Test123", {
"tabIndex": 16
} ], [ "set", "w35", {
"visibility": false
} ], [ "set", "w1", {
"focusControl": "Test123"
} ] ]
}
  fileName: http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js
  lineNumber: 254
  Stack: ([object Error],[object Array])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:254
([object Array])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:254
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:254
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:146
([object Object],(void 0))@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:119
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:111
([object Object],(void 0))@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
("completed","receiving")@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:112
anonymous("completed")@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:12
([object Object])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:112
([object Object],true)@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
([object Object],true)@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
("completed")@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:17
("completed","receiving")@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:115
anonymous("completed")@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:12
([object Event])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:115
([object Event])@http://127.0.0.1:8080/rwt-resources/rap-client-3e053963.js:15

  Debug: off
  Request: w20.selectedItemId=w39&org.eclipse.swt.events.widgetSelected=w20&w1.cursorLocation.x=130&w1.cursorLocation.y=83&uiRoot=w1&requestCounter=8





Reproducible: Always

Steps to Reproduce:
Download the Eclipse project that I have prepared from:

http://dl.dropbox.com/u/39464176/gui.zip

Import it to Eclipse IDE.  The project comes with a RAP target and a launcher.

1. Navigate to view 2 from view 1
2. Click the PLUS sign in view 2 menu
3. Close the pop up.
4. Navigate back to view 1.
Comment 1 Ivan Furnadjiev CLA 2012-04-19 01:57:40 EDT
Hi Roland, this bug is invalid - you have two controls (instances of Table) with the same id "Test123". You are using an instances of NodeOverviewComposite in both NodesView and AddPolicyDialog. The tables in NodesView and AddPolicyDialog have the same id. When you close the dialog, the Table in AddPolicyDialog is disposed and the widget associated with the id "Test123" is removed from the client. Activating the NodesView leads to synchronizing of Table properties with the same id "Test123", which does not exists any more on the client (already removed).
Comment 2 Ronald So CLA 2012-04-19 10:29:08 EDT
Thanks for the quick investigation, Ivan.  We changed our code and everything worked fine now.

Ronald
Comment 3 Ralf Sternberg CLA 2012-04-22 11:39:54 EDT
I wonder if we can easily check for duplicate IDs when custom widget IDs are used? It's the responsibility of the developer who creates the IDs, but bugs like this one induce additional work on us anyway.