Skip to content

interpret: properly check for inhabitedness of nested references#156977

Merged
rust-bors[bot] merged 3 commits into
rust-lang:mainfrom
RalfJung:interpret-opsem-inhabited
Jul 17, 2026
Merged

interpret: properly check for inhabitedness of nested references#156977
rust-bors[bot] merged 3 commits into
rust-lang:mainfrom
RalfJung:interpret-opsem-inhabited

Conversation

@RalfJung

@RalfJung RalfJung commented May 26, 2026

Copy link
Copy Markdown
Member

View all comments

This implements the opsem from the ongoing FCP in rust-lang/unsafe-code-guidelines#413. The bit we were previously missing is that transmuting a &&! into existence was not caught as being immediate UB -- only the &! case behaved as expected.

I did not adjust the layout computation because when we compute the layout of &T, we cannot know the layout of T (as that might be recursive).

r? @oli-obk

@rustbot

rustbot commented May 26, 2026

Copy link
Copy Markdown
Collaborator

The Miri subtree was changed

cc @rust-lang/miri

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

Some changes occurred to the CTFE machinery

cc @oli-obk, @lcnr

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 26, 2026
Comment on lines +282 to +287
ty::Coroutine(..) => {
true // FIXME should these really be trivially inhabited?
}
ty::CoroutineClosure(..) => {
true // FIXME should these really be trivially inhabited?
}

@RalfJung RalfJung May 26, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I wasn't sure how to recurse into these. Are coroutines always inhabited via a trivial start state, or can they be uninhabited due to capturing ! as an "upvar"? How do coroutine closures work?

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Looks like yes they can be uninhabited

Coroutine(DefId(0:13 ~ diverges[9ce3]::async_let::{closure#0}), [(), std::future::ResumeTy, (), !, (Void,)]) is ABI-uninhabited but not opsem-uninhabited?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I now made them all check the upvar_tys, but I am not entirely sure if that is enough.

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.

For coroutines, checking upvars is enough. The coroutine state is pretty much struct { upvars, enum { Unresumed, Returned, Panicked, Suspend0 { .. }, Suspent1 { .. }, .. } }

Note that #135527 proposes to change this to enum { Unresumed { upvars }, Returned, Panicked, Suspend0 { .. }, Suspent1 { .. }, .. }. Starting from that PR, the enum state will be inhabited in all cases.

Coroutine closures work exactly like closures.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Thanks for confirming!

Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs
len.try_to_target_usize(tcx).unwrap() == 0
|| is_opsem_inhabited_recursor(elem, tcx, root, adt_handler)
}
ty::Pat(inner, _pat) => is_opsem_inhabited_recursor(inner, tcx, root, adt_handler),

@RalfJung RalfJung May 26, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I guess in theory the pattern could make a type uninhabited... so technically if we ever want to use that for the opsem we have to add it has a check here before pattern types get stabilized.

View changes since the review

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.

none of the current patterns can, but yes, that may be possible in the future

///
/// When we git an ADT, we call `adt_handler`, giving it as its last argument a closure that it
/// can invoke to continue the recursion.
fn is_opsem_inhabited_recursor<'tcx>(

@RalfJung RalfJung May 26, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Do we need to do something to bound this recursion? We already stop when encountering the same ADT again, so recursion is bounded by the depth of ADT field types until it comes back to the original type.

Do we need to do some stack growing magic?

View changes since the review

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.

it's possible this can't be hit due to other stack growth protections, but theoretically you can create a very nested tuple, or just &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&T with a lot of repetitions of the reference. I'd honestly just wait for an issue

@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from 4e90bd5 to e6d1440 Compare May 26, 2026 15:51
@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from e6d1440 to 33dc892 Compare May 26, 2026 17:12
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from 846fa4f to 8d272fd Compare May 26, 2026 20:45
@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from 8d272fd to 06e6db9 Compare May 26, 2026 21:42
@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from 06e6db9 to f328265 Compare May 27, 2026 06:27
Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs Outdated
///
/// When we git an ADT, we call `adt_handler`, giving it as its last argument a closure that it
/// can invoke to continue the recursion.
fn is_opsem_inhabited_recursor<'tcx>(

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.

it's possible this can't be hit due to other stack growth protections, but theoretically you can create a very nested tuple, or just &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&T with a lot of repetitions of the reference. I'd honestly just wait for an issue

Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs
len.try_to_target_usize(tcx).unwrap() == 0
|| is_opsem_inhabited_recursor(elem, tcx, root, adt_handler)
}
ty::Pat(inner, _pat) => is_opsem_inhabited_recursor(inner, tcx, root, adt_handler),

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.

none of the current patterns can, but yes, that may be possible in the future

Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs
Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs Outdated
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 27, 2026
Comment thread compiler/rustc_middle/src/ty/inhabitedness/mod.rs Outdated
@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from f328265 to bffa3cd Compare May 27, 2026 14:28
// Bailing out here is unfortuante as it means that the recursion limit affects the
// operational semantics... but what else could we do?
return true;
}

@RalfJung RalfJung May 27, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I pushed a proper recursion check including a recursion limit check.

But... I am not sure it's sound. This means that depending on the recursion limit, different crates might consider the same type inhabited or not.

OTOH if we just hard-code e.g. 256 here, then with a sufficiently high query recursion limit one can write a 257-level-nested type (Wrap<Wrap<...<Wrap<!>>...>>) that layout will still consider uninhabited but this check will give up.

View changes since the review

@theemathas theemathas May 27, 2026

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.

Why exactly is this check soundness-critical? I don't quite follow...

As far as I can tell, it seems like this is just a courtesy best-effort check for UB in consteval, and a sanity check after computing layout?

@RalfJung RalfJung May 27, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is also used by Miri so it is supposed to define what is and isn't UB.

Also our query system relies on cross-crate-consistent results, doesn't it?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@camsteffen proposed to do something more like inhabited_predicate_adt. I must admit that I do not understand how that query works -- I can see that it produces a predicate and ships it to the trait solver, but how is that helpful for recursive types?

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.

Sorry, that was kind of a red herring.

More to the point is check_representability. That query uses query cycle detection to detect an infinite sized type and abort compilation.

So I think we could have a check_opsem_inhabited query which also has query cycle detection, but instead of aborting, return OpsemInhabited::False or something like that for the query result.

check_representability uses params_in_repr, so check_opsem_inhabited could use something similar like params_in_repr_or_ref to include references.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I believe that the algorithm you proposed would say that &Wrap<Wrap<!>> is inhabited, which doesn't seem like a particularly strange edge case. @WaffleLapkin

I personally think that it's "fine", especially given that this improves over the status quo. But I suppose we could also allow recursing through the same definition a set number of times (i.e. setting a recursion limit higher than 1)...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@WaffleLapkin I like that first version, and I think I can combine it with an idea I had to avoid the problem @theemathas mentioned. This avoids any dependency on the recursion limit while also still satisfying the desired implication "layout inhabited => opsem inhabited". I pushed that now.

@lcnr lcnr Jun 29, 2026

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.

Another idea, that lcnr proposed, is that we can error on overflow. I.e. when computing inhabitedness of a type, if we reach the recursion limit, emit a hard error.

Since an error prevents the code from being compiled, there is no problem with linking two different crates with different recursion limits -- they either both get the same result, or one of them doesn't compile.

We can still support (assume inhabited) types which refer to themselves directly like

struct A(&'static A);

And error only if the same type is mentioned with different generic parameters and overflows:

struct B<T: 'static>(&'static B<(T, T)>);

This is technically a breaking change, but it seems fine not to support types which infinitely grow like this (or am I missing something?).

I personally fairly strongly prefer checking for overflow and hard erroring when encountering the recursion limit instead of having WrapRef<WrapRef<!>> be considered to be inhabited by MIRI and to not allow optimizations for it?

I do feel that the examples from #138599 should just errors. It's kind of brittle to support these, as it relies on the type with diverging recursion to be trivially sized. I don't want us to have to be careful with the way sizedness and its fastpaths are handled because of this.

@RalfJung is it a strong preference on your end to not do it based on tracking recursion depth which increases whenever we recur into an adt?

Does the fact that WrapRef<WrapRef<!>> is opsem inhabited mean the following optimization is now unsound? I don't know whether we currently allow this opt

#![feature(never_type)]
#[derive(Clone, Copy)]
#[repr(transparent)]
struct WrapRef<T: 'static>(&'static T);

fn foo<T: Copy>(x: WrapRef<T>) {
    // is it an acceptable optimization to move the assignment to `y` to here?
    //
    // Because if I understand this change correctly, `y` would be opsem
    // uninhabited while `x` would be inhabited? 
    abort();
    let y: T = *x.0;
}

fn abort() {
    std::process::abort();
}

fn main() {
    // SAFETY: Layout is the same here? xd
    unsafe {
        foo(std::mem::transmute::<&&(), WrapRef<WrapRef<!>>>(&&()))
    };
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I personally fairly strongly prefer checking for overflow and hard erroring when encountering the recursion limit of having WrapRef<WrapRef<!>> be considered to be inhabited by MIRI and to not allow optimizations for it?

There's a word missing here I think, so I cannot fully parse this sentence...

But, in terms of hard erroring, I would find it strange if the interpreter validity check is load-bearing for getting hard errors for certain types. We don't even run this validity check on many types during normal compilation. And it is quite problematic if a program that would usually compile then fails to compile in Miri as that makes it impossible to use Miri to check that program for UB, so this is also something I'd like to avoid.

is it a strong preference on your end to not do it based on tracking recursion depth which increases whenever we recur into an adt?

I don't want the interpreter validity check to be the only place where this errors. If these types all error during normal compilation for normal type system reasons, that's entirely fine for me. But we don't call is_opsem_inhabited during normal compilation (except for consts), and we shouldn't, so there needs to be somewhere else that is responsible for ensuring "no infinite types" if that's a property we want.

I don't have a strong opinion on whether we have that property or not. I think we can deal with not having it, but some things get simpler if we do have it.

Does the fact that WrapRef<WrapRef<!>> is opsem inhabited mean the following optimization is now unsound?

This optimization is unsound for a multitude of reasons. For instance, it is unsound for T = bool because we don't require an &bool to actually point to a valid bool. And with this PR it is also invalid for T = WrapRef<!>, yes,

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.

👍

yeah, I do want infinitely expanding types to be an error in general, and only dislike this PR out of "it is avoiding erroring on them explicitly".

Feels fine to merge this as is, opened #158908 for the more general issue

@rust-log-analyzer

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from bffa3cd to 2552ff6 Compare May 27, 2026 14:56
@rust-bors

This comment has been minimized.

@rustbot

rustbot commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

This PR changes a file inside tests/crashes. If a crash was fixed, please move into the corresponding ui subdir and add 'Fixes #' to the PR description to autoclose the issue upon merge.

@RalfJung

RalfJung commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

This PR changes a file inside tests/crashes. If a crash was fixed, please move into the corresponding ui subdir and add 'Fixes #' to the PR description to autoclose the issue upon merge.

No I won't. This is bad advice in this case: the underlying cause of the crash has not been fixed. The PR just somehow makes the compiler not reach the crashy code any more for that particular example. I don't think the example tests anything meaningful that is worth adding to the test suite.

@RalfJung

Copy link
Copy Markdown
Member Author

@WaffleLapkin just making sure you're aware that I replied to your review above. :)

@WaffleLapkin

Copy link
Copy Markdown
Member

@RalfJung I agree with lcnr, that erroring on types with diverging recursion would be nice, but seeing how they opened #158908, there is no reason to block this PR on that.

I'll take a look at this PR tomorrow, sorry for taking so long ^^'

@WaffleLapkin WaffleLapkin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM.

r=me, unless you want to take a stab at simplifying recursive code here (which I really think we should do, but it doesn't have to block).

View changes since this review

}
}

fn is_opsem_inhabited_raw<'tcx>(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I meant something like this: 5c3fe93. Now, my change removes the query (wrote it hastily before needing to leave), which is probably still needed, but it can easily be added inside of Ty::is_opsem_inhabited.

I'm not sure that "handle easy cases directly" is worth the complexity with the callback... And even then, it can probably be expressed in simpler ways.

@rust-bors

This comment has been minimized.

@RalfJung
RalfJung force-pushed the interpret-opsem-inhabited branch from a08ecfe to d65ad07 Compare July 15, 2026 21:36
@rustbot

rustbot commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@RalfJung

Copy link
Copy Markdown
Member Author

r=me, unless you want to take a stab at simplifying recursive code here (which I really think we should do, but it doesn't have to block).

Thanks! If you prefer the version with more code duplication and fewer closures, I'm happy to make a follow-up PR. If someone has an idea how we could avoid both the closures (or an equivalent trait which I don't think would be any more clear) and the code duplication that'd be amazing but I have no idea how to do that. :)

@bors r=WaffleLapkin

@rust-bors

rust-bors Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d65ad07 has been approved by WaffleLapkin

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 16, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 17, 2026
…, r=WaffleLapkin

interpret: properly check for inhabitedness of nested references

This implements the opsem from the ongoing FCP in rust-lang/unsafe-code-guidelines#413. The bit we were previously missing is that transmuting a `&&!`  into existence was not caught as being immediate UB -- only the `&!` case behaved as expected.

I did not adjust the layout computation because when we compute the layout of `&T`, we cannot know the layout of `T` (as that might be recursive).

r? @oli-obk
rust-bors Bot pushed a commit that referenced this pull request Jul 17, 2026
Rollup of 10 pull requests

Successful merges:

 - #156977 (interpret: properly check for inhabitedness of nested references)
 - #159365 (fix: point at method call chain when a return-position `impl Trait` assoc type diverges)
 - #159402 (Clarify safety requirements for SIMD shl/shr and masked load/store)
 - #159410 (rustdoc: remove old `--emit` types)
 - #159302 (Implement `Debug` helpers via `Cell`)
 - #159386 (add a fallback for `fmuladdf*`)
 - #159391 (Update tests for LLVM 23)
 - #159400 (Update books)
 - #159401 (Gate `tests/debuginfo/function-call.rs` on min GDB 15.1)
 - #159404 ([aarch64][win] Pass oversized c-variadic args indirectly on Arm64EC)
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 17, 2026
@rust-bors

rust-bors Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: WaffleLapkin
Duration: 3h 7m 34s
Pushing 4a9d536 to main...

@rust-bors
rust-bors Bot merged commit 4a9d536 into rust-lang:main Jul 17, 2026
14 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 3d50c25 (parent) -> 4a9d536 (this PR)

Test differences

Show 22 test diffs

Stage 1

  • [crashes] tests/crashes/150296.rs: pass -> [missing] (J0)
  • [ui (polonius)] tests/ui/consts/cycle-static-promoted.rs: pass -> [missing] (J2)
  • [ui (polonius)] tests/ui/consts/recursive-type.rs: [missing] -> pass (J2)
  • [ui] tests/ui/consts/cycle-static-promoted.rs: pass -> [missing] (J4)
  • [ui] tests/ui/consts/recursive-type.rs: [missing] -> pass (J4)

Stage 2

  • [crashes] tests/crashes/150296.rs: pass -> [missing] (J1)
  • [ui] tests/ui/consts/cycle-static-promoted.rs: pass -> [missing] (J3)
  • [ui] tests/ui/consts/recursive-type.rs: [missing] -> pass (J3)

Additionally, 14 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 4a9d5368df6450bbd2fc8dde4508c3e5d83bb19d --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-powerpc64le-linux-musl: 1h 9m -> 1h 41m (+46.4%)
  2. x86_64-gnu-tools: 41m 23s -> 1h (+45.5%)
  3. dist-x86_64-mingw: 1h 46m -> 2h 31m (+43.0%)
  4. i686-msvc-2: 1h 27m -> 1h 59m (+37.1%)
  5. x86_64-msvc-2: 2h 28m -> 1h 42m (-31.1%)
  6. dist-various-1: 1h -> 1h 18m (+30.2%)
  7. dist-i686-linux: 1h 23m -> 1h 43m (+24.8%)
  8. i686-gnu-1: 2h 26m -> 1h 51m (-23.6%)
  9. x86_64-msvc-ext3: 1h 48m -> 1h 23m (-22.9%)
  10. dist-x86_64-illumos: 1h 50m -> 1h 25m (-22.6%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (4a9d536): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.7% [0.7%, 0.7%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 1.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.7% [1.7%, 1.7%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

Results (secondary -11.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-11.5% [-21.1%, -5.2%] 3
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.1%, secondary -0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 52
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 23
All ❌✅ (primary) -0.1% [-0.1%, -0.0%] 52

Bootstrap: 489.9s -> 491.028s (0.23%)
Artifact size: 389.98 MiB -> 389.42 MiB (-0.14%)

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Secret source: None
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'github/dependabot-action@main' (SHA:394dae3180bd1a1f89d4b83ca9bd57210627c953)
Complete job name: update-pip-graph
##[group]Run mkdir -p  ./dependabot-job-1465055707-1784293304
mkdir -p  ./dependabot-job-1465055707-1784293304
shell: /usr/bin/bash -e {0}
##[endgroup]
##[group]Run github/dependabot-action@main
---
  GITHUB_DEPENDABOT_JOB_TOKEN: ***
  GITHUB_DEPENDABOT_CRED_TOKEN: ***
  GITHUB_REGISTRIES_PROXY: ***
##[endgroup]
🤖 ~ starting update ~
Fetching job details
##[group]Pulling updater images
Pulling image ghcr.io/dependabot/dependabot-updater-pip:cf6eb60c42588ed3de3f005ccd5a9ad64bf0d954 (attempt 1)...
Successfully sent metric (dependabot.action.ghcr_image_pull) to remote API endpoint
Pulled image ghcr.io/dependabot/dependabot-updater-pip:cf6eb60c42588ed3de3f005ccd5a9ad64bf0d954
Pulling image ghcr.io/dependabot/proxy:v2.0.20260616220547@sha256:b3c9cac5831fdef22330282f54c7067d4df9844385daf8f1a66c880a670a9daa (attempt 1)...
Successfully sent metric (dependabot.action.ghcr_image_pull) to remote API endpoint
Pulled image ghcr.io/dependabot/proxy:v2.0.20260616220547@sha256:b3c9cac5831fdef22330282f54c7067d4df9844385daf8f1a66c880a670a9daa
##[endgroup]
Starting update process
Created proxy container: 524a816b0185ed088733b2777e72c345ec2bbe49db163d9ce825bdd6375169f2
Created container: 204f221674b958a3e936c9b86cbeb7c02fa34abc7f52598f787507461618b36a
  proxy | 2026/07/17 13:02:16 proxy starting, commit: 0852f73f46a5e0426c4f34291a9892ad18cf7ba0
2026/07/17 13:02:16 Listening (:1080)
Started container 204f221674b958a3e936c9b86cbeb7c02fa34abc7f52598f787507461618b36a
updater | Updating certificates in /etc/ssl/certs...
updater | rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
updater | 1 added, 0 removed; done.
updater | Running hooks in /etc/ca-certificates/update.d...
updater | done.
updater | fetch_files command is no longer used directly
updater | 2026/07/17 13:02:19 INFO <job_1465055707> Starting job processing
updater | 2026/07/17 13:02:19 INFO <job_1465055707> Job definition: {"job":{"command":"graph","allowed-updates":[{"dependency-type":"direct","update-type":"all"}],"commit-message-options":{"prefix":null,"prefix-development":null,"include-scope":null},"credentials-metadata":[{"type":"git_source","host":"github.com"}],"debug":null,"dependencies":null,"dependency-groups":[],"dependency-group-to-refresh":null,"existing-pull-requests":[],"existing-group-pull-requests":[],"experiments":{"record-ecosystem-versions":true,"record-update-job-unknown-error":true,"proxy-cached":true,"enable-corepack-for-npm-and-yarn":true,"enable-private-registry-for-corepack":true,"allow-refresh-for-existing-pr-dependencies":true,"allow-refresh-group-with-all-dependencies":true,"azure-registry-backup":true,"enable-enhanced-error-details-for-updater":true,"gradle-lockfile-updater":true,"enable-exclude-paths-subdirectory-manifest-files":true,"blocked-versions":true,"workflow-job-summary":true,"async-retry":true,"enable-npmrc-credential-generation":true,"enable-cooldown-default-days":true},"ignore-conditions":[],"lockfile-only":false,"max-updater-run-time":2700,"package-manager":"pip","requirements-update-strategy":null,"reject-external-code":false,"security-advisories":[],"security-updates-only":false,"source":{"provider":"github","repo":"rust-lang/rust","branch":null,"api-endpoint":"https://api.github.com/","hostname":"github.com","directories":["/src/ci/docker/host-x86_64/pr-check-1","/src/tools/tidy/config"]},"updating-a-pull-request":false,"update-subdependencies":false,"vendor-dependencies":false,"enable-beta-ecosystems":false,"repo-private":false,"multi-ecosystem-update":false,"exclude-paths":[]}}
  proxy | 2026/07/17 13:02:19 [002] GET https://github.com:443/rust-lang/rust.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:19 [002] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:19 [002] 200 https://github.com:443/rust-lang/rust.git/info/refs?service=git-upload-pack
updater | 2026/07/17 13:02:20 INFO <job_1465055707> Started process PID: 999 with command: {} git clone --no-tags --depth 1 --recurse-submodules --shallow-submodules https://github.com/rust-lang/rust /home/dependabot/dependabot-updater/repo {}
  proxy | 2026/07/17 13:02:20 [004] GET https://github.com:443/rust-lang/rust/info/refs?service=git-upload-pack
2026/07/17 13:02:20 [004] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:20 [004] 200 https://github.com:443/rust-lang/rust/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:20 [006] POST https://github.com:443/rust-lang/rust/git-upload-pack
  proxy | 2026/07/17 13:02:20 [006] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:20 [006] 200 https://github.com:443/rust-lang/rust/git-upload-pack
  proxy | 2026/07/17 13:02:20 [008] POST https://github.com:443/rust-lang/rust/git-upload-pack
2026/07/17 13:02:20 [008] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:21 [008] 200 https://github.com:443/rust-lang/rust/git-upload-pack
  proxy | 2026/07/17 13:02:33 [010] GET https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack
2026/07/17 13:02:33 [010] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:33 [010] 200 https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:33 [012] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:02:33 [012] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:34 [012] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:02:34 [014] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
2026/07/17 13:02:34 [014] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:34 [014] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:02:34 [016] GET https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack
2026/07/17 13:02:34 [016] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:34 [016] 200 https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:34 [018] POST https://github.com:443/rust-lang/book.git/git-upload-pack
2026/07/17 13:02:34 [018] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:34 [018] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:02:34 [020] POST https://github.com:443/rust-lang/book.git/git-upload-pack
2026/07/17 13:02:34 [020] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:35 [020] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:02:35 [022] GET https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:35 [022] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:35 [022] 200 https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:35 [024] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:02:35 [024] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:35 [024] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:02:35 [026] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
2026/07/17 13:02:35 [026] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:35 [026] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:02:35 [028] GET https://github.com:443/rust-embedded/book.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:35 [028] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:35 [028] 200 https://github.com:443/rust-embedded/book.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:35 [030] POST https://github.com:443/rust-embedded/book.git/git-upload-pack
2026/07/17 13:02:35 [030] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:36 [030] 200 https://github.com:443/rust-embedded/book.git/git-upload-pack
  proxy | 2026/07/17 13:02:36 [032] POST https://github.com:443/rust-embedded/book.git/git-upload-pack
2026/07/17 13:02:36 [032] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:36 [032] 200 https://github.com:443/rust-embedded/book.git/git-upload-pack
  proxy | 2026/07/17 13:02:36 [034] GET https://github.com:443/rust-lang/nomicon.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:36 [034] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:36 [034] 200 https://github.com:443/rust-lang/nomicon.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:36 [036] POST https://github.com:443/rust-lang/nomicon.git/git-upload-pack
2026/07/17 13:02:36 [036] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:36 [036] 200 https://github.com:443/rust-lang/nomicon.git/git-upload-pack
  proxy | 2026/07/17 13:02:36 [038] POST https://github.com:443/rust-lang/nomicon.git/git-upload-pack
2026/07/17 13:02:36 [038] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:36 [038] 200 https://github.com:443/rust-lang/nomicon.git/git-upload-pack
  proxy | 2026/07/17 13:02:36 [040] GET https://github.com:443/rust-lang/reference.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:36 [040] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:37 [040] 200 https://github.com:443/rust-lang/reference.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:37 [042] POST https://github.com:443/rust-lang/reference.git/git-upload-pack
2026/07/17 13:02:37 [042] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:37 [042] 200 https://github.com:443/rust-lang/reference.git/git-upload-pack
  proxy | 2026/07/17 13:02:37 [044] POST https://github.com:443/rust-lang/reference.git/git-upload-pack
  proxy | 2026/07/17 13:02:37 [044] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:37 [044] 200 https://github.com:443/rust-lang/reference.git/git-upload-pack
  proxy | 2026/07/17 13:02:37 [046] GET https://github.com:443/rust-lang/rust-by-example.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:37 [046] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:37 [046] 200 https://github.com:443/rust-lang/rust-by-example.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:37 [048] POST https://github.com:443/rust-lang/rust-by-example.git/git-upload-pack
  proxy | 2026/07/17 13:02:37 [048] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:37 [048] 200 https://github.com:443/rust-lang/rust-by-example.git/git-upload-pack
  proxy | 2026/07/17 13:02:37 [050] POST https://github.com:443/rust-lang/rust-by-example.git/git-upload-pack
2026/07/17 13:02:37 [050] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:38 [050] 200 https://github.com:443/rust-lang/rust-by-example.git/git-upload-pack
  proxy | 2026/07/17 13:02:38 [052] GET https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:38 [052] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:38 [052] 200 https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:02:38 [054] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:02:38 [054] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:38 [054] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:02:38 [056] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:02:38 [056] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:02:39 [056] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:05 [058] GET https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack
2026/07/17 13:03:05 [058] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:05 [058] 200 https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:05 [060] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
2026/07/17 13:03:05 [060] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:05 [060] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:05 [062] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:05 [062] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:05 [062] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:05 [064] GET https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack
2026/07/17 13:03:05 [064] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:06 [064] 200 https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:06 [066] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:03:06 [066] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:06 [066] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:03:06 [068] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:03:06 [068] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:06 [068] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:03:07 [070] GET https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack
2026/07/17 13:03:07 [070] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:07 [070] 200 https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:07 [072] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:03:07 [072] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:07 [072] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:03:07 [074] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:03:07 [074] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:07 [074] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:03:08 [076] GET https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack
2026/07/17 13:03:08 [076] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:08 [076] 200 https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:08 [078] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:03:08 [078] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:08 [078] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:03:08 [080] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
2026/07/17 13:03:08 [080] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:09 [080] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:03:09 [082] GET https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack
2026/07/17 13:03:09 [082] 200 https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:10 [084] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [084] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:10 [084] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [086] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [086] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:10 [086] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [088] GET https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack
2026/07/17 13:03:10 [088] 200 https://github.com:443/rust-lang/backtrace-rs.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:10 [090] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [090] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:10 [090] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [092] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
2026/07/17 13:03:10 [092] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:10 [092] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [094] POST https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
2026/07/17 13:03:10 [094] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:10 [094] 200 https://github.com:443/rust-lang/backtrace-rs.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [096] GET https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack
2026/07/17 13:03:10 [096] 200 https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:10 [098] POST https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:10 [098] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:11 [098] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [100] POST https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [100] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:11 [100] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [102] GET https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack
2026/07/17 13:03:11 [102] 200 https://github.com:443/rust-lang/book.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:11 [104] POST https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [104] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:11 [104] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [106] POST https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [106] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:11 [106] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [108] POST https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:11 [108] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:11 [108] 200 https://github.com:443/rust-lang/book.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [110] GET https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:12 [110] 200 https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:12 [112] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [112] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:12 [112] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [114] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
2026/07/17 13:03:12 [114] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:12 [114] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [116] GET https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack
2026/07/17 13:03:12 [116] 200 https://github.com:443/rust-lang/edition-guide.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:12 [118] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
2026/07/17 13:03:12 [118] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:12 [118] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [120] POST https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:12 [120] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:12 [120] 200 https://github.com:443/rust-lang/edition-guide.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [122] GET https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack
2026/07/17 13:03:13 [122] 200 https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:13 [124] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
2026/07/17 13:03:13 [124] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:13 [124] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [126] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
2026/07/17 13:03:13 [126] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:13 [126] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [128] GET https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack
2026/07/17 13:03:13 [128] 200 https://github.com:443/rust-lang/gcc.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:13 [130] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [130] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:13 [130] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [132] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
2026/07/17 13:03:13 [132] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:13 [132] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:13 [134] POST https://github.com:443/rust-lang/gcc.git/git-upload-pack
2026/07/17 13:03:13 [134] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:14 [134] 200 https://github.com:443/rust-lang/gcc.git/git-upload-pack
  proxy | 2026/07/17 13:03:16 Posting metrics to remote API endpoint
  proxy | 2026/07/17 13:03:17 Successfully posted metrics data via api client
  proxy | 2026/07/17 13:03:37 [136] GET https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:03:37 [136] 200 https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:37 [138] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [138] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:37 [138] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [140] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [140] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:37 [140] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [142] GET https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack
2026/07/17 13:03:37 [142] 200 https://github.com:443/rust-lang/llvm-project.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:03:37 [144] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [144] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:37 [144] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:37 [146] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
2026/07/17 13:03:37 [146] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:38 [146] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:38 [148] POST https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:03:38 [148] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:03:38 [148] 200 https://github.com:443/rust-lang/llvm-project.git/git-upload-pack
  proxy | 2026/07/17 13:04:16 Posting metrics to remote API endpoint
  proxy | 2026/07/17 13:04:16 Successfully posted metrics data via api client
  proxy | 2026/07/17 13:04:21 [150] GET https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack
2026/07/17 13:04:21 [150] 200 https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:21 [152] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
2026/07/17 13:04:21 [152] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:21 [152] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [154] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [154] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:21 [154] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [156] GET https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:04:21 [156] 200 https://github.com:443/rust-lang/cargo.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:21 [158] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
2026/07/17 13:04:21 [158] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:21 [158] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [160] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [160] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:21 [160] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:21 [162] POST https://github.com:443/rust-lang/cargo.git/git-upload-pack
2026/07/17 13:04:21 [162] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:21 [162] 200 https://github.com:443/rust-lang/cargo.git/git-upload-pack
  proxy | 2026/07/17 13:04:22 [164] GET https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack
2026/07/17 13:04:22 [164] 200 https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:22 [166] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:04:22 [166] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:22 [166] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:22 [168] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:04:22 [168] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:22 [168] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [170] GET https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack
2026/07/17 13:04:23 [170] 200 https://github.com:443/rust-lang/enzyme.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:23 [172] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:04:23 [172] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:23 [172] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [174] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [174] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:23 [174] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [176] POST https://github.com:443/rust-lang/enzyme.git/git-upload-pack
2026/07/17 13:04:23 [176] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:23 [176] 200 https://github.com:443/rust-lang/enzyme.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [178] GET https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack
2026/07/17 13:04:23 [178] 200 https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:23 [180] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:23 [180] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:24 [180] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:24 [182] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:24 [182] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:24 [182] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:24 [184] GET https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack
  proxy | 2026/07/17 13:04:24 [184] 200 https://github.com:443/rust-lang/rustc-perf.git/info/refs?service=git-upload-pack (cached)
  proxy | 2026/07/17 13:04:24 [186] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
2026/07/17 13:04:24 [186] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:24 [186] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:24 [188] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
2026/07/17 13:04:24 [188] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:24 [188] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
  proxy | 2026/07/17 13:04:24 [190] POST https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
2026/07/17 13:04:24 [190] * authenticating git server request (host: github.com)
  proxy | 2026/07/17 13:04:24 [190] 200 https://github.com:443/rust-lang/rustc-perf.git/git-upload-pack
updater | 2026/07/17 13:04:26 INFO <job_1465055707> Process PID: 999 completed with status: pid 999 exit 0
2026/07/17 13:04:26 INFO <job_1465055707> Total execution time: 125.77 seconds
updater | 2026/07/17 13:04:26 INFO <job_1465055707> Started process PID: 1339 with command: {} git -C /home/dependabot/dependabot-updater/repo ls-files --stage {}
updater | 2026/07/17 13:04:29 INFO <job_1465055707> Process PID: 1339 completed with status: pid 1339 exit 0
2026/07/17 13:04:29 INFO <job_1465055707> Total execution time: 3.59 seconds
updater | 2026/07/17 13:04:29 INFO <job_1465055707> Started process PID: 1434 with command: {} git rev-parse HEAD {}
updater | 2026/07/17 13:04:29 INFO <job_1465055707> Process PID: 1434 completed with status: pid 1434 exit 0
updater | 2026/07/17 13:04:29 INFO <job_1465055707> Total execution time: 0.0 seconds
updater | 2026/07/17 13:04:29 INFO <job_1465055707> DEBUG filter_excluded: entries=5, exclude_paths=[]
updater | 2026/07/17 13:04:29 INFO <job_1465055707> Dependabot is using Python version '3.10.20'.
  proxy | 2026/07/17 13:04:30 [192] POST /update_jobs/1465055707/record_ecosystem_versions
  proxy | 2026/07/17 13:04:30 [192] 204 /update_jobs/1465055707/record_ecosystem_versions
updater | 2026/07/17 13:04:30 INFO <job_1465055707> DEBUG filter_excluded: entries=3, exclude_paths=[]
updater | 2026/07/17 13:04:30 ERROR <job_1465055707> Error during file fetching; aborting: Dependabot detected the following Python requirement for your project: '3.9.*'.

Currently, the following Python versions are supported in Dependabot: 3.10.*, 3.11.*, 3.12.*, 3.13.*, 3.14.*.
  proxy | 2026/07/17 13:04:30 [194] POST /update_jobs/1465055707/record_update_job_error
  proxy | 2026/07/17 13:04:30 [194] 204 /update_jobs/1465055707/record_update_job_error
  proxy | 2026/07/17 13:04:30 [196] PATCH /update_jobs/1465055707/mark_as_processed
  proxy | 2026/07/17 13:04:30 [196] 204 /update_jobs/1465055707/mark_as_processed
updater | 2026/07/17 13:04:30 INFO <job_1465055707> Finished job processing
updater | 2026/07/17 13:04:30 INFO Results:
Dependabot encountered '1' error(s) during execution, please check the logs for more details.
+-----------------------------------------------------------------------------------------------+
|                                            Errors                                             |
+----------------------------+------------------------------------------------------------------+
| Type                       | Details                                                          |
+----------------------------+------------------------------------------------------------------+
| tool_version_not_supported | {                                                                |
|                            |   "tool-name": "Python",                                         |
|                            |   "detected-version": "3.9.*",                                   |
|                            |   "supported-versions": "3.10.*, 3.11.*, 3.12.*, 3.13.*, 3.14.*" |
|                            | }                                                                |
+----------------------------+------------------------------------------------------------------+
Failure running container 204f221674b958a3e936c9b86cbeb7c02fa34abc7f52598f787507461618b36a: Error: Command failed with exit code 1: /bin/sh -c $DEPENDABOT_HOME/dependabot-updater/bin/run update_graph
Cleaned up container 204f221674b958a3e936c9b86cbeb7c02fa34abc7f52598f787507461618b36a
  proxy | 2026/07/17 13:04:44 16/98 calls cached (16%)
2026/07/17 13:04:44 Posting metrics to remote API endpoint
##[error]Dependabot encountered an error performing the update
The updater encountered one or more errors.
more information see: https://github.com/rust-lang/rust/network/updates/1465055707 (write access to the repository is required to view the log)
🤖 ~ finished: error reported to Dependabot ~
Post job cleanup.
Cleaning up orphan processes

@RalfJung
RalfJung deleted the interpret-opsem-inhabited branch July 17, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.