Bug #905

Javascript throws exception when left idle

Added by Vangelis Koukis almost 11 years ago. Updated almost 11 years ago.

Status:Closed Start date:07/21/2011
Priority:High Due date:
Assignee:Kostas Papadimitriou % Done:

0%

Category:Cyclades UI Spent time: -
Target version:v0.5.4

Description

Feedback message:
Error report
------------
Code: -5
Type: UI Error
Action: Update VMs
Data: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"
nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: https://okeanos.grnet.gr/static/synnefo.js ::
<TOP_LEVEL> :: line 375" data: no]

Please describe the actions that triggered the error:

browser left inactive, after minutes of inactivity, this error came up.

User accepted data send:
True

User info:
ID: 51
Email:

User application data: {"servers":{"0":{"status":"ACTIVE","updated":"2011-07-19T19:31:31+00:00","hostId":"","addresses":{"values":[{"firewallProfile":"DISABLED
","mac":"aa:0c:ea:0c:b5:30","values":[{"version":4,"addr":"62.217.112.15"},{"version":6,"addr":"2001:648:2ffc:1112:a80c:eaff:fe0c:b530"
}],"id":"public","name":"public"}]},"name":"kubuntu","imageRef":4,"created":"2011-07-19T18:31:43+00:00","flavorRef":1,"progress":100,"i
d":19,"metadata":{"values":{"OS":"kubuntu"}}},"1":{"status":"ACTIVE","updated":"2011-07-19T22:36:05+00:00","hostId":"","addresses":{"va
+lues":[{"firewallProfile":"DISABLED","mac":"aa:0c:ea:52:11:cc","values":[{"version":4,"addr":"62.217.112.24"},{"version":6,"addr":"2001
:648:2ffc:1112:a80c:eaff:fe52:11cc"}],"id":"public","name":"public"}]},"name":"stargate-4","imageRef":7,"created":"2011-07-19T22:16:51+
00:00","flavorRef":1,"progress":100,"id":43,"metadata":{"values":{"OS":"windows"}}},"2":{"status":"ACTIVE","updated":"2011-07-20T18:23:
+01+00:00","hostId":"","addresses":{"values":[{"firewallProfile":"DISABLED","m
ac":"aa:0c:ea:79:37:ed","values":[{"version":4,"addr":"62.217.112.52"},{"version":6,"addr":"2001:648:2ffc:1112:a80c:eaff:fe79:37ed"}],"i
+d":"public","name":"public"}]},"name":"stargate-5","imageRef":7,"created":"2011-07-20T12:53:03+00:00","flavorRef":1,"progress":100,"id"
:100,"metadata":{"values":{"OS":"windows"}}}},"client":{"browser":{"mozilla":true,"version":"5.0.1"},"screen":{"top":176,"height":1024,
"width":1280,"left":1920,"pixelDepth":24,"colorDepth":24,"availWidth":1280,"availHeight":990,"availLeft":1920,"availTop":176},"client":
{"os":"Windows","browser":"Firefox"}},"dates":{"now":"2011-07-20T19:43:49.660Z","lastUpdate":"2011-07-20T19:04:02.000Z"}}

Associated revisions

Revision 7991d0c5
Added by Kostas Papadimitriou almost 11 years ago

Improve UI exception handling, Refs #905

- Different error codes for different ui errors
- Don't block interaction for specific DOM exceptions (invalid xhr state)
- Append last ajax request information when reporting an error

History

#1 Updated by Vangelis Koukis almost 11 years ago

I think this is more of the same:
Feedback message:
Error report
------------
Code: -5
Type: UI Error
Action: Update VMs
Data: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"
+nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: https://okeanos.grnet.gr/static/synnefo.js ::
+anonymous :: line 375" data: no]

Please describe the actions that triggered the error:
Είχα ανοιχτό το ui, ξεχασμένο σε ένα tab

User accepted data send:
True

User info:

#2 Updated by Kostas Papadimitriou almost 11 years ago

Its hard to reproduce but it seems that jquery sometimes executes error callbacks while browser xhr object is in invalid state.
The error seems to get triggered when trying to access the status attribute of that xhr object which follows to the UI error.

Workaround

Since the error happens on scattered ajax calls, the UI should not block user interaction for those specific exceptions.

#3 Updated by Kostas Papadimitriou almost 11 years ago

workaround + improvements for better user information reporting committed on

7991d0c

#4 Updated by Kostas Papadimitriou almost 11 years ago

  • Status changed from Assigned to Feedback

#5 Updated by Kostas Papadimitriou almost 11 years ago

e5e5d5c

improved ajax calls exceptions handling.

Jquery provides textStatus of the error occured even for errors that provide invalid xhr objects.
UI now fallbacks to error overlay, displaying textStatus content.

thanks to vkoukis for identifying that the `timeout errors` caused xhr object to be left in invalid state.

#6 Updated by Vangelis Koukis almost 11 years ago

  • Status changed from Feedback to Closed

This seems to be working properly, will be reopen if we encounter something similar in the future.

Also available in: Atom PDF