[webkit-changes] [WebKit/WebKit] e9b4df: [ macOS iOS ] crypto/crypto-random-values-oom.html...
Vitaly Dyachkov
noreply at github.com
Wed Jun 5 02:36:55 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e9b4df324f0cedf7e17d998983a79f7759cd7fa6
https://github.com/WebKit/WebKit/commit/e9b4df324f0cedf7e17d998983a79f7759cd7fa6
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2024-06-05 (Wed, 05 Jun 2024)
Changed paths:
M LayoutTests/crypto/crypto-random-values-oom.html
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac/TestExpectations
Log Message:
-----------
[ macOS iOS ] crypto/crypto-random-values-oom.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=223949
Reviewed by Rob Buis.
The first thing this test does is to allocate all the available memory
and cause out-of-memory situation.
It does so by recursively calling the `foo()` function, which allocates
an array of 80000000 bytes (80 Mb) every time.
When there is less than 80 Mb available memory, the test runs a for loop
with a big number of iterations and allocates a buffer of 1000 bytes
with every iteration.
But since the `foo()` function is called recursively, it can reach the
bottom of the call stack before all the memory is allocated. In this
situation, the `for` loop will slowly consume the rest of the memory.
This process can exceed the timeout threshold and cause a test failure.
To prevent this, we should allocate the memory more aggressively in
bigger chunks.
* LayoutTests/crypto/crypto-random-values-oom.html:
* LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/279733@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list