You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If this isn't the latest pip version, have you checked using the latest pip version? no
The version of the bindings you're using, if any (e.g. pyo3, rust-cpython or cffi): pyo3
Does cargo build work? no
If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash /)?
Please list the exact steps required to reproduce your error with all command output and if possible with a repository:
in Cargo.toml, define a dependency using git branch as source, for example: arrow = { git = "https://github.com/apache/arrow.git", branch = "master" }
run maturin develop
Panic with the follow stack trace:
name = 'maturin'
operating_system = 'unix:OSX'
crate_version = '0.9.0-beta.1'
explanation = '''
Panic occurred in file '/Users/qph/.cargo/registry/src/github.jparrowsec.cn-1ecc6299db9ec823/cargo_metadata-0.12.1/src/lib.rs' at line 168
'''
cause = 'no package with this id: PackageId { repr: "arrow 3.0.0-SNAPSHOT (git+https://github.com/apache/arrow.git#6c3547347e9d95f7d0c77d5949cb8fcf6983ca9b)" }'
method = 'Panic'
backtrace = '''
0: 0x1026424ea - rust_begin_unwind
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panicking.rs:483
1: 0x102689e5b - std::panicking::begin_panic_fmt::h7f8479886aec7328
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panicking.rs:437
2: 0x1025f7b92 - <cargo_metadata::Metadata as core::ops::index::Index<&cargo_metadata::PackageId>>::index::{{closure}}::h22a069f31383902b
3: 0x1025f7b3a - <cargo_metadata::Metadata as core::ops::index::Index<&cargo_metadata::PackageId>>::index::h53a9ba61f475a8ed
4: 0x101f9bbbb - maturin::build_options::BuildOptions::into_build_context::hee37aa98654215e0
5: 0x101f64084 - maturin::develop::develop::h427e13b207b306f8
6: 0x101e17269 - maturin::run::h907da620f5efa96d
7: 0x101e1c80e - maturin::main::h86b5ab6e9ae50611
8: 0x101e2573a - std::sys_common::backtrace::__rust_begin_short_backtrace::hfb288adc1e2ec0b1
9: 0x101e2578c - std::rt::lang_start::{{closure}}::h196c5a111fa8c4ea
10: 0x102642e04 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h9057ea904b35cc05
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/core/src/ops/function.rs:259
- std::panicking::try::do_call::h1d4ab8154449bcdb
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panicking.rs:381
- std::panicking::try::h965145e9828a5ce6
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panicking.rs:345
- std::panic::catch_unwind::h654b507ae4f5edb8
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/panic.rs:382
- std::rt::lang_start_internal::h34f975c4b2f9557d
at /rustc/ffa2e7ae8fbf9badc035740db949b9dae271c29f/library/std/src/rt.rs:51
11: 0x101e1cb99 - _main'''
The root cause of this bug is because package ids tracked in cargo_metadata.packages are different from cargo_metadata.resolve when package is using git branch as the source. For example:
in cargo_metadata.packages, the arrow crate is tracked with package id: "arrow 3.0.0-SNAPSHOT (git+https://github.com/apache/arrow.git?branch=master#6c3547347e9d95f7d0c77d5949cb8fcf6983ca9b)".
but in cargo_metadata.resolve, it is tracked as carrow 3.0.0-SNAPSHOT (git+https://github.com/apache/arrow.git#6c3547347e9d95f7d0c77d5949cb8fcf6983ca9b)
Perhaps instead of doing index lookup in build_options::find_bridge, we should implementation our own lookup heuristic to ignore that ?branch=master query string.
The text was updated successfully, but these errors were encountered:
I think the cause for this specific error is cargo removing the master branch from being the hard coded default (see e.g. rust-lang/cargo#8824). I've turned the panic into a warning since I've also seen this happening in other circumstances.
Please provide the following information:
python -V
): Python 3.7.9pip -V
): pip 20.2.4pyo3
,rust-cpython
orcffi
): pyo3cargo build
work? no/
)?Please list the exact steps required to reproduce your error with all command output and if possible with a repository:
arrow = { git = "https://github.com/apache/arrow.git", branch = "master" }
maturin develop
Panic with the follow stack trace:
The root cause of this bug is because package ids tracked in
cargo_metadata.packages
are different fromcargo_metadata.resolve
when package is using git branch as the source. For example:cargo_metadata.packages
, the arrow crate is tracked with package id:"arrow 3.0.0-SNAPSHOT (git+https://github.com/apache/arrow.git?branch=master#6c3547347e9d95f7d0c77d5949cb8fcf6983ca9b)"
.cargo_metadata.resolve
, it is tracked ascarrow 3.0.0-SNAPSHOT (git+https://github.com/apache/arrow.git#6c3547347e9d95f7d0c77d5949cb8fcf6983ca9b)
Because cargo_metadata's index implementation is doing simple string equality check, it simply panics when the package id from resolve is used as the index: https://github.com/oli-obk/cargo_metadata/blob/596fb658bfa796de3706833a118b6952e6e6be01/src/lib.rs#L167.
Perhaps instead of doing index lookup in
build_options::find_bridge
, we should implementation our own lookup heuristic to ignore that?branch=master
query string.The text was updated successfully, but these errors were encountered: