-
Notifications
You must be signed in to change notification settings - Fork 189
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
OutOfMemoryError reported by jenkins validation build after org.eclipse.ui.tests.UiTestSuite #2432
Comments
|
Maybe this could help understanding OOM errors on jenkins. See eclipse-platform#2432
Maybe this is related: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5056 |
If I look at this where we exchaust thread pools: I just wanted to mention that each thread requires a small amount of ram as well.... |
I would expect jenkins runs on a very small VM with very few (2-4?) cores, so thread pool size would be also very small and shouldn't be the root cause here. |
Hmm. I don't see OOM's on JDT tests which are known to be memory sensitive, and OOMs in UI tests seem to happen on / after specific testsuite, so it look like a code regression on our (platform / UI) side. |
This is a common misunderstanding with ForkJoinPools... If threads are blocked (e.g. the are waiting for I/O or waiting for other threads to join), then new threads are spwaned untill the configured concurrency level is fulfilled again, see here
The exception given here says "Thread limit exceeded replacing blocked worker" and the limit is by default 32767 (!) |
Cool, thanks. So one part of the problem in eclipse-platform/eclipse.platform#1592 is that the used pool is not limited in size (beside that the LocalFile.internalDelete() doesn't do what it supposed to do)? |
It is just a guess, if we see Thread explosion somehwere and memmory problems elsewhere, In general I/O bound tasks don'T play well with fork-join because the whole fork-join was introduced because of CPU bound (!) task usually suffer from context switch penalities. For I/O non blocking I/O is usually most faster if we asumme a shared device (e.g. harddisk / network / ...). |
https://ci.eclipse.org/platform/job/eclipse.platform.ui/job/PR-2433/1/console shows no major memory increase after multiple |
Maybe this could help understanding OOM errors on jenkins. Note: moved OpenCloseTest to the begin, just in case if that causes OOM. See eclipse-platform#2432
See #2432 and eclipse-platform/eclipse.platform#1592 This change shouldn't affect any test at all, it is not a code change.
Also exit E4Testable on OOM. This is supposed to workaround and to understand OOM errors on jenkins. See eclipse-platform#2432
Also exit E4Testable on OOM. This is supposed to workaround and to understand OOM errors on jenkins. See eclipse-platform#2432
See https://ci.eclipse.org/platform/job/eclipse.platform.ui/job/PR-2431/1/consoleFull that didn't changed code, just updated bundle versions, so the problem must be coming from either environment or code changes before.
The question is: what is causing that, and which heap space is actually used on jenkins?
The text was updated successfully, but these errors were encountered: