Skip to content

Infinite cycle in depgraph resolution #4810

@vorner

Description

@vorner

Hello

When I check out and try to build this repository, cargo gets stuck in this:

$ cargo check --verbose
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Resolving dependency graph...

I tried to look at what it was doing and setting RUST_LOG=debug, it seems it is in an infinite cycle, because these same messages keep repeating forever.

DEBUG:cargo::core::registry: load/precise  registry `https://github.com/rust-lang/crates.io-index`
DEBUG:cargo::core::registry: load/precise  registry `https://github.com/rust-lang/crates.io-index`
DEBUG:cargo::core::registry: load/precise  registry `https://github.com/rust-lang/crates.io-index`
DEBUG:cargo::core::resolver: checking if unicode-xid v0.0.4 is already activated
DEBUG:cargo::core::resolver: checking if synom v0.11.3 is already activated
DEBUG:cargo::core::resolver: checking if quote v0.3.15 is already activated
DEBUG:cargo::core::resolver: checking if syn v0.11.11 is already activated

I was pointed to #4806, but I don't think it is exactly that, since that one mentions pushing forever to a vector and the memory consumption of the process doesn't grow at all. But I didn't get the fix yet from rustup:

$ cargo --version
cargo 0.25.0-nightly (930f9d949 2017-12-05)

This is also happening with beta and stable.

If I comment either slog-json or version-sync from the dev-dependencies, run cargo check, then it works. Afterwards, when I already have Cargo.lock present, I can uncomment it and it continues to work. When I remove Cargo.lock, the problem returns.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions