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

Bug 440326

Summary: [AutoSuggest] JavaScript Error when setting property of remote object and destroying it in the same response
Product: [RT] RAP Reporter: Joachim Butz <joachim.butz>
Component: IncubatorAssignee: Project Inbox <rap.incubator-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 2.3   
Target Milestone: 3.0 M1   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Snippet which shows the problem
none
Error Page none

Description Joachim Butz CLA 2014-07-24 07:46:11 EDT
Created attachment 245333 [details]
Snippet which shows the problem

When I e.g. set the userText of the remoteObject of an AutoSuggest instance and after that (in the same reponse) I call dispose on that AutoSuggest instance, the application crashes with a JavaScript error. (see attached snippet)
Comment 1 Joachim Butz CLA 2014-07-24 07:49:12 EDT
Created attachment 245334 [details]
Error Page

attached the error page with the JavaScript Error
Comment 2 Ivan Furnadjiev CLA 2014-07-24 07:53:52 EDT
Similar (or same) crash can be reproduced with current version of AutoSuggestDemo by clicking on "Dispose!" button.
--------
Error: TypeError: this._ is null

  Script: {"head":{"requestCounter":2},"operations":[["destroy","w6"],["set","w2",{"defaultButton":"w14"}],["set","w10",{"children":["w11","w12","w13","w14"]}],["set","w15",{"tabIndex":3}],["set","w16",{"tabIndex":4}],["set","w17",{"tabIndex":6}],["set","w18",{"tabIndex":7}],["set","w13",{"tabIndex":8}],["set","w14",{"tabIndex":9}],["listen","w14",{"FocusOut":true}],["destroy","r5"],["set","r7",{"dataSourceId":"r4"}],["destroy","r7"]]}
  Stack: Model.prototype.set@http://127.0.0.1:8080/rwt-resources/rwt/remote/Model.js:46:1
onChangeDataSourceId/callback@http://127.0.0.1:8080/rwt-resources/rap-client.js line 65175 > eval:153:5
rap._.notify@http://127.0.0.1:8080/rwt-resources/rap-client.js:63897:9
.members._handleSuccess/<@http://127.0.0.1:8080/rwt-resources/rap-client.js:61500:11
rwt.remote.MessageProcessor.processMessage@http://127.0.0.1:8080/rwt-resources/rap-client.js:60814:7
.members._handleSuccess@http://127.0.0.1:8080/rwt-resources/rap-client.js:61497:9
rwt.remote.Request.prototype.setSuccessHandler/this._success@http://127.0.0.1:8080/rwt-resources/rap-client.js:30875:35
rwt.remote.Request.prototype._onReadyStateChange@http://127.0.0.1:8080/rwt-resources/rap-client.js:30926:13
.bind/<@http://127.0.0.1:8080/rwt-resources/rap-client.js:624:7

  Debug: on
  Request: {"head":{"requestCounter":1},"operations":[["set","w2",{"mode":"maximized","activeControl":"w14"}],["notify","w14","Selection",{"button":1,"shiftKey":false,"ctrlKey":false,"altKey":false}],["set","w1",{"cursorLocation":[89,139],"focusControl":"w14"}]]}
Comment 3 Ivan Furnadjiev CLA 2014-07-28 04:02:28 EDT
Fixed with commit 9d0640a77089ae49be811940be1c7d8aa2c19cb2.
Comment 4 Joachim Butz CLA 2014-07-28 08:30:47 EDT
I have tried it with the AutoSuggestDemo and it worked.
But with the attached snippet the error still occurs.
Comment 5 Ivan Furnadjiev CLA 2014-07-28 08:44:21 EDT
(In reply to comment #4)
> I have tried it with the AutoSuggestDemo and it worked.
> But with the attached snippet the error still occurs.
I'll reopen for additional investigation.
Comment 6 Ivan Furnadjiev CLA 2014-07-28 10:27:39 EDT
(In reply to comment #4)
> I have tried it with the AutoSuggestDemo and it worked.
> But with the attached snippet the error still occurs.
Fixed in master with commit c4abaae5d1b3f9a85be4a21beda4c6b574e10bd1.