Skip to content
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

Ci sanitizer separate step #1

Closed
wants to merge 397 commits into from
Closed

Conversation

AtkinsSJ
Copy link
Owner

@AtkinsSJ AtkinsSJ commented Nov 22, 2024

This almost works! Issue is, I don't know how to tell it that the step in fact failed, as I'm using subshells in the find -exec commands. Ideas appreciated. I guess I could run find again but I'd rather not.

@AtkinsSJ AtkinsSJ force-pushed the ci-sanitizer-separate-step branch 5 times, most recently from 15a566b to b968863 Compare November 22, 2024 20:35
devgianlu and others added 25 commits November 25, 2024 13:38
Now that `Certificate` has been moved, the OID constants are easily
reachable in `LibCrypto`.
This test could fail when `/tmp/testfile` already exists.

There also shouldn't be a need to wait so long for this test,
except for on MacOS, where the `FileWatcher` implementation is
apparently less reliable.
Previously any existing ElementInlineCSSStyleDeclaration would get
overwritten by e.setAttribute("style", ...), while it should be updated
instead.

This fixes 2 WPT subtests.
This fixes a bug in `pause()` that canceled the pause task instead
of the play task. This issue prevented the animation from being paused
while a play task is scheduled.
Use discrete animation when the number of components or the types
of corresponding components do not match. This commit does not cover
all cases, but adds FIXME comments in the appropriate places.
If the progress is not in [0,1], the first two or the last two
keyframes are now used for interpolation outside the interval.
...Including a couple of steps in
obtain_a_browsing_context_to_use_for_a_navigation_response() which
didn't have FIXMEs.

No apparent changes on WPT.
We don't need these for Ladybird, and they are the only users of
some LibCore functions we can remove as well.
We don't need these, they are only relevant for SerenityOS system
builds of LibCore.
This was causing some warnings, so annotate this argument we aren't
even using with noisolate(unsafe) to make the compiler stop.
Copy-paste mistake that becomes apparent in Temporal.ZonedDateTime
tests.
shannonbooth and others added 25 commits December 1, 2024 11:56
Both of these module-related host hooks are not present in the latest
version of the HTML spec.
This is uneeded and not present for this function in the spec now that
HostLoadImportedModule performs this validation.
ApplyFilter internally calls canvas.saveLayer() which requires a
matching canvas.restore() to be called.

Fixes painting on https://supabase.com/ regressed by
8562b0e
Setting the `width` or `height` properties of `HTMLImageElement` to a
value greater than 2147483647 will now cause the property to be set to
0.
Setting the `width` or `height` properties of `HTMLCanvasElement` to a
value greater than 2147483647 will now cause the property to be set to
its default value.
ApplyOpacity internally calls canvas.saveLayer() which requires a
matching canvas.restore() to be called.

Fixes missing header on https://supabase.com/
Many dependencies aren't currently included in the devShell. As ladybird
is already packaged downstream, we can pull in those buildInputs along
with the extra dev dependencies already defined.
restore() corresponding to ApplyFilters should be called after stacking
context content is painted, not before.

Fixes regression introduced in c94b431
I reimported and rebaselined it using the latest version
of our WPT importer. Now it passes.
Convert NavigationType to lowercase strings, as described in the spec.

Import related WPT test.
The rules for parsing integers don't specify an upper bound on the
value that can be returned, so the `parse_integer_digits` method can be
used to check whether the given arbitrarily-large StringView is valid
according to these rules. The `parse_integer` and
`parse_non_negative_integer` methods would fail for values larger than
2147483647 when they shouldn't have.
This change ensures that `colSpan` is clamped to the maximum value of
1000 if the given value is larger than 2147483647.
This change ensures that `rowSpan` is clamped to the maximum value of
65534 if the given value is larger than 2147483647.
This change ensures that `span` is clamped to the maximum value of 1000
if the given value is larger than 2147483647.
We no longer use C or raw assembly (*.S), and generated include files
have moved to Build/release/Lagom/.
The source code position cache was moved from a line based approach
to a "chunk"-based approach to improve performance on large, minified
JavaScript files with few lines, but this has had an adverse effect
on _multi-line_ source files.

Reintroduce some of the old behaviour by caching lines again, with
some added sanity limits to avoid caching empty/overly small lines.

Source code positions in files with few lines will still be cached
less often, since minified JavaScript files can be assumed to be
unusually large, and since stack traces for minified JavaScript
are less useful as well.

On WPT tests with large JavaScript dependencies like
`css/css-masking/animations/clip-interpolation.html` this reduces the
amount of time spent in `SourceCode::range_from_offsets` by as much as
99.98%, for the small small price of 80KB extra memory usage.
@AtkinsSJ AtkinsSJ force-pushed the ci-sanitizer-separate-step branch from b968863 to 0c4c6fc Compare December 2, 2024 17:05
Instead of writing ASAN and UBSAN output into the same stream we use for
test logging, direct them to log files, named asan.log.$PID and
ubsan.log.$PID, and then output them in a separate CI job that runs
afterwards. This should hopefully make it easier to see which tests are
failing.

The downside is that it's now harder to tell which tests the *SAN errors
are related to.
@AtkinsSJ AtkinsSJ force-pushed the ci-sanitizer-separate-step branch from 0c4c6fc to 1d51ccd Compare December 4, 2024 13:57
@AtkinsSJ AtkinsSJ closed this Dec 10, 2024
@AtkinsSJ AtkinsSJ deleted the ci-sanitizer-separate-step branch December 10, 2024 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.