Closed Bixilon closed 1 year ago
The only way forward is to try reproducing this issue on a non-minified development version. Please do so.
Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
at div
at http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:76:23
at MenuPortal (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:303066:24)
at div
at http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:76:23
at SelectContainer (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:303155:24)
at SelectContainer (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:69910:5)
at Select (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:300908:90)
at http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:303854:92
at SelectBase (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:69626:3)
at Select
at div
at div
at div
at ConfigEditor (http://10.121.163.147:3000/public/build/influxdbPlugin.e57760bef06f6327388e.js:125:5)
at div
at DataSourcePluginSettings (http://10.121.163.147:3000/public/build/Connections.bc92a475741f9561fc8f.js:1456:5)
at DataSourcePluginContextProvider (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:28092:11)
at form
at EditDataSourceView (http://10.121.163.147:3000/public/build/Connections.bc92a475741f9561fc8f.js:2069:3)
at EditDataSource (http://10.121.163.147:3000/public/build/Connections.bc92a475741f9561fc8f.js:2036:27)
at PageContents (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:93924:25)
at div
at div
at div
at div
at Scrollbars (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:246823:9)
at CustomScrollbar (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:52667:3)
at div
at Page (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:93825:3)
at EditDataSourcePage (http://10.121.163.147:3000/public/build/Connections.bc92a475741f9561fc8f.js:400:78)
at Route (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:299225:29)
at Switch (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:299427:29)
at Connections (http://10.121.163.147:3000/public/build/Connections.bc92a475741f9561fc8f.js:189:74)
at Suspense
at ErrorBoundary (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:58294:5)
at GrafanaRoute (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:100538:102)
at Route (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:299225:29)
at RenderedRoute (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:297987:5)
at Routes (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:298510:5)
at CompatRoute (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:296797:5)
at Switch (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:299427:29)
at div
at div
at div
at main
at AppChrome (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:88263:22)
at RenderedRoute (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:297987:5)
at Routes (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:298510:5)
at Router (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:298442:15)
at CompatRouter (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:296813:5)
at Router (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:298844:30)
at div
at ModalsProvider (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:66566:5)
at KBarProvider (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:210526:48)
at ThemeProvider (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:103900:26)
at ErrorBoundary (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:58294:5)
at ErrorBoundaryAlert (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:58333:1)
at Provider (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:293435:20)
at AppWrapper (http://10.121.163.147:3000/public/build/app.70478c149d082bbd8cde.js:87036:5)
(and it is not only happening for me)
Tja, ich verstehe nur Bahnhof! :(
Well, it didn't get any better. We need someone who better understands train station Grafana and React. 🤷
Ich auch :)
Maybe ungoogled chromium limits the stack size more or so?
Can't reproduce on arch, maybe the issue is related to the compiler flags/libraries used on the flatpak version.
I know that I've had this issue on Arch before
Its important to note that it only happens in most cases, not in all.
Its not only grafana specific, this is also happening on github.com (in the new code browser) after a while:
Error: Minified React error #185; visit https://reactjs.org/docs/error-decoder.html?invariant=185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at uJ (react-dom.production.min.js:266:249)
at l1 (react-dom.production.min.js:174:247)
at lZ (react-dom.production.min.js:174:55)
at ut (react-dom.production.min.js:244:332)
at ip (react-dom.production.min.js:286:111)
at id (react-dom.production.min.js:283:409)
at ic (react-dom.production.min.js:281:398)
at u8 (react-dom.production.min.js:273:439)
at av (react-dom.production.min.js:127:105)
at ip (react-dom.production.min.js:286:247)
(just visit e.g. https://github.com/Bixilon/Minosoft/blob/work/pre-flattening/src/main/java/de/bixilon/minosoft/gui/rendering/font/provider/BitmapFontProvider.kt for a while)
I can't actually reproduce this with UGC
@Bixilon Have you tried to actually reproduce this issue in an empty profile? (It would have been dishonest to just tick the checkbox in issue template!)
It looks like it has something to do with your (and mine) profile as I couldn't reproduce this issue in an empty profile, while on my normal profile it has a 100% reproducibility:
I tried it on the guest profile. The screenshot shows an completely empty/new profile created one minute ago.
I am honest.
@rany2 Does --user-data-dir
work in Flatpak? How one could run ungoogled-chromium with empty profile?
@PF4Public Yes it does, but you'll need to create the temporary folder inside the Flatpak's sandbox.
So something like flatpak run --command=bash com.github.Eloston.UngoogledChromium
and then setting it up from within would work.
I tried it on the guest profile. The screenshot shows an completely empty/new profile created one minute ago.
I clicked on the icon in the top right corner and created a new profile
@rany2 Does --user-data-dir work in Flatpak? How one could run ungoogled-chromium with empty profile?
Is that different? Should I try it?
Oh, right, that must be a semantics problem and misunderstanding.
The profile in Chromium interface is a more high-level thing. What we usually understand under "profile" is the profile directory on your drive itself. Changing high-level profile does not change this low-level profile directory. Therefore in order to triage issues it is most useful to start Chromium with empty profile, which has no history, no bookmarks, no extensions and all flags are set by default. So, yeah, it is different.
You could try running ungoogled-chromium with empty folder as profile as rany2 suggested to confirm that the issue exists solely in profile, but I don't know if it would be easy to identify the actual reason for this failure in profile, especially more so if it is not a fault of ungoogled-chromium.
Ah, sorry. Did not know that. Maybe we can change the issue template to link to some wiki page that explains that.
I tried (basically wiped ~/.var/app/com.github.Eloston.UngoogledChromium
) and it worked.
The profile was originally taken from chromium on a different device, then copied to my current laptop (all cookies were cleared). Maybe it is a migration issue?
Maybe we can change the issue template to link to some wiki page that explains that.
I think mentioning --user-data-dir
should suffice.
Maybe it is a migration issue?
It can be anything. My desktop profile was taken from laptop, but both are bugged.
I hope your question(-s) has(-ve) been answered, otherwise please let us know. Closing this issue for now.
I hope your question(-s) has(-ve) been answered, otherwise please let us know.
I don't really see how it was answered. I mean creating a blank profile can not be the execuse/workaround for everything. I don't want to resetup, relogin, ... everywhere.
Shouldn't that be tackled down and fixed? I mean the exact same profile used to work (it is copied from there and still 100% in tact) in stock chromium.
Is there any differences in the flags you activated when comparing profiles (check in chrome://flags or chrome://version perhaps)?
Indeed. Looks like #fingerprinting-client-rects-noise
is causing this crash.
@Bixilon This is exactly the reason why I've written earlier: "I don't know if it would be easy to identify the actual reason for this failure in profile, especially more so if it is not a fault of ungoogled-chromium".
On the other hand it looks suspicious why would react need to measure rects…
especially more so if it is not a fault of ungoogled-chromium".
Isn't that flag ungoogled chromium specific? Maybe something else breaks with that flag.
On the other hand it looks suspicious why would react need to measure rects…
Sure, that is. Not going to blame them still, it normall is a legit operation.
I'm not a frontend dev but I assume this code is causing the issues here.
It seems like Grafana is relying on the react-select
package for some of their components. Some of those library components assume Element#getBoundingClientRect
to behave in a predictable way (probably at least for very fast subsequent calls in which no user interaction could change the results). If this assumption is not met too often the maximum recursion depth is reached.
Sounds resonable.
I think the option should just "randomize" it when the tab loads/reloads and not on every call (as described).
I tested it and that seems to work (go to pretty much any site, e.g. https://bixilon.de) and enter document.getElementsByTagName("img")[0].getBoundingClientRect()
. It returns the same value and it only changes when pressing F5.
How can this be broken? Is react somehow instantiating multiple document classes? Is that even possible?
FWIW I've replaced fingerprinting patches with uazo's ones and can no longer reproduce this issue. At the same time fingerprinting protection is verified to be functioning.
Having the same issue with GitHub online editor
@anyone00 try disabling fingerprinting-client-rects-noise
as mentioned above.
Indeed that fixes the issue 👍
FWIW I've replaced fingerprinting patches with uazo's ones and can no longer reproduce this issue. At the same time fingerprinting protection is verified to be functioning.
Do you plan to integrate that and replace the current one?
Do you plan to integrate that and replace the current one?
No
@Bixilon @anyone00 This issue might be fixed in https://github.com/ungoogled-software/ungoogled-chromium/pull/2790#issuecomment-2041211484
@PF4Public Whoo! Can't update atm, something is really broken with ungoogled chromium 123+ (can not see any content rendered). No time to investigate it yet (not sure if it is flatpak, chromium or ungoogled chromium). Might file a but in some days...
can not see any content rendered
try removing the various GPU caches from your chromium config directory
@Bixilon Please note that that PR was just merged and will be available only with the next version bump.
@PF4Public Yes, I know. Thanks
@networkException worked just fine! Thanks!
OS/Platform
Debian, Ubuntu, and derivatives
Installed
Flatpak
Version
Version 114.0.5735.106 (Official Build, ungoogled-chromium) (64-Bit)
Have you tested that this is not an upstream issue or an issue with your configuration?
Description
When clicking on a dropdown in grafana, react crashes
How to Reproduce?
See https://github.com/grafana/grafana/issues/69324, https://github.com/grafana/grafana/issues/69068 and https://github.com/Checkmk/grafana-checkmk-datasource/issues/194 for more details and screenshots.
Importantly, this only happens on ungoogled chromium. It might also be a react issue.
Actual behaviour
Expected behaviour
Not crashing
Relevant log output
No response
Additional context
You can go here https://play.grafana.org/explore?orgId=1&left=%7B%22datasource%22:%22000000001%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22datasource%22:%7B%22type%22:%22graphite%22,%22uid%22:%22000000001%22%7D%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D and then click on the "Graphite" dropdown in the upper left corner to reproduce it.