[INFO] cloning repository https://github.com/rapiz1/rathole [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rapiz1/rathole" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frapiz1%2Frathole", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frapiz1%2Frathole'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5a9dd6d939744859af322aeff7fd60f7483a68bc [INFO] testing rapiz1/rathole against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frapiz1%2Frathole" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain [INFO] started tweaking git repo https://github.com/rapiz1/rathole [INFO] finished tweaking git repo https://github.com/rapiz1/rathole [INFO] tweaked toml for git repo https://github.com/rapiz1/rathole written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rapiz1/rathole on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rapiz1/rathole already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1765a76a32e0b64dd494ffe2eb3f55a5b8d545e6ef2b56428eb7eac315842eb6 [INFO] running `Command { std: "docker" "start" "-a" "1765a76a32e0b64dd494ffe2eb3f55a5b8d545e6ef2b56428eb7eac315842eb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1765a76a32e0b64dd494ffe2eb3f55a5b8d545e6ef2b56428eb7eac315842eb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1765a76a32e0b64dd494ffe2eb3f55a5b8d545e6ef2b56428eb7eac315842eb6", kill_on_drop: false }` [INFO] [stdout] 1765a76a32e0b64dd494ffe2eb3f55a5b8d545e6ef2b56428eb7eac315842eb6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9121941727a371b7f247f3224cbf42718fea6eb16db5d8d085efa8eaedac105 [INFO] running `Command { std: "docker" "start" "-a" "c9121941727a371b7f247f3224cbf42718fea6eb16db5d8d085efa8eaedac105", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling cpufeatures v0.2.9 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling semver v1.0.19 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling socket2 v0.5.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling libz-sys v1.1.12 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling libgit2-sys v0.14.2+1.5.1 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling platforms v3.1.2 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling vergen v7.5.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling thiserror-impl v1.0.49 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling enum-iterator-derive v1.2.1 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling enum-iterator v1.4.1 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling clap_derive v3.2.25 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling tracing-log v0.1.3 [INFO] [stderr] Compiling sharded-slab v0.1.6 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling notify v5.2.0 [INFO] [stderr] Compiling fdlimit v0.2.1 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling snowstorm v0.4.0 [INFO] [stderr] Compiling async-http-proxy v1.2.5 [INFO] [stderr] Compiling backoff v0.4.0 [INFO] [stderr] Compiling async-socks5 v0.5.1 [INFO] [stderr] Compiling tokio-util v0.7.9 [INFO] [stderr] Compiling git2 v0.16.1 [INFO] [stderr] Compiling rathole v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/transport/noise.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] running `Command { std: "docker" "inspect" "c9121941727a371b7f247f3224cbf42718fea6eb16db5d8d085efa8eaedac105", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9121941727a371b7f247f3224cbf42718fea6eb16db5d8d085efa8eaedac105", kill_on_drop: false }` [INFO] [stdout] c9121941727a371b7f247f3224cbf42718fea6eb16db5d8d085efa8eaedac105 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e760ce63f8ac2976a82ad0de7b1223f9f57dcbdb30ad46c2fbf56fe46e5e7361 [INFO] running `Command { std: "docker" "start" "-a" "e760ce63f8ac2976a82ad0de7b1223f9f57dcbdb30ad46c2fbf56fe46e5e7361", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling cpufeatures v0.2.9 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling socket2 v0.5.4 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling vergen v7.5.1 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Compiling libz-sys v1.1.12 [INFO] [stderr] Compiling libgit2-sys v0.14.2+1.5.1 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling sharded-slab v0.1.6 [INFO] [stderr] Compiling tracing-log v0.1.3 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling async-http-proxy v1.2.5 [INFO] [stderr] Compiling notify v5.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling backoff v0.4.0 [INFO] [stderr] Compiling snowstorm v0.4.0 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling async-socks5 v0.5.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-util v0.7.9 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling fdlimit v0.2.1 [INFO] [stderr] Compiling git2 v0.16.1 [INFO] [stderr] Compiling rathole v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/transport/noise.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/transport/noise.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/transport/noise.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "e760ce63f8ac2976a82ad0de7b1223f9f57dcbdb30ad46c2fbf56fe46e5e7361", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e760ce63f8ac2976a82ad0de7b1223f9f57dcbdb30ad46c2fbf56fe46e5e7361", kill_on_drop: false }` [INFO] [stdout] e760ce63f8ac2976a82ad0de7b1223f9f57dcbdb30ad46c2fbf56fe46e5e7361 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fcf533749bd719973f57ac7c75802260c05bd694ec5dca788f482af232990255 [INFO] running `Command { std: "docker" "start" "-a" "fcf533749bd719973f57ac7c75802260c05bd694ec5dca788f482af232990255", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/transport/noise.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | fn builder(&self) -> Builder { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `rathole` (lib) generated 1 warning (run `cargo fix --lib -p rathole` to apply 1 suggestion) [INFO] [stderr] warning: `rathole` (lib) generated 1 warning (1 duplicate) [INFO] [stderr] warning: `rathole` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rathole-69b24cc9095e4e22) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test tests::test_determine_run_mode ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rathole-ce5dc713ff9df7eb) [INFO] [stdout] test config::tests::test_validate_client_config ... ok [INFO] [stdout] test config::tests::test_example_config ... ok [INFO] [stdout] test config::tests::test_invalid_config ... ok [INFO] [stdout] test config::tests::test_valid_config ... ok [INFO] [stdout] test config::tests::test_validate_server_config ... ok [INFO] [stdout] test config_watcher::test::test_calculate_events ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-dcd978cce0a37712) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] 2026-01-08T11:48:21.768880Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:21.769520Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:21.771784Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:21.771970Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:21.772215Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:21.772435Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:21.772325Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:21.773185Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 536.125099ms... [INFO] [stdout] 2026-01-08T11:48:21.773319Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:21.773782Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 459.295998ms... [INFO] [stdout] 2026-01-08T11:48:21.774018Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 420.309547ms... [INFO] [stdout] 2026-01-08T11:48:21.774272Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 561.92399ms... [INFO] [stdout] 2026-01-08T11:48:22.197126Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 1.10379744s... [INFO] [stdout] 2026-01-08T11:48:22.234818Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 872.186912ms... [INFO] [stdout] 2026-01-08T11:48:22.311209Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 855.461696ms... [INFO] [stdout] 2026-01-08T11:48:22.336806Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 957.960824ms... [INFO] [stdout] 2026-01-08T11:48:22.769887Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:22.770886Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:22.772052Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:22.772362Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:22.777536Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:22.777728Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:23.108963Z  INFO connection{addr=127.0.0.1:42048}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:23.109354Z  INFO connection{addr=127.0.0.1:42048}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:23.109647Z  INFO connection{addr=127.0.0.1:42048}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:23.109905Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:23.168363Z  INFO connection{addr=127.0.0.1:37948}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:23.168680Z  INFO connection{addr=127.0.0.1:37948}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:23.169363Z  INFO connection{addr=127.0.0.1:37948}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:23.169469Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:23.303284Z  INFO connection{addr=127.0.0.1:42088}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:23.303713Z  INFO connection{addr=127.0.0.1:42088}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:23.303989Z  INFO connection{addr=127.0.0.1:42088}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:23.304237Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:23.304033Z  INFO connection{addr=127.0.0.1:38022}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:23.307945Z  INFO connection{addr=127.0.0.1:38022}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:23.315717Z  INFO connection{addr=127.0.0.1:38022}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:23.315819Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:25.271838Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:25.271997Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:25.274146Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:25.279436Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:25.282732Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:25.282950Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.283081Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.283233Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:25.284486Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:25.284631Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:25.284734Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:25.285477Z  INFO connection{addr=127.0.0.1:42098}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:25.285601Z  INFO connection{addr=127.0.0.1:42112}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:25.285993Z  WARN connection{addr=127.0.0.1:42098}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:25.286047Z  INFO connection{addr=127.0.0.1:42098}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:25.286236Z  WARN connection{addr=127.0.0.1:42112}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:25.286287Z  INFO connection{addr=127.0.0.1:42112}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:25.286541Z  INFO connection{addr=127.0.0.1:42088}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.286751Z  INFO connection{addr=127.0.0.1:42098}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:25.287354Z  INFO connection{addr=127.0.0.1:42048}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.287517Z  INFO connection{addr=127.0.0.1:42112}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:25.287741Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:25.287863Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:25.288062Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:25.288218Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.288332Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:25.288448Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.314479Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:25.347199Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:25.347354Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:25.347610Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.347857Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.348267Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:25.349321Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:25.351776Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:25.351863Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:25.352614Z  INFO connection{addr=127.0.0.1:38146}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:25.352753Z  INFO connection{addr=127.0.0.1:38162}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:25.353221Z  WARN connection{addr=127.0.0.1:38146}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:25.353273Z  INFO connection{addr=127.0.0.1:38146}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:25.353418Z  WARN connection{addr=127.0.0.1:38162}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:25.353466Z  INFO connection{addr=127.0.0.1:38162}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:25.353616Z  INFO connection{addr=127.0.0.1:38022}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.353766Z  INFO connection{addr=127.0.0.1:38022}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:25.354056Z  INFO connection{addr=127.0.0.1:37948}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:25.354167Z  INFO connection{addr=127.0.0.1:37948}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:25.354447Z  INFO connection{addr=127.0.0.1:38022}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:25.354812Z  INFO connection{addr=127.0.0.1:38146}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:25.354900Z  INFO connection{addr=127.0.0.1:37948}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:25.355180Z  INFO connection{addr=127.0.0.1:38162}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:25.355348Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:25.357881Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:25.358205Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.358384Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.358552Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.358753Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.358922Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359088Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359266Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359428Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359599Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359782Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.359943Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.360100Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.360270Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.360438Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.361796Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:25.361975Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.283928Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:26.285898Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:26.287352Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:26.287414Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:26.288848Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:26.288867Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:26.289053Z  INFO connection{addr=127.0.0.1:42098}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:26.289243Z  INFO connection{addr=127.0.0.1:42112}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:26.289377Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:26.289518Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:26.289659Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.289845Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 504.883499ms... [INFO] [stdout] 2026-01-08T11:48:26.289941Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:26.290061Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.290228Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 441.683531ms... [INFO] [stdout] 2026-01-08T11:48:26.291877Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:26.292017Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:26.349921Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:26.381175Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:26.408559Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:26.408723Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:26.408949Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:26.409001Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:26.409124Z  INFO connection{addr=127.0.0.1:38146}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:26.409278Z  INFO connection{addr=127.0.0.1:38146}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:26.409403Z  INFO connection{addr=127.0.0.1:38162}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:26.410272Z  INFO connection{addr=127.0.0.1:38162}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:26.410843Z  INFO connection{addr=127.0.0.1:38146}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:26.411414Z  INFO connection{addr=127.0.0.1:38162}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:26.412017Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:26.412495Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 593.361312ms... [INFO] [stdout] 2026-01-08T11:48:26.413195Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 507.49751ms... [INFO] [stdout] 2026-01-08T11:48:26.413507Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.414578Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.415292Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.415712Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.416141Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.416486Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.416708Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.416934Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.417350Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.418169Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.418976Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.419423Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.419747Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.420108Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.420708Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.421249Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:26.427328Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:26.427977Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:26.733467Z  INFO connection{addr=127.0.0.1:42158}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:26.733812Z  INFO connection{addr=127.0.0.1:42158}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:26.734006Z  INFO connection{addr=127.0.0.1:42158}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:26.734190Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:26.796387Z  INFO connection{addr=127.0.0.1:42202}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:26.796695Z  INFO connection{addr=127.0.0.1:42202}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:26.796896Z  INFO connection{addr=127.0.0.1:42202}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:26.797069Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:26.922448Z  INFO connection{addr=127.0.0.1:38352}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:26.923973Z  INFO connection{addr=127.0.0.1:38352}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:26.924429Z  INFO connection{addr=127.0.0.1:38352}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:26.924572Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:27.007494Z  INFO connection{addr=127.0.0.1:38442}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:27.007906Z  INFO connection{addr=127.0.0.1:38442}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:27.008432Z  INFO connection{addr=127.0.0.1:38442}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:27.008659Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:28.804806Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:28.809389Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:28.809525Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:28.809660Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:28.810042Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:28.810101Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:28.810483Z  INFO connection{addr=127.0.0.1:42158}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.810747Z  INFO connection{addr=127.0.0.1:42202}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.810862Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.810977Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.811148Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:28.811290Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:28.811433Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:28.811544Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:28.811680Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:28.817094Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:28.880304Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:28.880690Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:28.881264Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 428.672679ms... [INFO] [stdout] 2026-01-08T11:48:28.881536Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 409.51238ms... [INFO] [stdout] 2026-01-08T11:48:28.912980Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:28.997684Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:28.998107Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:28.998418Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:28.998915Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:28.998986Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:28.999269Z  INFO connection{addr=127.0.0.1:38352}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.999518Z  INFO connection{addr=127.0.0.1:38352}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:28.999748Z  INFO connection{addr=127.0.0.1:38442}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:28.999909Z  INFO connection{addr=127.0.0.1:38442}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:29.000168Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:29.000416Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:29.000651Z  INFO connection{addr=127.0.0.1:38352}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:29.001038Z  INFO connection{addr=127.0.0.1:38442}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:29.001510Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:29.001945Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.002229Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.002498Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.002875Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.003147Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.003421Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.003715Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.003984Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.004250Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.004516Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.004782Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.005047Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.005308Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.005570Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.005833Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.006092Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:29.008702Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:29.058118Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:29.058376Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:29.059373Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 509.294639ms... [INFO] [stdout] 2026-01-08T11:48:29.059663Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 519.820683ms... [INFO] [stdout] 2026-01-08T11:48:29.292756Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 993.97081ms... [INFO] [stdout] 2026-01-08T11:48:29.311203Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 837.201751ms... [INFO] [stdout] 2026-01-08T11:48:29.570261Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 869.323026ms... [INFO] [stdout] 2026-01-08T11:48:29.580833Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 1.104725051s... [INFO] [stdout] 2026-01-08T11:48:29.811999Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:29.813226Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:29.881999Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:30.002552Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:30.003805Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:30.054615Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:30.155762Z  INFO connection{addr=127.0.0.1:35302}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:30.156185Z  INFO connection{addr=127.0.0.1:35302}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:30.156404Z  INFO connection{addr=127.0.0.1:35302}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:30.156700Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:30.291404Z  INFO connection{addr=127.0.0.1:35336}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:30.291828Z  INFO connection{addr=127.0.0.1:35336}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:30.292053Z  INFO connection{addr=127.0.0.1:35336}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:30.292295Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:30.445262Z  INFO connection{addr=127.0.0.1:55662}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:30.445631Z  INFO connection{addr=127.0.0.1:55662}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:30.446098Z  INFO connection{addr=127.0.0.1:55662}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:30.446201Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:30.693712Z  INFO connection{addr=127.0.0.1:55752}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:30.694096Z  INFO connection{addr=127.0.0.1:55752}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:30.694509Z  INFO connection{addr=127.0.0.1:55752}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:30.694620Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:32.312924Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:32.315908Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:32.318352Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:32.318473Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:32.318774Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.319021Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.319264Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:32.320706Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:32.368419Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:32.368683Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:32.373916Z  INFO connection{addr=127.0.0.1:35372}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:32.375515Z  WARN connection{addr=127.0.0.1:35372}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:32.375628Z  INFO connection{addr=127.0.0.1:35372}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:32.376197Z  INFO connection{addr=127.0.0.1:35302}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.376456Z  INFO connection{addr=127.0.0.1:35372}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:32.376749Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:32.377115Z  INFO connection{addr=127.0.0.1:35380}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:32.377416Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:32.377851Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.378912Z  WARN connection{addr=127.0.0.1:35380}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:32.379107Z  INFO connection{addr=127.0.0.1:35380}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:32.380624Z  INFO connection{addr=127.0.0.1:35336}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.381218Z  INFO connection{addr=127.0.0.1:35380}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:32.381694Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:32.383076Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:32.386904Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.503952Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:32.547068Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:32.580435Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:32.580606Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:32.580924Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.581167Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.581411Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:32.582988Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:32.630943Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:32.631210Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:32.637083Z  INFO connection{addr=127.0.0.1:55858}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:32.639288Z  WARN connection{addr=127.0.0.1:55858}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:32.639844Z  INFO connection{addr=127.0.0.1:55858}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:32.640883Z  INFO connection{addr=127.0.0.1:55752}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.641907Z  INFO connection{addr=127.0.0.1:55752}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:32.643143Z  INFO connection{addr=127.0.0.1:55752}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:32.644414Z  INFO connection{addr=127.0.0.1:55858}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:32.645410Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:32.646429Z  INFO connection{addr=127.0.0.1:55872}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:32.647353Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.648211Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.649051Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.649967Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.650777Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.651543Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.651922Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.652251Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.655306Z  WARN connection{addr=127.0.0.1:55872}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:32.655428Z  INFO connection{addr=127.0.0.1:55872}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:32.657224Z  INFO connection{addr=127.0.0.1:55662}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:32.657451Z  INFO connection{addr=127.0.0.1:55662}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:32.658006Z  INFO connection{addr=127.0.0.1:55662}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:32.658567Z  INFO connection{addr=127.0.0.1:55872}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:32.658828Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:32.660445Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.660755Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.661041Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.661695Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.662291Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.662589Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.662896Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:32.664289Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.325793Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:33.328286Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:33.330084Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:33.330152Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:33.330280Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:33.330299Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:33.331757Z  INFO connection{addr=127.0.0.1:35380}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:33.332031Z  INFO connection{addr=127.0.0.1:35372}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:33.332244Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:33.332431Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:33.332638Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.332898Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 538.092108ms... [INFO] [stdout] 2026-01-08T11:48:33.333059Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:33.333254Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.333485Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 442.484142ms... [INFO] [stdout] 2026-01-08T11:48:33.336175Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:33.384603Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:33.582891Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:33.628382Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:33.666843Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:33.667064Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:33.667352Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:33.667409Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:33.668796Z  INFO connection{addr=127.0.0.1:55872}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:33.669080Z  INFO connection{addr=127.0.0.1:55872}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:33.669270Z  INFO connection{addr=127.0.0.1:55858}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:33.669472Z  INFO connection{addr=127.0.0.1:55858}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:33.669600Z  INFO connection{addr=127.0.0.1:55872}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:33.670091Z  INFO connection{addr=127.0.0.1:55858}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:33.670603Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:33.671455Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 416.625644ms... [INFO] [stdout] 2026-01-08T11:48:33.671794Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 583.914017ms... [INFO] [stdout] 2026-01-08T11:48:33.672063Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.672333Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.672599Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.672864Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.673386Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.673637Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.673902Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.674159Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.674425Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.674698Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.674988Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.675261Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.675522Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.675803Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.676052Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.676320Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:33.680736Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:33.730039Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:33.782572Z  INFO connection{addr=127.0.0.1:35430}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:33.783458Z  INFO connection{addr=127.0.0.1:35430}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:33.783684Z  INFO connection{addr=127.0.0.1:35430}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:33.784417Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:33.875397Z  INFO connection{addr=127.0.0.1:35456}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:33.877795Z  INFO connection{addr=127.0.0.1:35456}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:33.878991Z  INFO connection{addr=127.0.0.1:35456}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:33.879689Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:34.094587Z  INFO connection{addr=127.0.0.1:56048}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:34.094964Z  INFO connection{addr=127.0.0.1:56048}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:34.095483Z  INFO connection{addr=127.0.0.1:56048}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:34.095640Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:34.260629Z  INFO connection{addr=127.0.0.1:56124}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:34.263030Z  INFO connection{addr=127.0.0.1:56124}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:34.263450Z  INFO connection{addr=127.0.0.1:56124}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:34.263561Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:35.832905Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:35.838410Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:35.838476Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:35.838574Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:35.838735Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:35.838751Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:35.842524Z  INFO connection{addr=127.0.0.1:35430}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:35.842806Z  INFO connection{addr=127.0.0.1:35456}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:35.842969Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:35.843144Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:35.843343Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:35.843488Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:35.843659Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:35.843814Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:35.848728Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:35.850271Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:35.850662Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:35.850794Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:35.851144Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Failed to connect TCP socket: Connection refused (os error 111). Retry in 532.477201ms... [INFO] [stdout] 2026-01-08T11:48:35.851289Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Failed to connect TCP socket: Connection refused (os error 111). Retry in 542.691863ms... [INFO] [stdout] 2026-01-08T11:48:36.171920Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:36.303242Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:36.303547Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:36.303730Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:36.303927Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:36.303986Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:36.305277Z  INFO connection{addr=127.0.0.1:56124}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:36.305489Z  INFO connection{addr=127.0.0.1:56124}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:36.305620Z  INFO connection{addr=127.0.0.1:56048}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:36.305833Z  INFO connection{addr=127.0.0.1:56048}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:36.306231Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:36.306475Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:36.306699Z  INFO connection{addr=127.0.0.1:56124}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:36.307090Z  INFO connection{addr=127.0.0.1:56048}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:36.307560Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:36.308008Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.308272Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.308522Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.308775Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.309015Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.309262Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.309502Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.309750Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.309999Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.310251Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.310498Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.310751Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.311001Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.311248Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.311492Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.311748Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:36.313239Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:36.313692Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:36.313851Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:36.314535Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Failed to connect TCP socket: Connection refused (os error 111). Retry in 559.854676ms... [INFO] [stdout] 2026-01-08T11:48:36.314747Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Failed to connect TCP socket: Connection refused (os error 111). Retry in 402.594998ms... [INFO] [stdout] 2026-01-08T11:48:36.385295Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Failed to connect TCP socket: Connection refused (os error 111). Retry in 983.688891ms... [INFO] [stdout] 2026-01-08T11:48:36.395900Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Failed to connect TCP socket: Connection refused (os error 111). Retry in 865.656105ms... [INFO] [stdout] 2026-01-08T11:48:36.721192Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Failed to connect TCP socket: Connection refused (os error 111). Retry in 1.037808052s... [INFO] [stdout] 2026-01-08T11:48:36.844662Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:36.850708Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:36.850953Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:36.880090Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Failed to connect TCP socket: Connection refused (os error 111). Retry in 1.071034603s... [INFO] [stdout] 2026-01-08T11:48:37.273739Z  INFO connection{addr=127.0.0.1:35518}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:37.274837Z  INFO connection{addr=127.0.0.1:35518}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:37.275069Z  INFO connection{addr=127.0.0.1:35518}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:37.275570Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:37.316776Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:37.321708Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:37.321924Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:37.375806Z  INFO connection{addr=127.0.0.1:35562}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:37.377246Z  INFO connection{addr=127.0.0.1:35562}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:37.377472Z  INFO connection{addr=127.0.0.1:35562}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:37.378364Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:37.779360Z  INFO connection{addr=127.0.0.1:56234}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:37.780187Z  INFO connection{addr=127.0.0.1:56234}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:37.781416Z  INFO connection{addr=127.0.0.1:56234}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:37.781617Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:37.957277Z  INFO connection{addr=127.0.0.1:56326}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:37.958018Z  INFO connection{addr=127.0.0.1:56326}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:37.959093Z  INFO connection{addr=127.0.0.1:56326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:37.959277Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:39.349788Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:39.358624Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:39.363824Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:39.363905Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:39.364199Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:39.364973Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:39.365096Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:39.368500Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:39.368881Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:39.368965Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:39.379198Z  INFO connection{addr=127.0.0.1:49506}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:39.381032Z  INFO connection{addr=127.0.0.1:49520}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:39.381398Z  WARN connection{addr=127.0.0.1:49506}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:39.381539Z  INFO connection{addr=127.0.0.1:49506}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:39.382072Z  INFO connection{addr=127.0.0.1:35562}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:39.382258Z  INFO connection{addr=127.0.0.1:49506}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:39.382704Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:39.383143Z  WARN connection{addr=127.0.0.1:49520}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:39.383294Z  INFO connection{addr=127.0.0.1:49520}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:39.383477Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:39.383618Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:39.383949Z  INFO connection{addr=127.0.0.1:35518}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:39.384096Z  INFO connection{addr=127.0.0.1:49520}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:39.384542Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:39.391474Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:39.391778Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:39.817890Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:40.039855Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:40.114627Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:40.114764Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:40.114963Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.115167Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.115317Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:40.119702Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:40.120089Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:40.120218Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:40.129936Z  INFO connection{addr=127.0.0.1:34702}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:40.131756Z  INFO connection{addr=127.0.0.1:34714}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:40.132164Z  WARN connection{addr=127.0.0.1:34702}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:40.132356Z  INFO connection{addr=127.0.0.1:34702}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:40.132797Z  INFO connection{addr=127.0.0.1:56326}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.132938Z  INFO connection{addr=127.0.0.1:56326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:40.134077Z  INFO connection{addr=127.0.0.1:56326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:40.134377Z  INFO connection{addr=127.0.0.1:34702}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:40.134603Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:40.135810Z  WARN connection{addr=127.0.0.1:34714}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:40.135986Z  INFO connection{addr=127.0.0.1:34714}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:40.136215Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.136385Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.136541Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.136708Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.140811Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.141010Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.141175Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.141349Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.142002Z  INFO connection{addr=127.0.0.1:56234}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.142173Z  INFO connection{addr=127.0.0.1:56234}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:40.143292Z  INFO connection{addr=127.0.0.1:56234}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:40.143599Z  INFO connection{addr=127.0.0.1:34714}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:40.143880Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:40.156704Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.156892Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157071Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157236Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157398Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157551Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157727Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.157893Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.365917Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:40.372642Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:40.382000Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:40.382100Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:40.382263Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:40.382290Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:40.382509Z  INFO connection{addr=127.0.0.1:49506}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.382739Z  INFO connection{addr=127.0.0.1:49520}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:40.382890Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:40.383049Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:40.383258Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.383466Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 516.335989ms... [INFO] [stdout] 2026-01-08T11:48:40.383598Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:40.383755Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:40.383955Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 505.217259ms... [INFO] [stdout] 2026-01-08T11:48:40.385045Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:40.385236Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:40.895172Z  INFO connection{addr=127.0.0.1:49562}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:40.895982Z  INFO connection{addr=127.0.0.1:49562}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:40.896210Z  INFO connection{addr=127.0.0.1:49562}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:40.896727Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:40.914425Z  INFO connection{addr=127.0.0.1:49590}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:40.915243Z  INFO connection{addr=127.0.0.1:49590}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:40.915491Z  INFO connection{addr=127.0.0.1:49590}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:40.915992Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:41.116930Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:41.327525Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:41.409549Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:41.409746Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:41.410102Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:41.410308Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:41.410509Z  INFO connection{addr=127.0.0.1:34702}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:41.410660Z  INFO connection{addr=127.0.0.1:34702}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:41.410904Z  INFO connection{addr=127.0.0.1:34714}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:41.411045Z  INFO connection{addr=127.0.0.1:34714}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:41.411388Z  INFO connection{addr=127.0.0.1:34702}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:41.411686Z  INFO connection{addr=127.0.0.1:34714}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:41.412024Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:41.412312Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 466.564002ms... [INFO] [stdout] 2026-01-08T11:48:41.412498Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 404.438176ms... [INFO] [stdout] 2026-01-08T11:48:41.412656Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.412839Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413000Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413154Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413317Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413467Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413623Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413793Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.413954Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.414125Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.414297Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.414451Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.414722Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.414903Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.415071Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.415537Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:41.417299Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:41.418208Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:41.826183Z  INFO connection{addr=127.0.0.1:34908}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:41.827071Z  INFO connection{addr=127.0.0.1:34908}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:41.828331Z  INFO connection{addr=127.0.0.1:34908}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:41.828955Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:41.887305Z  INFO connection{addr=127.0.0.1:35012}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:41.888519Z  INFO connection{addr=127.0.0.1:35012}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:41.889634Z  INFO connection{addr=127.0.0.1:35012}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:41.890205Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:42.884582Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:42.903614Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:42.903710Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:42.903854Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:42.904012Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:42.904058Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:42.904304Z  INFO connection{addr=127.0.0.1:49562}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:42.904536Z  INFO connection{addr=127.0.0.1:49590}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:42.904706Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:42.904842Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:42.905045Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:42.905232Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:42.905381Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:42.905546Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:48:42.905736Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:42.906727Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:42.906831Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:42.906960Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:42.907343Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 435.410298ms... [INFO] [stdout] 2026-01-08T11:48:42.907516Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 542.869334ms... [INFO] [stdout] 2026-01-08T11:48:43.344606Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 1.153318109s... [INFO] [stdout] 2026-01-08T11:48:43.451142Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 816.5249ms... [INFO] [stdout] 2026-01-08T11:48:43.905818Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:43.906945Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:43.907112Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:43.912563Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:44.270750Z  INFO connection{addr=127.0.0.1:49632}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:44.271090Z  INFO connection{addr=127.0.0.1:49632}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:44.271350Z  INFO connection{addr=127.0.0.1:49632}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:44.271580Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:44.273087Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:44.273231Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:44.273332Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:44.273453Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:44.273469Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:44.273589Z  INFO connection{addr=127.0.0.1:35012}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:44.273796Z  INFO connection{addr=127.0.0.1:35012}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:44.273930Z  INFO connection{addr=127.0.0.1:34908}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:44.274076Z  INFO connection{addr=127.0.0.1:34908}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:44.274234Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:44.274396Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:44.274542Z  INFO connection{addr=127.0.0.1:35012}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:44.274824Z  INFO connection{addr=127.0.0.1:34908}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:44.275203Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:44.275517Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.275722Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.275900Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276072Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276249Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276429Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276592Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276777Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.276947Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277114Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277292Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277459Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277617Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277798Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.277961Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.278447Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:48:44.279599Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:44.279720Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:44.279809Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:44.280529Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 546.851375ms... [INFO] [stdout] 2026-01-08T11:48:44.280684Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 487.013557ms... [INFO] [stdout] 2026-01-08T11:48:44.499749Z  INFO connection{addr=127.0.0.1:49654}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:44.500105Z  INFO connection{addr=127.0.0.1:49654}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:44.500282Z  INFO connection{addr=127.0.0.1:49654}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:44.500511Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:44.769757Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 889.637754ms... [INFO] [stdout] 2026-01-08T11:48:44.829509Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 1.127660699s... [INFO] [stdout] 2026-01-08T11:48:45.276198Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:45.277136Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:45.277300Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:45.662018Z  INFO connection{addr=127.0.0.1:35154}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:45.662347Z  INFO connection{addr=127.0.0.1:35154}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:45.662746Z  INFO connection{addr=127.0.0.1:35154}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:45.662854Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:45.959056Z  INFO connection{addr=127.0.0.1:35250}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:45.959444Z  INFO connection{addr=127.0.0.1:35250}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:45.959883Z  INFO connection{addr=127.0.0.1:35250}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:45.960016Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:46.407121Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:46.409912Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:46.412105Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:46.412180Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:46.412549Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:46.412656Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:46.412950Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:46.414285Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:46.414404Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:46.414485Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:46.415989Z  INFO connection{addr=127.0.0.1:49680}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:46.416357Z  INFO connection{addr=127.0.0.1:49692}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:46.416633Z  WARN connection{addr=127.0.0.1:49680}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:46.416716Z  INFO connection{addr=127.0.0.1:49680}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:46.417064Z  INFO connection{addr=127.0.0.1:49654}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:46.417241Z  INFO connection{addr=127.0.0.1:49680}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:46.417455Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:46.417631Z  WARN connection{addr=127.0.0.1:49692}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:46.417857Z  INFO connection{addr=127.0.0.1:49692}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:46.418256Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:46.418420Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:46.418828Z  INFO connection{addr=127.0.0.1:49632}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:46.418994Z  INFO connection{addr=127.0.0.1:49692}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:46.419200Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:46.419821Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:46.419970Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.413988Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:47.416335Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:47.418923Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:47.419032Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:47.419283Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:47.419470Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:47.419757Z  INFO connection{addr=127.0.0.1:49680}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.420026Z  INFO connection{addr=127.0.0.1:49692}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.420237Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:47.420462Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.420696Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.421026Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 431.874324ms... [INFO] [stdout] 2026-01-08T11:48:47.421347Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.421595Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.421837Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 578.339522ms... [INFO] [stdout] 2026-01-08T11:48:47.422967Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:47.423175Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:47.776916Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:47.830217Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:47.854834Z  INFO connection{addr=127.0.0.1:49732}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:47.855323Z  INFO connection{addr=127.0.0.1:49732}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:47.855687Z  INFO connection{addr=127.0.0.1:49732}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:47.855978Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:47.863826Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:47.863932Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:47.864156Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.864306Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.864857Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:47.866791Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:47.866926Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:47.867047Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:47.868526Z  INFO connection{addr=127.0.0.1:35332}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:47.868954Z  INFO connection{addr=127.0.0.1:35334}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:47.869177Z  WARN connection{addr=127.0.0.1:35332}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:47.869318Z  INFO connection{addr=127.0.0.1:35332}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:47.869713Z  INFO connection{addr=127.0.0.1:35250}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.870884Z  INFO connection{addr=127.0.0.1:35250}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:47.871298Z  INFO connection{addr=127.0.0.1:35250}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:47.871654Z  INFO connection{addr=127.0.0.1:35332}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:47.871884Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:47.872340Z  WARN connection{addr=127.0.0.1:35334}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:47.872443Z  INFO connection{addr=127.0.0.1:35334}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:47.872763Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.873004Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.873226Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.873445Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.873777Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.873997Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.874209Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.874418Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.875401Z  INFO connection{addr=127.0.0.1:35154}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:47.875590Z  INFO connection{addr=127.0.0.1:35154}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:47.875959Z  INFO connection{addr=127.0.0.1:35154}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:47.876394Z  INFO connection{addr=127.0.0.1:35334}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:47.876704Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:47.880201Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.880500Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.880715Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.880921Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.881129Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.881332Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.881530Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:47.881743Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.002562Z  INFO connection{addr=127.0.0.1:49744}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:48.003157Z  INFO connection{addr=127.0.0.1:49744}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:48.004000Z  INFO connection{addr=127.0.0.1:49744}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:48.004358Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:48.865918Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:48.923310Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:48.970872Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:48.971066Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:48.971325Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:48.971385Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:48.971545Z  INFO connection{addr=127.0.0.1:35332}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:48.971737Z  INFO connection{addr=127.0.0.1:35332}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:48.971898Z  INFO connection{addr=127.0.0.1:35334}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:48.972168Z  INFO connection{addr=127.0.0.1:35334}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:48.972299Z  INFO connection{addr=127.0.0.1:35332}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:48.972684Z  INFO connection{addr=127.0.0.1:35334}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:48.973091Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:48.973539Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 526.970685ms... [INFO] [stdout] 2026-01-08T11:48:48.973792Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 536.839544ms... [INFO] [stdout] 2026-01-08T11:48:48.974022Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.974247Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.974468Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.974700Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.975024Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.975257Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.975480Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.975722Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.975963Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.976284Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.976511Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.976724Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.976918Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.977120Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.977332Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.977541Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:48.978788Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:48.979138Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:49.503017Z  INFO connection{addr=127.0.0.1:48690}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:49.503442Z  INFO connection{addr=127.0.0.1:48690}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:49.503884Z  INFO connection{addr=127.0.0.1:48690}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:49.504155Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:49.512788Z  INFO connection{addr=127.0.0.1:48788}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:49.513193Z  INFO connection{addr=127.0.0.1:48788}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:49.513689Z  INFO connection{addr=127.0.0.1:48788}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:49.514005Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:49.921805Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:49.927878Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:49.928010Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:49.928197Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:49.928410Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:49.928511Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:49.930402Z  INFO connection{addr=127.0.0.1:49744}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:49.931604Z  INFO connection{addr=127.0.0.1:49732}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:49.932631Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:49.933569Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:49.934553Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:49.935534Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:49.936425Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:49.937451Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:49.938331Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:49.940506Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:49.991907Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:49.992728Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:49.993574Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 595.237615ms... [INFO] [stdout] 2026-01-08T11:48:49.994096Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 567.925844ms... [INFO] [stdout] 2026-01-08T11:48:50.563433Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 925.808499ms... [INFO] [stdout] 2026-01-08T11:48:50.591246Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2332: Connection refused (os error 111). Retry in 814.475858ms... [INFO] [stdout] 2026-01-08T11:48:50.935920Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:50.938006Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:50.988652Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:51.413767Z  INFO connection{addr=127.0.0.1:46512}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:51.414289Z  INFO connection{addr=127.0.0.1:46512}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:51.414534Z  INFO connection{addr=127.0.0.1:46512}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:51.414810Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:51.473913Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:51.498842Z  INFO connection{addr=127.0.0.1:46534}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:51.499415Z  INFO connection{addr=127.0.0.1:46534}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:51.500081Z  INFO connection{addr=127.0.0.1:46534}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:51.500917Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:51.612256Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:51.612705Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:51.612891Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:51.613100Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:51.613164Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:51.613345Z  INFO connection{addr=127.0.0.1:48788}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:51.613536Z  INFO connection{addr=127.0.0.1:48788}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:51.613699Z  INFO connection{addr=127.0.0.1:48690}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:51.613977Z  INFO connection{addr=127.0.0.1:48690}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:51.614161Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:51.614363Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:51.614549Z  INFO connection{addr=127.0.0.1:48788}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:51.614865Z  INFO connection{addr=127.0.0.1:48690}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:51.615376Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:48:51.616024Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.616261Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.616478Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.616785Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.617008Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.617217Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.617435Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.617649Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.617883Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.618185Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.618387Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.618862Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.619076Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.619281Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.619562Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.619762Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:51.623696Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:51.663514Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:51.663753Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:51.665171Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 592.620036ms... [INFO] [stdout] 2026-01-08T11:48:51.665410Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 513.365655ms... [INFO] [stdout] 2026-01-08T11:48:52.180318Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 820.199257ms... [INFO] [stdout] 2026-01-08T11:48:52.259324Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Connection refused (os error 111). Retry in 1.090789023s... [INFO] [stdout] 2026-01-08T11:48:52.617018Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:48:52.618407Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:52.664334Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:53.008706Z  INFO connection{addr=127.0.0.1:48916}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:53.009222Z  INFO connection{addr=127.0.0.1:48916}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:53.009720Z  INFO connection{addr=127.0.0.1:48916}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:53.009895Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:53.354736Z  INFO connection{addr=127.0.0.1:49014}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:53.355242Z  INFO connection{addr=127.0.0.1:49014}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:53.355717Z  INFO connection{addr=127.0.0.1:49014}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:53.355893Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:53.437785Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:53.440554Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:53.442887Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:53.443023Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:53.443272Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:53.443628Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:53.443844Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:53.445210Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:53.488777Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:53.488916Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:53.496533Z  INFO connection{addr=127.0.0.1:46562}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:53.498272Z  WARN connection{addr=127.0.0.1:46562}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:53.498351Z  INFO connection{addr=127.0.0.1:46562}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:53.498964Z  INFO connection{addr=127.0.0.1:46534}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:53.499194Z  INFO connection{addr=127.0.0.1:46562}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:53.499460Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:53.499967Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:53.500206Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:53.501324Z  INFO connection{addr=127.0.0.1:46564}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:53.503737Z  WARN connection{addr=127.0.0.1:46564}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:53.503848Z  INFO connection{addr=127.0.0.1:46564}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:53.504377Z  INFO connection{addr=127.0.0.1:46512}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:53.504587Z  INFO connection{addr=127.0.0.1:46564}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:53.504865Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:53.505338Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:53.505561Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:54.444901Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:54.447332Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:54.449394Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:54.449456Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:54.449591Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:54.449662Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:54.451203Z  INFO connection{addr=127.0.0.1:46564}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:54.451457Z  INFO connection{addr=127.0.0.1:46562}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:54.451635Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:54.451822Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:54.452017Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:54.452244Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 534.442602ms... [INFO] [stdout] 2026-01-08T11:48:54.452368Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:54.452569Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:54.452792Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 575.883674ms... [INFO] [stdout] 2026-01-08T11:48:54.453789Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:54.489481Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:48:54.991790Z  INFO connection{addr=127.0.0.1:46608}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:54.992258Z  INFO connection{addr=127.0.0.1:46608}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:54.992441Z  INFO connection{addr=127.0.0.1:46608}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:54.992696Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:55.033523Z  INFO connection{addr=127.0.0.1:46628}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:55.034016Z  INFO connection{addr=127.0.0.1:46628}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:55.034195Z  INFO connection{addr=127.0.0.1:46628}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:55.034426Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:55.117599Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:55.161579Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:55.193623Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:48:55.193728Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:55.193907Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:55.194114Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:55.194282Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:48:55.195393Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:55.216637Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:48:55.216758Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:48:55.221303Z  INFO connection{addr=127.0.0.1:49128}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:55.222456Z  WARN connection{addr=127.0.0.1:49128}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:48:55.222585Z  INFO connection{addr=127.0.0.1:49128}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:55.222914Z  INFO connection{addr=127.0.0.1:48916}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:55.223039Z  INFO connection{addr=127.0.0.1:48916}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:55.223467Z  INFO connection{addr=127.0.0.1:48916}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:55.223832Z  INFO connection{addr=127.0.0.1:49128}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:55.224070Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:55.224745Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.224929Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.225119Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.225370Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.225558Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.225754Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.225952Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.226141Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.228323Z  INFO connection{addr=127.0.0.1:49140}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:55.230153Z  WARN connection{addr=127.0.0.1:49140}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:48:55.230222Z  INFO connection{addr=127.0.0.1:49140}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:55.230547Z  INFO connection{addr=127.0.0.1:49014}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:55.230684Z  INFO connection{addr=127.0.0.1:49014}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:55.231171Z  INFO connection{addr=127.0.0.1:49014}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:55.231510Z  INFO connection{addr=127.0.0.1:49140}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:55.231654Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:55.232364Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.232536Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.232723Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.232914Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.233095Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.233283Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.233462Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:55.234496Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.195442Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:48:56.239629Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:48:56.271414Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:48:56.271487Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:56.271609Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:56.271630Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:56.272589Z  INFO connection{addr=127.0.0.1:49128}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:56.272745Z  INFO connection{addr=127.0.0.1:49128}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:56.272835Z  INFO connection{addr=127.0.0.1:49140}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:56.272965Z  INFO connection{addr=127.0.0.1:49140}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:56.273075Z  INFO connection{addr=127.0.0.1:49128}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:56.273451Z  INFO connection{addr=127.0.0.1:49140}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:56.273808Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:48:56.274450Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 439.331248ms... [INFO] [stdout] 2026-01-08T11:48:56.274650Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake. Retry in 439.96562ms... [INFO] [stdout] 2026-01-08T11:48:56.274847Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275033Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275225Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275417Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275612Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275809Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.275998Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.276174Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.276363Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.276550Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.276769Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.276994Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.277203Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.277392Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.277591Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.277796Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:48:56.278740Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:48:56.302286Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:48:56.719754Z  INFO connection{addr=127.0.0.1:49326}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:56.720944Z  INFO connection{addr=127.0.0.1:49326}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:48:56.721497Z  INFO connection{addr=127.0.0.1:49326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:48:56.721603Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:56.724040Z  INFO connection{addr=127.0.0.1:49340}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:48:56.725804Z  INFO connection{addr=127.0.0.1:49340}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:48:56.726353Z  INFO connection{addr=127.0.0.1:49340}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:48:56.726450Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:48:56.952873Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:56.957376Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:56.957428Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:56.957501Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:56.957640Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:56.957661Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:56.958741Z  INFO connection{addr=127.0.0.1:46628}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:56.959183Z  INFO connection{addr=127.0.0.1:46608}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:56.959339Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:56.959525Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] test udp ... ok [INFO] [stdout] 2026-01-08T11:48:58.775018Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:48:58.882597Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:48:58.882816Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:58.882905Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:48:58.883015Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:48:58.883069Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:58.884055Z  INFO connection{addr=127.0.0.1:49340}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:58.884170Z  INFO connection{addr=127.0.0.1:49340}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:58.884260Z  INFO connection{addr=127.0.0.1:49326}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:58.884379Z  INFO connection{addr=127.0.0.1:49326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:48:58.884856Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:58.884999Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:48:58.885138Z  INFO connection{addr=127.0.0.1:49340}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:48:58.885471Z  INFO connection{addr=127.0.0.1:49326}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] test tcp ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.13s [INFO] [stdout] [INFO] [stderr] Doc-tests rathole [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fcf533749bd719973f57ac7c75802260c05bd694ec5dca788f482af232990255", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fcf533749bd719973f57ac7c75802260c05bd694ec5dca788f482af232990255", kill_on_drop: false }` [INFO] [stdout] fcf533749bd719973f57ac7c75802260c05bd694ec5dca788f482af232990255