Skip to content

Infinite cycle in depgraph resolution #4810

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions