Skip to content

Conversation

@Marcondiro
Copy link
Contributor

@Marcondiro Marcondiro commented Jan 22, 2026

Description

The Linux images used in CI are on 6.11, headers are on >=6.8 at the time of writing.
Remove the test requiring a kernel <= 6.8 from the skipped ones, addressing the FIXMEs.

Move Ubuntu from 23.10 to 25.04 for i686-unkown-linux-gnu

Sources

.

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI

@Marcondiro Marcondiro changed the title tests linux: do not skip tests kernel <= 6.11 tests linux: do not skip tests depending on kernel <= 6.11 Jan 22, 2026
@tgross35
Copy link
Contributor

I think we're stuck to the host (ubuntu-24.04) kernel versions here since Docker doesn't bring its own kernel. Per https://en.wikipedia.org/wiki/Ubuntu_version_history#Table_of_versions that means 6.8.

@Marcondiro
Copy link
Contributor Author

Hi, @tgross35, according to CI logs this is the image currently used https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260111.209

Kernel Version: 6.11.0-1018-azure

@tgross35
Copy link
Contributor

Huh, nice find. Any idea what the issue is then - does the version of the installed headers not match up?

@Marcondiro
Copy link
Contributor Author

I haven't finished checking all the errors, but so far I found a couple of wrong constants (see issue #4935 and my other PR #4936). Once done I will mark this as, ready. Any help on this is welcome 😁

@Marcondiro
Copy link
Contributor Author

Some tests on __c_anonymous_xsk_tx_metadata_union and its variants are failing.

Discusison #4940 was opened to understand how to address this. Should we
A- rename the variants (xsk_tx_metadata_request, xsk_tx_metadata_completion) adding the prefix or
B- explicitly skip the variants from CI?

@Marcondiro Marcondiro force-pushed the fixme branch 3 times, most recently from 63d2338 to ea88643 Compare January 27, 2026 14:27
@rustbot rustbot added the O-gnu label Jan 27, 2026
@Marcondiro Marcondiro force-pushed the fixme branch 6 times, most recently from b492106 to 5ca3e86 Compare January 28, 2026 09:30
@Marcondiro Marcondiro changed the title tests linux: do not skip tests depending on kernel <= 6.11 tests linux: do not skip tests depending on kernel <= 6.8 Jan 28, 2026
@Marcondiro Marcondiro force-pushed the fixme branch 3 times, most recently from 97aea86 to eb9c0c8 Compare January 28, 2026 10:46
@rustbot rustbot added the A-CI Area: CI-related items label Jan 28, 2026
@Marcondiro Marcondiro force-pushed the fixme branch 6 times, most recently from a7a21a3 to 6b7675d Compare January 28, 2026 15:34
@Marcondiro Marcondiro force-pushed the fixme branch 3 times, most recently from 673d274 to b039a7e Compare January 28, 2026 16:28
The 64 bit Linux images used in CI are on 6.11, headers are on >=6.8 at the time of writing.
Skip the tests requiring kernel >=6.8 only on 32 bit archs, that are still on old headers, and for musl targets.
"xdp_umem_reg" if musl || pointer_width == 32 => true,

// FIXME(linux): Requires >= 6.8 kernel headers.
// FIXME(linux): A new field was added to `xsk_tx_metadata_request` in linux 6.15.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind making this FIXME(1.0,linux) so we know it's a breaking change we want to do?

Comment on lines -1 to +3
FROM ubuntu:23.10
FROM ubuntu:25.04

# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time
RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \
/etc/apt/sources.list && \
dpkg --add-architecture i386 && \
RUN dpkg --add-architecture i386 && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd love to do this for all the 32-bit linux targets, any reason why it's only i686 here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to do the same for armhf but it was failing due tothe transition to 64 bit time.
Looking around I found a Debian page about the transition towards 64 bit time where they say that x86 ABI wont change while arm got the ABI update. So, the # FIXME here is indeed correct for 32 bit architectures excluding x86.

Copy link
Contributor

@tgross35 tgross35 Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, so x86-32 didn't actually do the 64-bit time_t update yet? If so then this makes sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, correct. As far as I understood, Debian x86 32 will never get the 64 bit time_t.
Since they no longer provide x86 ISOs, the x86 32 stuff is there mainly for retrocompatibility so they preferred to keep it as is.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh that's right, I did hear about that for Debian. In that case I think this is probably close to ready if you want to mark it ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items O-gnu O-linux O-unix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants