MAAS UI using up 100% CPU, Maximum call stack size exceeded

Bug #1863081 reported by Björn Tillenius
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
Medium
Kit Randel
2.7
Fix Released
Critical
Kit Randel
maas-ui
Fix Released
Unknown

Bug Description

While using MAAS, I noticed that chromium was using 100% CPU, with only MAAS 2.7 rc7 open in a tab, being almost completely unresponsive. Can't really say what triggered it. I was clicking around a bit in the UI, selecting which images to sync, looking at the controllers pages, deploying machines, etc.

Now it's settled down, and I see this in the JS console:

maas.f8ca02397f30196854e7.bundle.js:26 RangeError: Maximum call stack size exceeded
    at l (maas.f8ca02397f30196854e7.bundle.js:26)
    at c (maas.f8ca02397f30196854e7.bundle.js:26)
    at l (maas.f8ca02397f30196854e7.bundle.js:26)
    at c (maas.f8ca02397f30196854e7.bundle.js:26)
    at Object.se [as copy] (maas.f8ca02397f30196854e7.bundle.js:26)
    at We.getEmptyFilter (maas.f8ca02397f30196854e7.bundle.js:98)
    at We.getCurrentFilters (maas.f8ca02397f30196854e7.bundle.js:98)
    at c.Un.t.updateFilters (maas.f8ca02397f30196854e7.bundle.js:98)
    at M (maas.f8ca02397f30196854e7.bundle.js:98)
    at C (maas.f8ca02397f30196854e7.bundle.js:98)
(anonymous) @ maas.f8ca02397f30196854e7.bundle.js:26

maas.f8ca02397f30196854e7.bundle.js:26 RangeError: Maximum call stack size exceeded
    at Array.toString (<anonymous>)
    at maas.f8ca02397f30196854e7.bundle.js:26
    at c (maas.f8ca02397f30196854e7.bundle.js:26)
    at l (maas.f8ca02397f30196854e7.bundle.js:26)
    at c (maas.f8ca02397f30196854e7.bundle.js:26)
    at Object.se [as copy] (maas.f8ca02397f30196854e7.bundle.js:26)
    at We.getEmptyFilter (maas.f8ca02397f30196854e7.bundle.js:98)
    at We.getCurrentFilters (maas.f8ca02397f30196854e7.bundle.js:98)
    at c.Un.t.updateFilters (maas.f8ca02397f30196854e7.bundle.js:98)

I also see this further up in the JS console a few times:

  [DOM] Found 2 elements with non-unique id #power-type: (More info: <URL>)

Tags: ui
tags: added: ui
Revision history for this message
Björn Tillenius (bjornt) wrote :

This was with Chromium 79.0.3945.130, with the following extensions:

  1Password X – Password Manager
  AdBlock — best ad blocker
  Bug 2 Trello 
  LastPass: Free Password Manager
  Quick Javascript Switcher
  Tab Auto Refresh
  The Great Suspender

Changed in maas:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Caleb Ellis (caleb-ellis) wrote :

I've managed to reproduce the error message once, but I can't confirm how. I believe it has to do with:
  1. how the current filtering system works, specifically with machines that are selected, and;
  2. state management in the angular version of the machine list. As in, with two-way data binding everywhere there is a disconnect between what is actually returned from the websocket and what exists in browser memory after an action is complete.

The UI did not become unresponsive, maybe a 1 second freeze until the browser killed the process. Otherwise, everything continued to work as normal. But still, I have not been able to reproduce it more than once.

Revision history for this message
Adam Collard (adam-collard) wrote :

https://paste.ubuntu.com/p/4WSPRWpQtH/ from FFx after killing when CPU max'd out on 2.7.0 on Machines page with one entry

Revision history for this message
Adam Collard (adam-collard) wrote :
Changed in maas:
milestone: none → 2.8.0b1
status: Confirmed → Fix Committed
assignee: nobody → Kit Randel (blr)
Changed in maas-ui:
status: Unknown → Fix Released
Alberto Donato (ack)
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.