[pve-devel] [PATCH manager 0/7] fix 'cannot read property of undefined/null'

Dominik Csapak d.csapak at proxmox.com
Fri Mar 11 15:57:27 CET 2016


this patch series aims to eliminate the
'cannot read property YYY of undefined/null' errors
we were getting (which broke the site everytime they ocurred)

the symptom was always the manipulation of a nonexitant dom element,
but there were a few root causes:

* we accessed dom elements without checking if they were there
  (evil, especially in ajax callbacks)
* we tried to set dom elements before they were there
* we first destroyed the old content, then added the new one
  (not bad per se, but makes every race condition more apparent)
* we kept references of stores which were part of non-existent
  components
* and finally the framework has its own issues
  (see commit message of patch 7/7 for details)

if you see such an error in the future, please
send the error message to the mailing list
it is very likely that i missed some cases of this problem

Dominik Csapak (7):
  ext6migrate: add unqueue to UpdateQueue
  ext6migrate: do not set errormask on monstoreerror
  ext6migrate: fix store load race condition
  ext6migrate: fix task history race condition
  ext6migrate: avoid using id
  ext6migrate: change setContent behaviour of workspace
  ext6migrate: fix framework caching issue

 www/manager6/Utils.js            | 35 ++++++++++++++++++++++++++++++++++-
 www/manager6/VNCConsole.js       |  2 +-
 www/manager6/Workspace.js        | 17 +++++++++++++----
 www/manager6/data/UpdateQueue.js | 10 ++++++++++
 www/manager6/data/UpdateStore.js |  2 ++
 www/manager6/dc/RoleView.js      |  4 ++--
 www/manager6/lxc/Config.js       |  3 +++
 www/manager6/lxc/SnapshotTree.js |  7 +++++--
 www/manager6/node/Config.js      |  3 +++
 www/manager6/node/Tasks.js       |  3 ++-
 www/manager6/panel/LogView.js    |  4 ++++
 www/manager6/qemu/Config.js      |  3 +++
 12 files changed, 82 insertions(+), 11 deletions(-)

-- 
2.1.4





More information about the pve-devel mailing list