-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ResizeObserver loop limit exceeded #2233
Comments
Getting the same in my e2e tests (Cypress). Needs investigation. |
I'm getting the same error using chrome v68.0.3440.106 64-Bit and cypress. I have found a workaround for cypress, so that it ignores unhandled exceptions. Just add the following to your support/index.js:
More info: |
@Tyrix Thank you for solution. |
Can we reopen this? It is still an issue. For me it happens every time I load my app in Chrome mobile (or in Chrome Desktop with mobile emulation enabled). The suggested workaround is only a remedy for a specific case (cypress). However, this happens in production a lot and can quickly bloat monitoring/analytics tools such as Sentry. |
Still treating the symptoms instead of the cause but this option ignore reporting the error to sentry.
|
Just began happening to me. Using Quasar 1.0.0 beta and Vue.js 2.6.10. |
The other issues do seem to indicate that this can be safely ignored, although I would rather the error not be thrown if that is the case. @Tyrix I would update the listener code in Cypress to more specifically only ignore the ResizeObserver error with the code below: const resizeObserverLoopErrRe = /^ResizeObserver loop limit exceeded/
Cypress.on('uncaught:exception', (err) => {
if (resizeObserverLoopErrRe.test(err.message)) {
// returning false here prevents Cypress from
// failing the test
return false
}
}) |
Hi @jennifer-shehane - thanks for stopping by. I agree that there needs to be some deeper investigation here, and if we can track it down I have no problem reporting it to the chromium team and seeing if we can fix it upstream. @leosdad - can you post your |
Gunna have to roll back my last comment - this is expected behaviour in Chromium, so it will never be changed. I just updated our baseline Cypress support file in the Quasar 1.0 app extension in the way that @jennifer-shehane suggested: It is now available in @quasar/quasar-app-extension-testing-e2e-cypress@1.0.0-beta.8 To install (in Quasar v1 only):
And choose e2e-cypress. |
Hi @nothingismagick, thanks for your quick answer. I'm fairly new to Vue/Quasar, I'm doing a very simple SPA POC with CDN. No NPM, no CLI, no Cypress, nothing. Just direct calls to Vue and Quasar. I'm using using 64-bit Chrome 74.0.3729.131 (pt-br). As for reproducing the problem itself, it happens in the Quasar web site itself. Hope that helps. FIW, I've also posted a support request to the JavaScript Errors Notifier extension, I hope they answer me. |
Can you paste the error here? I am also on chrome on Mac and I don't see it anywhere on that page. |
Hi, I hope you could reproduce the problem. Any news on it? |
This is still happening, can we reopen this please. I am not using resizeObserver nor is it running cypress at the moment this happens. This is not being caught on regular console, it's being caught on chrome extension like @leosdad indicated. I believe it is also crashing Chrome. Somehow Chrome eventually runs out of memory, Chrome complained and said "paused to prevent memory crash", right after that error and it indicated something to do with this; can't reproduce this, guess it happens with long time of use. I had to restart my machine to get things working again; MacBook i7 8GB RAM. I think this is a big issue that's breaking Quasar from deep inside. |
Seems to have been fixed somehow. Does anyone know for sure? |
yes i can confirm that it is no longer happening, will update if there is anything. |
OH NOOO! IT IS STILL HAPPENING, I JUST SAW IT. |
I have the latest Quasar as of writting |
I'm getting it too - seems to happen in Chrome with devTools open but not in mobile mode when I resize the console. It is not consistent or replicable though, but seems to happen regularly. Shouldn't this ticket be reopened if it is still happening? |
Can confirm still happening to me as well on Chrome. |
Still happening in Chrome 79. Using @jennifer-shehane workaround for now. |
@demisx , problem is, this is not happening in Cypress only. It is happening during app runtime. Just put the abovementioned extension in Chrome and run your app and see. |
IMHO, the Quasar team might have been too quick to close this issue without explanation. |
Why is this issue closed? Is there a solution? __ quasar - 1.9.12 |
The error started to appear again after upgrading from Cypress 3.8.3 to 4.10.0 and the solution stopped working.
|
We're not using Cypress at all. We're just using plain quasar and we handle window.onerror events ourself. So this "Solution" isn't worth anything. |
Thanks for the answer. you need to change your RegEx to following because of the change in error messages in Cypress So this would be the working solution const resizeObserverLoopErrRe = /^[^(ResizeObserver loop limit exceeded)]/
Cypress.on('uncaught:exception', (err) => {
/* returning false here prevents Cypress from failing the test */
if (resizeObserverLoopErrRe.test(err.message)) {
return false
}
}) |
This has been happening a lot more recently, many projects that were doing just fine on sentry base plan, went over their limit like crazy this last month |
The core of this issue is that notifications from self-resizing callbacks are dropped. This is actually desirable in some cases. We need a way to tell the API that sometimes, i.e: "Yes, I promise the layout will settle after this so go ahead and drop that notification without complaining" I try and articulate the issue here: w3c/csswg-drafts#6173 If anyone here feels strongly about this, please contact me as I'd like to get together a proposal for the working group to solve this once and for all. |
thanks. that's good enough for me |
definitely still happening to me, 8.3.0 |
I'm seeing this occur in Cypress v8.7.0 |
Still having the issue in Cypress 9.1.1 |
Your solution will match each time the error message contains any letter that was not defined in the string 'ResizeObserver loop limit exceeded' Also, you should return true in any other cases. So I strongly suggest everybody to use the solution by @dvdvdmt instead. |
Working one-liner: Cypress.on("uncaught:exception", err => !err.message.includes("ResizeObserver")); |
Hi Team! i able to solve this error by giving your code in cypress/support/index.js, but after giving this code, the next code was not executed |
UPDATE: with Cypress 10, the file has moved to cypress/support/e2e.js This thread has been very helpful! |
The latest issue tracking this problem is: cypress-io/cypress#20341 |
this is how to fix it in your code actually if it does not come from a dependency
|
This issue is still there and I can reproduce 100% of the time There is an infinite loop in the QResizeObserver (it's used by the QLayout, QTabs, QToolbar and a lot of other components) I think it happens when you put a QImg inside a QToolbar, I'll investigate more and report the findings |
EDIT: I managed to fix this by reverting the webpack-dev-server to version 4.11.1 The issue still appears Quasar version 2.11.10. |
I have this problem with the q-header, whenever I put too much in it for mobile view and set flex-wrap: wrap; then when resizing the window, ResizeObserver loop limit exceeded. Super annoying. edit: My solution is not using q-header but a div with a class "header" instead and just adding pretty much same CSS to is which q-header has and I also solved some spacing for the drawer: now I can resize the layout without ResizeObserver crashing. |
I also encountered this issue with the latest version of Quasar. By using quasar/ui/src/components/header/QHeader.js Lines 169 to 172 in 739ab9c
Is anybody still taking care of this issue? |
This commit addresses false negative failures in Cypress due to a known Chrome issue. The included change prevents Cypress tests from failing because of the non-critical `ResizeObserver loop limit exceeded` error, which occurs inconsistently during CI/CD runs with GitHub runners. This error has been documented in CHrome and does not affect actual browser usage or local test runs. This commit implements a widely recommended workaround that ignores this specific error during test execution. Error from Cypress: ``` Error: The following error originated from your application code, not from Cypress. > ResizeObserver loop limit exceeded ``` The solution follows community-driven advice and past discussions on handling this benign exception within test scenarios. It contributes to more reliable CI/CD results by filtering out irrelevant error noise. For detailed background and discussion on this error, see: - Cypress issues: cypress-io/cypress#8418, cypress-io/cypress#20341 - Cypress PRs: cypress-io/cypress#20257, cypress-io/cypress#20284 - Discussion in Quasar: quasarframework/quasar#2233 - Discussion in specification repository: WICG/resize-observer#38
This commit addresses false negative failures in Cypress due to a known Chrome issue. The included change prevents Cypress tests from failing because of the non-critical `ResizeObserver loop limit exceeded` error, which occurs inconsistently during CI/CD runs with GitHub runners. This error has been documented in CHrome and does not affect actual browser usage or local test runs. This commit implements a widely recommended workaround that ignores this specific error during test execution. Error from Cypress: ``` Error: The following error originated from your application code, not from Cypress. > ResizeObserver loop limit exceeded ``` The solution follows community-driven advice and past discussions on handling this benign exception within test scenarios. It contributes to more reliable CI/CD results by filtering out irrelevant error noise. For detailed background and discussion on this error, see: - Cypress issues: cypress-io/cypress#8418, cypress-io/cypress#20341 - Cypress PRs: cypress-io/cypress#20257, cypress-io/cypress#20284 - Discussion in Quasar: quasarframework/quasar#2233 - Discussion in specification repository: WICG/resize-observer#38
Hi,
Since the app is in production, I see a lot of
ResizeObserver loop limit exceeded
errors in Sentry breaking my plan capacity. But I can't reproduce it.I'm not using the QResizeObservable component.
Here I see the discussion saying we can ignore it: https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded
Is there a dependency doing that? Can we catch this error in order to don't log it?
Thanks for your work 💯
Software version
Operating System Centos
NodeJs 9.8.0
Global packages
NPM 5.6.0
yarn 1.5.1
quasar-cli 0.15.14
vue-cli 2.9.3
cordova Not available
Important local packages
quasar-cli 0.15.14
quasar-framework 0.15.10
quasar-extras 1.0.2
vue 2.5.16
vue-router 3.0.1
vuex 3.0.1
electron Not available
babel-core 6.26.0
webpack 3.11.0
webpack-dev-server 2.11.1
What did you get as the error?
ResizeObserver loop limit exceeded
What were you expecting?
No errors.
What steps did you take, to get the error?
I've seen the error in the errors log.
The text was updated successfully, but these errors were encountered: