Skip to content

Assertion failed when fetching from gitweb: "Naive always finishes after the first round" #812

Closed
@g2p

Description

@g2p

Duplicates

  • I have searched the existing issues

Current behavior 😯

I'm using the gix command to fetch from many repositories, which is a welcome speed boost, but some of them consistently fail. They seem to be served by gitweb.

Expected behavior 🤔

gix fetch fetches

Steps to reproduce 🕹

  1. Clone from a gitweb served repository (ideally high-traffic to help with the next step; https://erol.kernel.org/?s=idle has some) using Git (2.39.2 works).
  2. Wait for upstream commits to show up
  3. Try to fetch commits using gix (released version or current git main).

I get this assert:

RUST_BACKTRACE=1 ~/src/github.com/Byron/gitoxide/target/debug/gix -c http.sslVersion=tlsv1.2 -c http.sslCAInfo=/etc/ssl/certs/ca-certificates.crt --no-verbose fetch 
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `2`,
 right: `1`: Naive always finishes after the first round, it claims.', gix/src/remote/connection/fetch/negotiate.rs:43:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/panicking.rs:64:14
   2: core::panicking::assert_failed_inner
   3: core::panicking::assert_failed
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/panicking.rs:212:5
   4: gix::remote::connection::fetch::negotiate::one_round
             at /home/g2p/src/github.com/Byron/gitoxide/gix/src/remote/connection/fetch/negotiate.rs:43:13
   5: gix::remote::connection::fetch::receive_pack::<impl gix::remote::connection::fetch::Prepare<T,P>>::receive
             at /home/g2p/src/github.com/Byron/gitoxide/gix/src/remote/connection/fetch/receive_pack.rs:114:33
   6: gitoxide_core::repository::fetch::function::fetch
             at /home/g2p/src/github.com/Byron/gitoxide/gitoxide-core/src/repository/fetch.rs:51:48
   7: gix::plumbing::main::main::{{closure}}
             at /home/g2p/src/github.com/Byron/gitoxide/src/plumbing/main.rs:175:21
   8: gix::shared::pretty::prepare_and_run
             at /home/g2p/src/github.com/Byron/gitoxide/src/shared.rs:116:31
   9: gix::plumbing::main::main
             at /home/g2p/src/github.com/Byron/gitoxide/src/plumbing/main.rs:168:13
  10: gix::main
             at /home/g2p/src/github.com/Byron/gitoxide/src/gix.rs:17:5
  11: core::ops::function::FnOnce::call_once
             at /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/ops/function.rs:250:5

Metadata

Metadata

Assignees

No one assigned

    Labels

    acknowledgedan issue is accepted as shortcoming to be fixed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions