Skip to content

build(deps): bump libc from 0.2.189 to 0.2.190 - #9010

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/libc-0.2.190
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/libc-0.2.190

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Bumps libc from 0.2.189 to 0.2.190.

Release notes

Sourced from libc's releases.

0.2.190

There is now a single config for enabling 64-bit time_t: libc_unstable_time64. This can be set unconditionally; it opts in to 64-bit time_t on the following platforms that use 32-bit by default:

  • 32-bit Linux-GNU
  • 32-bit Linux-uClibc
  • 32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in musl v1.2.
  • 32-bit Windows-GNU
  • ESP-IDF (all targets with this environment are 32-bit)

Most other 32-bit platforms are either already using 64-bit time_t, or are considered legacy and will not be gaining support from their upstream maintainers.

You can enable this using RUSTFLAGS:

RUSTFLAGS='--cfg=libc_unstable_time64' cargo ...

Note that there may still be some changes to features gated by this config option, hence "unstable" in its name. In the near future we will rename it to just libc_time64. Until then, please test it out and report any bugs you find!

Support

  • Add initial support for HelenOS (#4355)

Added

We are slowly filling out the Default implementations, to reduce the need for mem::zeroed() in user code:

  • Unix: Implement Default for a number of structs, especially on Apple platforms (#5576)
  • Linux, NetBSD: Give statvfs a Default impl (#5583)
  • Linux: Add Default to a linux/can.rs structs (#5257)

Other additions:

  • Expose the libc_unstable_time64 cfg (#5411)
  • Android, Glibc: Add pthread_gettid_np (#5359)
  • Android: Add RTLD_NEXT (#5323)
  • Android: Add reuseport BPF socket options (#5366)
  • Apple: Add TCP header flags, options and SACK limits (#5358)
  • Apple: Add NET_RT_DUMP2 (#5442)
  • Apple: Add posix_spawn_file_actions_add(f)chdir(_np) (#5558)
  • BSD: Add BPF_WORDALIGN (#5320)
  • BSD: Add lchmod and lchflags where supported (#5400)
  • BSD: Add minherit and related constants (#4849)
  • Docs: Add more links to public headers and manual pages (#5407), (#5485)

... (truncated)

Changelog

Sourced from libc's changelog.

0.2.190 - 2026-10-02

There is now a single config for enabling 64-bit time_t: libc_unstable_time64. This can be set unconditionally; it opts in to 64-bit time_t on the following platforms that use 32-bit by default:

  • 32-bit Linux-GNU
  • 32-bit Linux-uClibc
  • 32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in musl v1.2.
  • 32-bit Windows-GNU
  • ESP-IDF (all targets with this environment are 32-bit)

Most other 32-bit platforms are either already using 64-bit time_t, or are considered legacy and will not be gaining support from their upstream maintainers.

You can enable this using RUSTFLAGS:

RUSTFLAGS='--cfg=libc_unstable_time64' cargo ...

Note that there may still be some changes to features gated by this config option, hence "unstable" in its name. In the near future we will rename it to just libc_time64. Until then, please test it out and report any bugs you find!

Support

  • Add initial support for HelenOS (#4355)

Added

We are slowly filling out the Default implementations, to reduce the need for mem::zeroed() in user code:

  • Unix: Implement Default for a number of structs, especially on Apple platforms (#5576)
  • Linux, NetBSD: Give statvfs a Default impl (#5583)
  • Linux: Add Default to a linux/can.rs structs (#5257)

Other additions:

  • Expose the libc_unstable_time64 cfg (#5411)
  • Android, Glibc: Add pthread_gettid_np (#5359)
  • Android: Add RTLD_NEXT (#5323)
  • Android: Add reuseport BPF socket options (#5366)
  • Apple: Add TCP header flags, options and SACK limits (#5358)
  • Apple: Add NET_RT_DUMP2 (#5442)
  • Apple: Add posix_spawn_file_actions_add(f)chdir(_np) (#5558)
  • BSD: Add BPF_WORDALIGN (#5320)
  • BSD: Add lchmod and lchflags where supported (#5400)
  • BSD: Add minherit and related constants (#4849)

... (truncated)

Commits
  • 7b0ab55 ci: Rename publish_0.2.yml to release.yaml
  • ac85dde ci: Sync release permissions with main
  • 8f8cd20 libc: Release 0.2.190
  • 052c6e6 changelog: Fix an incorrect commit link
  • ea19fd7 test: Remove explicit libc version
  • 6dbf3a2 dragonfly: Move INHERIT_ZERO to the freebsd module
  • 8a64766 apple: add posix_spawn_file_actions_add(f)chdir(_np)
  • 28de514 linux, netbsd: Give statvfs a Default impl
  • a58a95f cygwin: Change POSIX_SPAWN_* flags to c_short
  • d175264 apple: timeval32 is exhaustive
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Oct 8, 2026
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: RustPython/RustPython/.coderabbit.yml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 36b13f72-50de-4f1e-9462-f36c4609e5cd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T02:07:36.797612Z 5ce3455 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@fanninpm fanninpm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Needs manual intervention due to CI failure when checking the x86_64-unknown-freebsd and aarch64-apple-ios targets.

@fanninpm
fanninpm requested a review from youknowone October 8, 2026 16:59
@youknowone

Copy link
Copy Markdown
Member

@copilot make a proper patch please

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

5 similar comments

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

Copilot AI commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

@youknowone The model claude-haiku-5.5 is not available for your account. This can happen if the model was disabled by your organization's policy or if your Copilot plan doesn't include access to it.

You can try again without specifying a model (just @copilot) to use the default, or choose a different model from the model picker.

If you want to contact GitHub about this error, please mention the following identifier so they can better serve you: 46d66e99-fa1b-4c4a-98cc-3cf9e6d541e1

@fanninpm

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot
dependabot Bot force-pushed the dependabot/cargo/libc-0.2.190 branch from 3173332 to 9b34acd Compare October 14, 2026 14:50
@codspeed

codspeed Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will degrade performance by 0.84%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 60 untouched benchmarks
⏩ 4 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ rustpython[loop_append.py] 2.3 ms 2.7 ms -11.7%
⚡ rustpython[cmp.py] 69.6 ms 62.5 ms +11.36%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing dependabot/cargo/libc-0.2.190 (9b34acd) with main (b429155)2

Open in CodSpeed

Footnotes

  1. 4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

  2. No successful run was found on main (2a09ee0) during the generation of this report, so b429155 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@fanninpm

Copy link
Copy Markdown
Contributor

@codspeedbot explain performance differences

@codspeed

codspeed Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

@codspeedbot explain performance differences

Neither change comes from the libc bump. Both benchmarks are noisy, so this PR can be merged and the loop_append.py regression acknowledged.

The PR only touches Cargo.lock (libc 0.2.189 → 0.2.190). For x86_64 Linux, that release adds bindings and Default impls and changes nothing the interpreter runs.

The report also uses an older base. CodSpeed had no result for main at 2a09ee0, so it compared against b429155. That base doesn't include #9105 (the CPython 3.15 bytecode/VM change), but this branch does. A better baseline is main at 1269277: it has the same VM code as this PR, just with an indexmap bump instead of libc.

⚡ cmp.py +11% (69.6 ms → 62.5 ms)

The base was the outlier. cmp.py usually measures about 62.5–65 ms on main, but b429155 measured 69.6 ms because of extra time in Dict::_get_inner. This PR's 62.5 ms is normal. Compared with 1269277, cmp.py doesn't change.

❌ loop_append.py −11.7% (2.3 ms → 2.7 ms)

Compared with 1269277, which has the same VM code, the flamegraphs show:

main 1269277 this PR
ExecutingFrame::run_until (self) 429 µs 423 µs
Dict::_get_inner (self) 123 µs 201 µs
Dict::lookup (self, from insert) 60 µs 165 µs
PyMapping::_subscript + _ass_subscript (total) 759 µs 1065 µs

The interpreter loop, int allocation, list.append and the libc/malloc functions cost about the same in both runs. All of the extra time is in the module globals dict lookups for i and obj (the loop runs at module level, so these are LOAD_NAME/STORE_NAME). The instruction count in those two dict functions roughly doubles, which points to longer hash probe chains, not slower code.

The cause is the benchmark setup. benches/microbenchmarks.rs uses Settings::default(), which leaves hash_seed = None, so every benchmark process picks a random string hash secret. Depending on the seed, the names in the globals dict collide more or less, and benchmarks like loop_append.py, loop_string.py, strings.py and cmp.py move by 10–17% between runs. The same thing has shown up on several earlier PRs.

Possible fix

Setting a fixed seed in the microbenchmark harness (settings.hash_seed = Some(0)) would stop these jumps, so results would only change when the code does.

Comment @codspeedbot pin the hash seed in the microbenchmark harness and I'll open a PR for it.

Summary
  • Warming up the performance wizard...
  • Inspect PR diff and CodSpeed runs — Only Cargo.lock changes (libc 0.2.189 → 0.2.190)
  • Analyze loop_append.py and cmp.py changes — Both changes are measurement noise: the base run was an outlier, and globals-dict probe lengths depend on the random hash seed
  • Reply with explanation — Reply with explanation
  • Handling comment — Comment handling finished successfully

Learnings updated. See what CodSpeed remembers about this repository.

Was this response helpful? React with 👍 or 👎 to help us improve CodSpeedBot.

@fanninpm

Copy link
Copy Markdown
Contributor

@codspeedbot pin the hash seed in the microbenchmark harness

@codspeed

codspeed Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

@codspeedbot pin the hash seed in the microbenchmark harness

I opened #9126 to pin the hash seed: #9126

It's a separate PR so this dependabot branch only contains the libc bump.

Change: one line in benches/microbenchmarks.rs. bench_rustpython_code now sets settings.hash_seed = Some(0), so every microbenchmark run uses the same string hash secret. Before, the secret was random for each process, which made dict-heavy benchmarks like loop_append.py, cmp.py, loop_string.py and strings.py move by 10–17% between runs with no code change.

Not tested yet: I only checked formatting. The full benchmark build didn't finish in my environment, so I haven't compiled or run the change. The CodSpeed CI run on #9126 will be the first test.

What to expect: that first CI run may still move those benchmarks once, because the fixed seed can collide differently than the random seed in the base run. After it merges, these benchmarks should only change when the code does.

benches/execution.rs sets up its interpreter the same way, but I left it unchanged.

Comment @codspeedbot pin the hash seed in benches/execution.rs too and I'll add it to #9126.

Summary
  • Warming up the performance wizard...
  • Pin hash seed in benches/microbenchmarks.rs — settings.hash_seed = Some(0)
  • Build and run microbenchmarks under CodSpeed — Formatting checked locally. The full bench build takes too long in the sandbox, so the CodSpeed CI run on the new PR will check it
  • Open PR — Pin the hash seed in the microbenchmark harness #9126
  • Handling comment — Comment handling finished successfully

Was this response helpful? React with 👍 or 👎 to help us improve CodSpeedBot.

@dependabot
dependabot Bot force-pushed the dependabot/cargo/libc-0.2.190 branch from 9b34acd to 3685809 Compare October 15, 2026 01:12

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3685809863

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Cargo.lock Outdated
[[package]]
name = "libc"
version = "0.2.189"
version = "0.2.190"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add the required AI-assistance trailer

This commit is authored by Codex, but its commit message contains no Assisted-by: AGENT_NAME:MODEL_VERSION trailer, so it does not satisfy the repository's mandatory disclosure policy for AI-assisted contributions. Add the required trailer before merging.

AGENTS.md reference: AGENTS.md:L20-L23

Useful? React with 👍 / 👎.

@dependabot
dependabot Bot force-pushed the dependabot/cargo/libc-0.2.190 branch from 3685809 to 78d911f Compare October 15, 2026 19:00
@fanninpm

Copy link
Copy Markdown
Contributor

@youknowone Clippy failure is from #9152.

@dependabot
dependabot Bot force-pushed the dependabot/cargo/libc-0.2.190 branch from 78d911f to 9f04385 Compare October 16, 2026 01:18
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.189 to 0.2.190.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.190/CHANGELOG.md)
- [Commits](rust-lang/libc@0.2.189...0.2.190)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.190
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/libc-0.2.190 branch from 9f04385 to 5ce3455 Compare October 18, 2026 02:06

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5ce3455cbc

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Cargo.lock
[[package]]
name = "libc"
version = "0.2.189"
version = "0.2.191"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Pin libc to the release described by this update

The lockfile actually selects libc 0.2.191, while the commit title, dependency metadata, and included release notes all say this update is to 0.2.190. Consumers therefore build a different release from the one presented for review; either lock 0.2.190 with its matching checksum or update the change description and release review to 0.2.191.

Useful? React with 👍 / 👎.

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

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants