github / gh-net

A network bridge between a Codespace and a local machine.
https://github.com/github/gh-net
285 stars 21 forks source link

Error: thread '<unnamed>' panicked at 'Job to copy from stream to queue stopped #46

Closed ShreyasRmsft closed 1 year ago

ShreyasRmsft commented 1 year ago

Describe the bug

Trying to run gh net to connect to my codespace gives me the below error the first time I run it

thread '<unnamed>' panicked at 'Job to copy from stream to queue stopped.', D:\a\codespaces-vpn-gateway\codespaces-vpn-gateway\vpn-gateway\src\start_client.rs:258:5                    │
stack backtrace:                                                                                                      │
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.                               │
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\cs-utils-0.21.1\src\utils\futures\with_thread.rs:83:17                             │
stack backtrace:                                                                                                      │
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Then I ran it with RUST_BACKTRACE=full but get the below and then this repeats

PS C:\Windows\System32> gh net
? Choose codespace: github/github (master): potential umbrella
Job to copy from stream to queue stopped.', D:\a\codespaces-vpn-gateway\codespaces-vpn-gateway\vpn-gateway\src\start_client.rs:258:5
stack backtrace:

there is already an installed extension that provides the "net" command
shell closed: exit status 1

   0:     0x7ff77c23dd6f - <unknown>
   1:     0x

Unisntalled the extension and reinstalled it (after a system reboot) and ran it again with RUST_BACKTRACE="full" and got the below error

PS D:\> gh net
? Choose codespace: github/github (master): potential umbrella
' panicked at 'Job to copy from stream to queue stopped.', D:\a\codespaces-vpn-gateway\codespaces-vpn-gateway\vpn-gateway\src\start_client.rs:258:
5there is already an installed extension that provides the "net" command
shell closed: exit status 1

stack backtrace:
   0:     0x7ff6dd5fdd6f - <unknown>
   1:     0x7ff6dd62020a - <unknown>
   2:     0x7ff6dd5f51d9 - <unknown>
   3:     0x7ff6dd60083b - <unknown>
   4:     0x7ff6dd6004bb - <unknown>
   5:     0x7ff6dd600de9 - <unknown>
   6:     0x7ff6dd0fb9ea - <unknown>
   7:     0x7ff6dd0fac97 - <unknown>
   8:     0x7ff6dd63735d - <unknown>
   9:     0x7ff6dd0ba91a - <unknown>
  10:     0x7ff6dd1021cb - <unknown>
  11:     0x7ff6dd114c84 - <unknown>
  12:     0x7ff6dd0fb4a1 - <unknown>
  13:     0x7ff6dd0eaf41 - <unknown>
  14:     0x7ff6dd60c3bc - <unknown>
  15:     0x7ffdfd41244d - BaseThreadInitThunk
  16:     0x7ffdfea4df78 - RtlUserThreadStart

Subsequent runs after this lead to the second error message there is already an installed extension that provides the "net" command mentioned above.

Expected behavior Should have connected to the codespace

Desktop (please complete the following information):

ShreyasRmsft commented 1 year ago

On my Mac Book pro (Intel chip) I can repro the same issue

First attempt after a fresh install: (Apologies for the horrible formatting, this is what I got on the terminal)

thread '<unnamed>' panicked at 'Job to copy from stream to queue stopped.', /Users/runner/work/codespaces-vpn-gateway/codespaces-vpn-gateway/vpn-gateway/src/start_client.rs:258:5
                  stack backtrace:
                                     0:        0x10d6b2804 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h85521558a183f368
    1:        0x10d6d23bb - core::fmt::write::h01631fae0d2b98bc
                                                                  2:        0x10d6ab748 - std::io::Write::write_fmt::h675dde99a2999169
                                                         3:        0x10d6b3f0d - std::panicking::default_hook::{{closure}}::h5e5df492d229fd65
                                                                4:        0x10d6b3c64 - std::panicking::default_hook::h18647b59f1a84ee2
                                                          5:        0x10d6b4448 - std::panicking::rust_panic_with_hook::hd9ead35a68ccc55e
                                                            6:        0x10d1784cb - std::panicking::begin_panic::{{closure}}::haa7e74d84b0a8ef6
                                                                  7:        0x10d177ee9 - std::sys_common::backtrace::__rust_end_short_backtrace::hb3a0c39c0f101d3b
      8:        0x10d6dc2b9 - std::panicking::begin_panic::h1fc32262f442a560
                                                                               9:        0x10d12ea6e - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf2221564df722587
                                              10:        0x10d15c0af - std::thread::local::LocalKey<T>::with::h7afe4b2a3a1aedcc
                                                 11:        0x10d17d984 - tokio::park::thread::CachedParkThread::block_on::h083180e8c219a6af
                                                              12:        0x10d13abd1 - tokio::runtime::handle::Handle::block_on::h479738b818dec192
                                                                    13:        0x10d177f59 - std::sys_common::backtrace::__rust_begin_short_backtrace::h610d218fc7fa1a0d
          14:        0x10d1662c1 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h662fb5a2922aa217
                             15:        0x10d6b9027 - std::sys::unix::thread::Thread::new::thread_start::hf7c5ae502e9a7ed8
                                            16:     0x7ff80c14f4e1 - __pthread_start
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/cs-utils-0.21.1/src/utils/futures/with_thread.rs:83:17
                                             stack backtrace:
                                                                0:        0x10d6b2804 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h85521558a183f368
                               1:        0x10d6d23bb - core::fmt::write::h01631fae0d2b98bc
             2:        0x10d6ab748 - std::io::Write::write_fmt::h675dde99a2999169
    3:        0x10d6b3f0d - std::panicking::default_hook::{{closure}}::h5e5df492d229fd65
           4:        0x10d6b3c64 - std::panicking::default_hook::h18647b59f1a84ee2
     5:        0x10d6b4448 - std::panicking::rust_panic_with_hook::hd9ead35a68ccc55e
       6:        0x10d6b4383 - std::panicking::begin_panic_handler::{{closure}}::h6fca91c5e1dc2f30
                     7:        0x10d6b2c87 - std::sys_common::backtrace::__rust_end_short_backtrace::h4ff3025d9a0a0490
                                         8:        0x10d6b405a - _rust_begin_unwind
      9:        0x10d703193 - core::panicking::panic_fmt::h3d9f795ee387ef8d
                                                                             10:        0x10d703285 - core::result::unwrap_failed::haca1aa19e4c34aab
                                                                      11:        0x10d1275a4 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbea09e5e608dad69
                                      12:        0x10d143ed3 - <futures_util::future::try_maybe_done::TryMaybeDone<Fut> as core::future::future::Future>::poll::h3352fd2e8752a1b2
                   13:        0x10d140abd - <futures_util::future::try_join_all::TryJoinAll<F> as core::future::future::Future>::poll::hbc283584af10a734
                                                                          14:        0x10d10ef20 - vpn_gateway::start_client::start_client::{{closure}}::h1ba419e0e9ed97b8
            15:        0x10d1270a3 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hb855c665a610ca4a
                                                            16:        0x10d13559c - <futures_lite::future::Race<F1,F2> as core::future::future::Future>::poll::hdae2cbaac5701d84
                   17:        0x10d113a23 - gh_extension::cli_commands::arguments::commands::start_command::StartCommand::run::{{closure}}::h8a305e8ab212881d
                                                                               18:        0x10d12b0b9 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hdcae768cb6f53cf2
                                               19:        0x10d15c16f - std::thread::local::LocalKey<T>::with::h93f8dc7fd3906990
                                                  20:        0x10d17dac9 - tokio::park::thread::CachedParkThread::block_on::h1105e9a2c35ad901
                                                               21:        0x10d1521a9 - tokio::runtime::thread_pool::ThreadPool::block_on::ha142c13e65645379
                                                                              22:        0x10d176f96 - tokio::runtime::Runtime::block_on::h28e7bdb69368065a
                                                                             23:        0x10d15346b - gh_extension::main::hdcd3aeb940717ba6
                                                             24:        0x10d178046 - std::sys_common::backtrace::__rust_begin_short_backtrace::h83685ab0ee2d51ed
   25:        0x10d15be2c - std::rt::lang_start::{{closure}}::h4ab2764df956c3ab
                                                                                 26:        0x10d6a443e - std::rt::lang_start_internal::h3fd5cff071397f19
                                                                           27:        0x10d153549 - _main

Second run after the above failure (this repeats for any subsequent run without uninstalling the extension or rebooting):

stack backtrace:

there is already an installed extension that provides the "net" command
shell closed: exit status 1

   0:        0x108c1f804 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h85521558a183f368
   1:        0x108c3f3bb - core::fmt::write::h01631fae0d2b98bc
   2:        0x108c18748 - std::io::Write::write_fmt::h675dde99a2999169
   3:        0x108c20f0d - std::panicking::default_hook::{{closure}}::h5e5df492d229fd65
   4:        0x108c20c64 - std::panicking::default_hook::h18647b59f1a84ee2
   5:        0x108c21448 - std::panicking::rust_panic_with_hook::hd9ead35a68ccc55e
   6:        0x1086e54cb - std::panicking::begin_panic::{{closure}}::haa7e74d84b0a8ef6
   7:        0x1086e4ee9 - std::sys_common::backtrace::__rust_end_short_backtrace::hb3a0c39c0f101d3b
   8:        0x108c492b9 - std::panicking::begin_panic::h1fc32262f442a560
   9:        0x10869ba6e - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf2221564df722587
  10:        0x1086c90af - std::thread::local::LocalKey<T>::with::h7afe4b2a3a1aedcc
  11:        0x1086ea984 - tokio::park::thread::CachedParkThread::block_on::h083180e8c219a6af
  12:        0x1086a7bd1 - tokio::runtime::handle::Handle::block_on::h479738b818dec192
  13:        0x1086e4f59 - std::sys_common::backtrace::__rust_begin_short_backtrace::h610d218fc7fa1a0d
  14:        0x1086d32c1 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h662fb5a2922aa217
  15:        0x108c26027 - std::sys::unix::thread::Thread::new::thread_start::hf7c5ae502e9a7ed8
  16:     0x7ff80c14f4e1 - __pthread_start
legomushroom commented 1 year ago

For anyone who hits this: Remove gh-net extension inside Codespace and try again.

When we connect to a Codespace, we automatically install gh-net there and start it in the "server" mode. Looks like it gets into a bad state sometimes and cannot install/update the gh-net inside Codespace successfully.