You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because is uses stepTimer to simulate keys being down for X amount of time, fuzzing can build up a bunch of memory in the form of listeners waiting to be handled. The max time to wait is 2000ms. That means that 120* 100 (default fuzz rate) events could pile up in that time, and persist up to two more second into the future. In a minute or two in RAP, I was able to run out of memory in my tab and crash the sim because KeyboardFuzzer.keyupListeners had so many items in it.
In the future, I would like to be able to use ?fuzzBoard for memory testing. Right now this makes it impossible to do this. Tagging @jessegreenberg so he is aware.
The text was updated successfully, but these errors were encountered:
I think the above is actually not the issue. I think the problem is that clearListeners() isn't working. And so this.keyupListeners is keeping track of all closures that ever fire, and never removing them.
These listeners are now getting cleared as expected. When I poll for the length of the list, it seems to be a tolerable size, and not increasing too quickly.
I did find that perhaps since bd4c071, sliders aren't really moving at all. They are the central interaction in sims like RAP and GFL so I think I'll make a new issue.
Because is uses stepTimer to simulate keys being down for X amount of time, fuzzing can build up a bunch of memory in the form of listeners waiting to be handled. The max time to wait is 2000ms. That means that 120* 100 (default fuzz rate) events could pile up in that time, and persist up to two more second into the future. In a minute or two in RAP, I was able to run out of memory in my tab and crash the sim because KeyboardFuzzer.keyupListeners had so many items in it.
In the future, I would like to be able to use ?fuzzBoard for memory testing. Right now this makes it impossible to do this. Tagging @jessegreenberg so he is aware.
The text was updated successfully, but these errors were encountered: