[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#bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b for pr-154756 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frapiz1%2Frathole" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-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-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rapiz1/rathole on toolchain bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "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" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 760112edada60240ade63aac5dda1c0d960b9dc90f6b0ecf6eba083698fde8c5 [INFO] running `Command { std: "docker" "start" "-a" "760112edada60240ade63aac5dda1c0d960b9dc90f6b0ecf6eba083698fde8c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "760112edada60240ade63aac5dda1c0d960b9dc90f6b0ecf6eba083698fde8c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "760112edada60240ade63aac5dda1c0d960b9dc90f6b0ecf6eba083698fde8c5", kill_on_drop: false }` [INFO] [stdout] 760112edada60240ade63aac5dda1c0d960b9dc90f6b0ecf6eba083698fde8c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7e3ea9dc5b1e2bfbe7def29986a9a32ff3dc55460e1423fe63ecdf0a67e8eb05 [INFO] running `Command { std: "docker" "start" "-a" "7e3ea9dc5b1e2bfbe7def29986a9a32ff3dc55460e1423fe63ecdf0a67e8eb05", 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 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 pin-project-lite v0.2.13 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling semver v1.0.19 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling platforms v3.1.2 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling socket2 v0.5.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling libz-sys v1.1.12 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Compiling libgit2-sys v0.14.2+1.5.1 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling vergen v7.5.1 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling tracing-log v0.1.3 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling sharded-slab v0.1.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling regex-automata v0.1.10 [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 matchers v0.1.0 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling clap_derive v3.2.25 [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 futures-macro v0.3.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.0 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling enum-iterator v1.4.1 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling git2 v0.16.1 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling rathole v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling async-http-proxy v1.2.5 [INFO] [stderr] Compiling tokio-util v0.7.9 [INFO] [stderr] Compiling async-socks5 v0.5.1 [INFO] [stderr] Compiling snowstorm v0.4.0 [INFO] [stderr] Compiling backoff v0.4.0 [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 59.11s [INFO] running `Command { std: "docker" "inspect" "7e3ea9dc5b1e2bfbe7def29986a9a32ff3dc55460e1423fe63ecdf0a67e8eb05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e3ea9dc5b1e2bfbe7def29986a9a32ff3dc55460e1423fe63ecdf0a67e8eb05", kill_on_drop: false }` [INFO] [stdout] 7e3ea9dc5b1e2bfbe7def29986a9a32ff3dc55460e1423fe63ecdf0a67e8eb05 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 80725606744a950391a9e49256ec0a5353c3481247e443f2a88644619d773b4d [INFO] running `Command { std: "docker" "start" "-a" "80725606744a950391a9e49256ec0a5353c3481247e443f2a88644619d773b4d", kill_on_drop: false }` [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling cpufeatures v0.2.9 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling serde v1.0.188 [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 anyhow v1.0.75 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling socket2 v0.5.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 universal-hash v0.5.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling url v2.4.1 [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 chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling vergen v7.5.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling tracing-log v0.1.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling sharded-slab v0.1.6 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling notify v5.2.0 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling fdlimit v0.2.1 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling snowstorm v0.4.0 [INFO] [stderr] Compiling backoff v0.4.0 [INFO] [stderr] Compiling async-http-proxy v1.2.5 [INFO] [stderr] Compiling tokio-util v0.7.9 [INFO] [stderr] Compiling async-socks5 v0.5.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 53.32s [INFO] running `Command { std: "docker" "inspect" "80725606744a950391a9e49256ec0a5353c3481247e443f2a88644619d773b4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80725606744a950391a9e49256ec0a5353c3481247e443f2a88644619d773b4d", kill_on_drop: false }` [INFO] [stdout] 80725606744a950391a9e49256ec0a5353c3481247e443f2a88644619d773b4d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+bbf43bc9d5c8ad2a2e38c9004e5a59b269820b3b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3659e3179006c98754fd9d8e4b90f1a94a6d57401b5304e059dfb5d5e81d4cf7 [INFO] running `Command { std: "docker" "start" "-a" "3659e3179006c98754fd9d8e4b90f1a94a6d57401b5304e059dfb5d5e81d4cf7", 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 test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: `rathole` (lib) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rathole-69b24cc9095e4e22) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test config::tests::test_valid_config ... ok [INFO] [stdout] test config::tests::test_invalid_config ... ok [INFO] [stdout] test config::tests::test_example_config ... ok [INFO] [stdout] test tests::test_determine_run_mode ... ok [INFO] [stdout] test config::tests::test_validate_server_config ... ok [INFO] [stdout] test config_watcher::test::test_calculate_events ... ok [INFO] [stdout] test config::tests::test_validate_client_config ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rathole-ce5dc713ff9df7eb) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [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] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-dcd978cce0a37712) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] 2026-04-08T07:31:08.458589Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:08.460686Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:08.461311Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:08.461866Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:08.463188Z 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 458.719484ms... [INFO] [stdout] 2026-04-08T07:31:08.464104Z 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 531.674746ms... [INFO] [stdout] 2026-04-08T07:31:08.466510Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:08.487981Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:08.488294Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:08.488447Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:08.489008Z 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 535.536719ms... [INFO] [stdout] 2026-04-08T07:31:08.489224Z 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 539.938638ms... [INFO] [stdout] 2026-04-08T07:31:08.924552Z 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 852.596616ms... [INFO] [stdout] 2026-04-08T07:31:08.997409Z 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.190618785s... [INFO] [stdout] 2026-04-08T07:31:09.026391Z 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 898.516821ms... [INFO] [stdout] 2026-04-08T07:31:09.031082Z 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.126916208s... [INFO] [stdout] 2026-04-08T07:31:09.460057Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:09.468601Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:09.468948Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:09.477856Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:09.479272Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:09.479493Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:09.778667Z  INFO connection{addr=127.0.0.1:57590}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:09.778994Z  INFO connection{addr=127.0.0.1:57590}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:09.779401Z  INFO connection{addr=127.0.0.1:57590}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:09.779512Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:09.926879Z  INFO connection{addr=127.0.0.1:50194}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:09.927245Z  INFO connection{addr=127.0.0.1:50194}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:09.927506Z  INFO connection{addr=127.0.0.1:50194}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:09.927731Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:10.160669Z  INFO connection{addr=127.0.0.1:50214}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:10.161291Z  INFO connection{addr=127.0.0.1:50214}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:10.161583Z  INFO connection{addr=127.0.0.1:50214}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:10.161890Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:10.191440Z  INFO connection{addr=127.0.0.1:57660}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:10.191739Z  INFO connection{addr=127.0.0.1:57660}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:10.192143Z  INFO connection{addr=127.0.0.1:57660}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:10.192239Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:11.961059Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:11.981878Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:11.983881Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:11.986570Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:11.986649Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:11.986852Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:11.986958Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:11.987063Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:11.988184Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:11.988295Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:11.988371Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:11.989069Z  INFO connection{addr=127.0.0.1:50248}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:11.989184Z  INFO connection{addr=127.0.0.1:50262}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:11.989546Z  WARN connection{addr=127.0.0.1:50248}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:11.989606Z  INFO connection{addr=127.0.0.1:50248}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:11.989797Z  WARN connection{addr=127.0.0.1:50262}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:11.989848Z  INFO connection{addr=127.0.0.1:50262}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:11.990091Z  INFO connection{addr=127.0.0.1:50194}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:11.990250Z  INFO connection{addr=127.0.0.1:50248}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:11.990458Z  INFO connection{addr=127.0.0.1:50214}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:11.990635Z  INFO connection{addr=127.0.0.1:50262}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:11.990856Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:11.990971Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:11.992981Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:11.993185Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:11.993317Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:11.993462Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.005509Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:12.035689Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:12.035821Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:12.036029Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.036131Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.036239Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:12.037332Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:12.037500Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:12.037611Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:12.038472Z  INFO connection{addr=127.0.0.1:57756}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:12.038633Z  INFO connection{addr=127.0.0.1:57764}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:12.038996Z  WARN connection{addr=127.0.0.1:57756}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:12.039082Z  INFO connection{addr=127.0.0.1:57756}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:12.039262Z  WARN connection{addr=127.0.0.1:57764}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:12.039338Z  INFO connection{addr=127.0.0.1:57764}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:12.039479Z  INFO connection{addr=127.0.0.1:57660}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.039643Z  INFO connection{addr=127.0.0.1:57660}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:12.039984Z  INFO connection{addr=127.0.0.1:57590}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.040138Z  INFO connection{addr=127.0.0.1:57590}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:12.040470Z  INFO connection{addr=127.0.0.1:57660}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:12.040852Z  INFO connection{addr=127.0.0.1:57756}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:12.040960Z  INFO connection{addr=127.0.0.1:57590}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:12.041285Z  INFO connection{addr=127.0.0.1:57764}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:12.041463Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:12.041720Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:12.042244Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.042453Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.042642Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.042845Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.043057Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.043267Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.043473Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.043713Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.043986Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.044195Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.044395Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.044585Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.044806Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.045009Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.045198Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.045394Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.988673Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:12.991070Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:12.992834Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:12.992918Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:12.993196Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:12.993223Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:12.993445Z  INFO connection{addr=127.0.0.1:50262}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.993654Z  INFO connection{addr=127.0.0.1:50248}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:12.993862Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:12.994047Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:12.994225Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.994454Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 561.47296ms... [INFO] [stdout] 2026-04-08T07:31:12.994575Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:12.994776Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:12.995007Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 405.542849ms... [INFO] [stdout] 2026-04-08T07:31:12.998792Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:12.999034Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:13.037016Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:13.068830Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:13.087788Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:13.088007Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:13.088280Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:13.088339Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:13.088520Z  INFO connection{addr=127.0.0.1:57756}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:13.088713Z  INFO connection{addr=127.0.0.1:57756}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:13.088911Z  INFO connection{addr=127.0.0.1:57764}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:13.089086Z  INFO connection{addr=127.0.0.1:57764}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:13.089206Z  INFO connection{addr=127.0.0.1:57756}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:13.089553Z  INFO connection{addr=127.0.0.1:57764}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:13.090061Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:13.090402Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 469.750274ms... [INFO] [stdout] 2026-04-08T07:31:13.090687Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 597.006081ms... [INFO] [stdout] 2026-04-08T07:31:13.090985Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.091202Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.091428Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.091641Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.091852Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.092048Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.092246Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.092449Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.092665Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.092879Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.093091Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.093289Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.093499Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.093707Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.093935Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.094126Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:13.096233Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:13.096512Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:13.404423Z  INFO connection{addr=127.0.0.1:50316}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:13.404800Z  INFO connection{addr=127.0.0.1:50316}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:13.405002Z  INFO connection{addr=127.0.0.1:50316}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:13.405199Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:13.559536Z  INFO connection{addr=127.0.0.1:50346}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:13.561980Z  INFO connection{addr=127.0.0.1:57928}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:13.562291Z  INFO connection{addr=127.0.0.1:57928}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:13.562721Z  INFO connection{addr=127.0.0.1:57928}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:13.562833Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:13.564699Z  INFO connection{addr=127.0.0.1:50346}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:13.565698Z  INFO connection{addr=127.0.0.1:50346}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:13.566898Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:13.689385Z  INFO connection{addr=127.0.0.1:58004}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:13.689768Z  INFO connection{addr=127.0.0.1:58004}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:13.690167Z  INFO connection{addr=127.0.0.1:58004}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:13.690447Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:15.497375Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:15.506292Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:15.506392Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:15.506497Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:15.506630Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:15.506659Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:15.506915Z  INFO connection{addr=127.0.0.1:50316}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.507128Z  INFO connection{addr=127.0.0.1:50346}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.507265Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.507399Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.507606Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:15.507865Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:15.508042Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.508159Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:15.508280Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.516161Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:15.575148Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:15.575408Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:15.577060Z 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 554.980474ms... [INFO] [stdout] 2026-04-08T07:31:15.578226Z 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 540.515529ms... [INFO] [stdout] 2026-04-08T07:31:15.591580Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:15.672262Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:15.672518Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:15.672688Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:15.672880Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:15.672928Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:15.673079Z  INFO connection{addr=127.0.0.1:57928}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.673228Z  INFO connection{addr=127.0.0.1:57928}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:15.673358Z  INFO connection{addr=127.0.0.1:58004}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.673483Z  INFO connection{addr=127.0.0.1:58004}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:15.673609Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.673795Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:15.673939Z  INFO connection{addr=127.0.0.1:57928}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:15.674206Z  INFO connection{addr=127.0.0.1:58004}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:15.674571Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:15.674923Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.675100Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.675458Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.676236Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.676443Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.677309Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.678120Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.678345Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.678548Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.678800Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679053Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679229Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679418Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679597Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679807Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.679978Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:15.681449Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:15.723013Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:15.723223Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:15.724198Z 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 538.337551ms... [INFO] [stdout] 2026-04-08T07:31:15.724384Z 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 566.547786ms... [INFO] [stdout] 2026-04-08T07:31:16.122426Z 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.081687255s... [INFO] [stdout] 2026-04-08T07:31:16.134834Z 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 828.243544ms... [INFO] [stdout] 2026-04-08T07:31:16.265305Z 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 849.674567ms... [INFO] [stdout] 2026-04-08T07:31:16.292232Z 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 947.772493ms... [INFO] [stdout] 2026-04-08T07:31:16.508566Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:16.509971Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:16.563425Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:16.676034Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:16.682426Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:16.737579Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:16.970143Z  INFO connection{addr=127.0.0.1:50412}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:16.970538Z  INFO connection{addr=127.0.0.1:50412}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:16.970821Z  INFO connection{addr=127.0.0.1:50412}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:16.971058Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:17.121383Z  INFO connection{addr=127.0.0.1:58142}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:17.122240Z  INFO connection{addr=127.0.0.1:58142}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:17.123082Z  INFO connection{addr=127.0.0.1:58142}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:17.123313Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:17.210498Z  INFO connection{addr=127.0.0.1:50448}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:17.210963Z  INFO connection{addr=127.0.0.1:50448}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:17.211229Z  INFO connection{addr=127.0.0.1:50448}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:17.211489Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:17.245819Z  INFO connection{addr=127.0.0.1:58222}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:17.246236Z  INFO connection{addr=127.0.0.1:58222}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:17.246840Z  INFO connection{addr=127.0.0.1:58222}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:17.246957Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:19.010048Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:19.012535Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:19.014994Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:19.015147Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:19.015511Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.015826Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.016962Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:19.019339Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:19.067275Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:19.067565Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:19.073451Z  INFO connection{addr=127.0.0.1:57964}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:19.075532Z  WARN connection{addr=127.0.0.1:57964}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:19.075681Z  INFO connection{addr=127.0.0.1:57964}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:19.076268Z  INFO connection{addr=127.0.0.1:50448}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.076582Z  INFO connection{addr=127.0.0.1:57964}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:19.076934Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:19.077175Z  INFO connection{addr=127.0.0.1:57976}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:19.077504Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:19.077815Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.079017Z  WARN connection{addr=127.0.0.1:57976}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:19.079132Z  INFO connection{addr=127.0.0.1:57976}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:19.080773Z  INFO connection{addr=127.0.0.1:50412}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.081086Z  INFO connection{addr=127.0.0.1:57976}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:19.081426Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:19.082998Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:19.083314Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.177064Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:19.226186Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:19.257182Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:19.257285Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:19.257498Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.257695Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.257882Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:19.259220Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:19.294416Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:19.294624Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:19.299584Z  INFO connection{addr=127.0.0.1:33008}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:19.301456Z  WARN connection{addr=127.0.0.1:33008}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:19.301592Z  INFO connection{addr=127.0.0.1:33008}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:19.301951Z  INFO connection{addr=127.0.0.1:58142}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.302178Z  INFO connection{addr=127.0.0.1:58142}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:19.302607Z  INFO connection{addr=127.0.0.1:58142}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:19.303111Z  INFO connection{addr=127.0.0.1:33008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:19.303309Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:19.303716Z  INFO connection{addr=127.0.0.1:33018}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:19.304059Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.304288Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.304500Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.304725Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.304963Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.305182Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.305391Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.305616Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.308301Z  WARN connection{addr=127.0.0.1:33018}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:19.308416Z  INFO connection{addr=127.0.0.1:33018}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:19.309710Z  INFO connection{addr=127.0.0.1:58222}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:19.309930Z  INFO connection{addr=127.0.0.1:58222}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:19.310285Z  INFO connection{addr=127.0.0.1:58222}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:19.310708Z  INFO connection{addr=127.0.0.1:33018}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:19.310904Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:19.312312Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.312553Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.312795Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.313002Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.313200Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.313404Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.313608Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:19.314934Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.018627Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:20.021135Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:20.024215Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:20.024302Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:20.024456Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:20.024481Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:20.026224Z  INFO connection{addr=127.0.0.1:57964}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:20.026489Z  INFO connection{addr=127.0.0.1:57976}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:20.026826Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:20.027100Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:20.027355Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.027629Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 480.279069ms... [INFO] [stdout] 2026-04-08T07:31:20.027830Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:20.028063Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.028343Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 400.600909ms... [INFO] [stdout] 2026-04-08T07:31:20.029532Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:20.073677Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:20.259073Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:20.310090Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:20.346045Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:20.346227Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:20.346425Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:20.346475Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:20.347950Z  INFO connection{addr=127.0.0.1:33008}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:20.348166Z  INFO connection{addr=127.0.0.1:33008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:20.348305Z  INFO connection{addr=127.0.0.1:33018}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:20.348466Z  INFO connection{addr=127.0.0.1:33018}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:20.348597Z  INFO connection{addr=127.0.0.1:33008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:20.349014Z  INFO connection{addr=127.0.0.1:33018}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:20.349467Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:20.350350Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 494.926864ms... [INFO] [stdout] 2026-04-08T07:31:20.350685Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 454.324668ms... [INFO] [stdout] 2026-04-08T07:31:20.350972Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.351240Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.351506Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.351788Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.352032Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.352277Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.352533Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.352807Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.353055Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.353302Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.353569Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.354973Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.355242Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.355504Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.355806Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.356058Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:20.358052Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:20.404990Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:20.436033Z  INFO connection{addr=127.0.0.1:58026}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:20.436432Z  INFO connection{addr=127.0.0.1:58026}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:20.436655Z  INFO connection{addr=127.0.0.1:58026}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:20.436908Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:20.513866Z  INFO connection{addr=127.0.0.1:58050}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:20.514239Z  INFO connection{addr=127.0.0.1:58050}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:20.514474Z  INFO connection{addr=127.0.0.1:58050}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:20.514716Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:20.811695Z  INFO connection{addr=127.0.0.1:33204}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:20.812145Z  INFO connection{addr=127.0.0.1:33204}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:20.812688Z  INFO connection{addr=127.0.0.1:33204}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:20.812838Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:20.849719Z  INFO connection{addr=127.0.0.1:33276}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:20.851230Z  INFO connection{addr=127.0.0.1:33276}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:20.851738Z  INFO connection{addr=127.0.0.1:33276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:20.851906Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:22.528718Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:22.534063Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:22.534366Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:22.534623Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:22.534885Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:22.535071Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:22.538043Z  INFO connection{addr=127.0.0.1:58026}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.539031Z  INFO connection{addr=127.0.0.1:58050}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.540510Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.540839Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.541204Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:22.543272Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:22.544454Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.545498Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:22.546645Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.548518Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:22.548982Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:22.549075Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:22.549497Z 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 482.023273ms... [INFO] [stdout] 2026-04-08T07:31:22.549651Z 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 557.197251ms... [INFO] [stdout] 2026-04-08T07:31:22.850916Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:22.990658Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:22.991032Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:22.991194Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:22.991373Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:22.991420Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:22.993143Z  INFO connection{addr=127.0.0.1:33204}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.993310Z  INFO connection{addr=127.0.0.1:33204}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:22.993422Z  INFO connection{addr=127.0.0.1:33276}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.993558Z  INFO connection{addr=127.0.0.1:33276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:22.993677Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.993871Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:22.994070Z  INFO connection{addr=127.0.0.1:33204}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:22.994487Z  INFO connection{addr=127.0.0.1:33276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:22.995031Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:22.995644Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.995899Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.996133Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.996357Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.996568Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.996793Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.997037Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.997257Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.997493Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.997732Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.997977Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.998195Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.998408Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.998632Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.998868Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:22.999103Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:23.000634Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:23.001074Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:23.001170Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:23.003692Z 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 557.721891ms... [INFO] [stdout] 2026-04-08T07:31:23.003916Z 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 584.899446ms... [INFO] [stdout] 2026-04-08T07:31:23.032728Z 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 901.526933ms... [INFO] [stdout] 2026-04-08T07:31:23.108899Z 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 850.234016ms... [INFO] [stdout] 2026-04-08T07:31:23.550868Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:23.552156Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:23.552384Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:23.563433Z 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 916.737436ms... [INFO] [stdout] 2026-04-08T07:31:23.590898Z 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 968.694194ms... [INFO] [stdout] 2026-04-08T07:31:23.941952Z  INFO connection{addr=127.0.0.1:58118}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:23.942933Z  INFO connection{addr=127.0.0.1:58118}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:23.943214Z  INFO connection{addr=127.0.0.1:58118}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:23.943786Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:23.967778Z  INFO connection{addr=127.0.0.1:58154}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:23.968675Z  INFO connection{addr=127.0.0.1:58154}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:23.968913Z  INFO connection{addr=127.0.0.1:58154}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:23.969415Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:23.995909Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:23.997260Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:23.997520Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:24.487565Z  INFO connection{addr=127.0.0.1:33438}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:24.488628Z  INFO connection{addr=127.0.0.1:33438}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:24.490356Z  INFO connection{addr=127.0.0.1:33438}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:24.490801Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:24.567499Z  INFO connection{addr=127.0.0.1:33518}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:24.569848Z  INFO connection{addr=127.0.0.1:33518}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:24.571519Z  INFO connection{addr=127.0.0.1:33518}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:24.571817Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:26.053028Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:26.059951Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:26.068280Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:26.068462Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:26.068724Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.068903Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.069081Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:26.070202Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:26.071510Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:26.071783Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:26.088804Z  INFO connection{addr=127.0.0.1:58190}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:26.091195Z  INFO connection{addr=127.0.0.1:58194}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:26.091805Z  WARN connection{addr=127.0.0.1:58190}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:26.092082Z  INFO connection{addr=127.0.0.1:58190}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:26.092790Z  INFO connection{addr=127.0.0.1:58118}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.093043Z  INFO connection{addr=127.0.0.1:58190}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:26.093625Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:26.094244Z  WARN connection{addr=127.0.0.1:58194}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:26.094470Z  INFO connection{addr=127.0.0.1:58194}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:26.094732Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:26.094959Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.095412Z  INFO connection{addr=127.0.0.1:58154}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.095644Z  INFO connection{addr=127.0.0.1:58194}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:26.096258Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:26.104886Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:26.105202Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.497069Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:26.732535Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:26.814300Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:26.814513Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:26.814803Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.815045Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.815235Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:26.817492Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:26.818019Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:26.818176Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:26.829930Z  INFO connection{addr=127.0.0.1:33616}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:26.831999Z  INFO connection{addr=127.0.0.1:33618}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:26.832481Z  WARN connection{addr=127.0.0.1:33616}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:26.832721Z  INFO connection{addr=127.0.0.1:33616}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:26.833241Z  INFO connection{addr=127.0.0.1:33438}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.833405Z  INFO connection{addr=127.0.0.1:33438}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:26.834630Z  INFO connection{addr=127.0.0.1:33438}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:26.835037Z  INFO connection{addr=127.0.0.1:33616}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:26.835288Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:26.836835Z  WARN connection{addr=127.0.0.1:33618}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:26.837015Z  INFO connection{addr=127.0.0.1:33618}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:26.837322Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.837509Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.837670Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.837843Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.838010Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.838152Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.838289Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.838444Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.839192Z  INFO connection{addr=127.0.0.1:33518}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:26.839338Z  INFO connection{addr=127.0.0.1:33518}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:26.840641Z  INFO connection{addr=127.0.0.1:33518}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:26.841004Z  INFO connection{addr=127.0.0.1:33618}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:26.841344Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:26.856323Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.856815Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.857089Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.857421Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.857621Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.857845Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.858059Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:26.858271Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:27.071036Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:27.078247Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:27.084141Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:27.084313Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:27.084494Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:27.084543Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:27.084836Z  INFO connection{addr=127.0.0.1:58190}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:27.085125Z  INFO connection{addr=127.0.0.1:58194}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:27.085324Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:27.085533Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:27.085772Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:27.086013Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 438.359569ms... [INFO] [stdout] 2026-04-08T07:31:27.086184Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:27.086379Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:27.086593Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 535.10112ms... [INFO] [stdout] 2026-04-08T07:31:27.087733Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:27.087955Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:27.532556Z  INFO connection{addr=127.0.0.1:58230}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:27.533893Z  INFO connection{addr=127.0.0.1:58230}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:27.534437Z  INFO connection{addr=127.0.0.1:58230}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:27.535050Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:27.630411Z  INFO connection{addr=127.0.0.1:58256}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:27.631769Z  INFO connection{addr=127.0.0.1:58256}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:27.632137Z  INFO connection{addr=127.0.0.1:58256}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:27.632915Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:27.816036Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:28.044039Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:28.147532Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:28.147739Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:28.147978Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:28.148030Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:28.148176Z  INFO connection{addr=127.0.0.1:33616}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:28.148353Z  INFO connection{addr=127.0.0.1:33616}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:28.148482Z  INFO connection{addr=127.0.0.1:33618}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:28.148613Z  INFO connection{addr=127.0.0.1:33618}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:28.148745Z  INFO connection{addr=127.0.0.1:33616}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:28.149070Z  INFO connection{addr=127.0.0.1:33618}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:28.149424Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:28.149773Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 543.925184ms... [INFO] [stdout] 2026-04-08T07:31:28.149987Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 561.387059ms... [INFO] [stdout] 2026-04-08T07:31:28.150177Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.150359Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.150518Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.150717Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.150920Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151095Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151269Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151446Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151621Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151813Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.151986Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.152167Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.152345Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.152513Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.152699Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.152940Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:28.155789Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:28.156124Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:28.702739Z  INFO connection{addr=127.0.0.1:35536}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:28.703679Z  INFO connection{addr=127.0.0.1:35536}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:28.706048Z  INFO connection{addr=127.0.0.1:35536}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:28.706379Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:28.761506Z  INFO connection{addr=127.0.0.1:35640}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:28.762426Z  INFO connection{addr=127.0.0.1:35640}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:28.763565Z  INFO connection{addr=127.0.0.1:35640}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:28.763776Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:29.587202Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:29.604668Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:29.604802Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:29.604927Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:29.605069Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:29.605091Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:29.605377Z  INFO connection{addr=127.0.0.1:58230}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:29.605623Z  INFO connection{addr=127.0.0.1:58256}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:29.605834Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:29.606007Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:29.606247Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:29.606471Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:29.606676Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:29.606865Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-04-08T07:31:29.607038Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:29.608042Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:29.608186Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:29.608304Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:29.608895Z 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 591.619492ms... [INFO] [stdout] 2026-04-08T07:31:29.609057Z 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 430.986604ms... [INFO] [stdout] 2026-04-08T07:31:30.042508Z 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.138631083s... [INFO] [stdout] 2026-04-08T07:31:30.202657Z 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.191340725s... [INFO] [stdout] 2026-04-08T07:31:30.607464Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:30.608877Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:30.609095Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:30.651016Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:31.184050Z  INFO connection{addr=127.0.0.1:37098}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:31.184397Z  INFO connection{addr=127.0.0.1:37098}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:31.184652Z  INFO connection{addr=127.0.0.1:37098}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:31.185064Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:31.217130Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:31.217342Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:31.217470Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:31.217631Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:31.217667Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:31.217849Z  INFO connection{addr=127.0.0.1:35640}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:31.218016Z  INFO connection{addr=127.0.0.1:35640}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:31.218129Z  INFO connection{addr=127.0.0.1:35536}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:31.218248Z  INFO connection{addr=127.0.0.1:35536}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:31.218363Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:31.218504Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:31.218626Z  INFO connection{addr=127.0.0.1:35640}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:31.218953Z  INFO connection{addr=127.0.0.1:35536}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:31.219358Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:31.219716Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.219924Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220096Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220252Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220406Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220563Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220725Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.220901Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221063Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221216Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221382Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221528Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221681Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.221850Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.222005Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.222474Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-04-08T07:31:31.223902Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:31.224042Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:31.224140Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:31.225124Z 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 454.712908ms... [INFO] [stdout] 2026-04-08T07:31:31.225282Z 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 479.518669ms... [INFO] [stdout] 2026-04-08T07:31:31.396310Z  INFO connection{addr=127.0.0.1:37122}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:31.396606Z  INFO connection{addr=127.0.0.1:37122}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:31.396847Z  INFO connection{addr=127.0.0.1:37122}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:31.397088Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:31.681366Z 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 875.26888ms... [INFO] [stdout] 2026-04-08T07:31:31.706038Z 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 1.025063394s... [INFO] [stdout] 2026-04-08T07:31:32.220898Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:32.222502Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:32.222809Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:32.559507Z  INFO connection{addr=127.0.0.1:35776}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:32.559875Z  INFO connection{addr=127.0.0.1:35776}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:32.560444Z  INFO connection{addr=127.0.0.1:35776}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:32.560559Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:32.733629Z  INFO connection{addr=127.0.0.1:35862}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:32.733982Z  INFO connection{addr=127.0.0.1:35862}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:32.734457Z  INFO connection{addr=127.0.0.1:35862}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:32.734591Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:33.108407Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:33.110519Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:33.112312Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:33.112370Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:33.112571Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:33.112705Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:33.112884Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:33.113778Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:33.113877Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:33.113960Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:33.115201Z  INFO connection{addr=127.0.0.1:37162}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:33.115484Z  INFO connection{addr=127.0.0.1:37164}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:33.115636Z  WARN connection{addr=127.0.0.1:37162}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:33.115698Z  INFO connection{addr=127.0.0.1:37162}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:33.116042Z  INFO connection{addr=127.0.0.1:37122}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:33.116193Z  INFO connection{addr=127.0.0.1:37162}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:33.116376Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:33.116520Z  WARN connection{addr=127.0.0.1:37164}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:33.116570Z  INFO connection{addr=127.0.0.1:37164}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:33.116778Z  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-04-08T07:31:33.116977Z  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-04-08T07:31:33.117335Z  INFO connection{addr=127.0.0.1:37098}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:33.117466Z  INFO connection{addr=127.0.0.1:37164}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:33.117636Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:33.118096Z  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-04-08T07:31:33.118245Z  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-04-08T07:31:34.114377Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:34.116559Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:34.118119Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:34.118187Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:34.118303Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:34.118319Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:34.118506Z  INFO connection{addr=127.0.0.1:37162}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.118697Z  INFO connection{addr=127.0.0.1:37164}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.118837Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:34.118994Z  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-04-08T07:31:34.119138Z  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-04-08T07:31:34.119338Z 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 586.219181ms... [INFO] [stdout] 2026-04-08T07:31:34.119470Z  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-04-08T07:31:34.119632Z  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-04-08T07:31:34.119845Z 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 442.97265ms... [INFO] [stdout] 2026-04-08T07:31:34.121025Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:34.121231Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:34.565002Z  INFO connection{addr=127.0.0.1:37222}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:34.565372Z  INFO connection{addr=127.0.0.1:37222}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:34.565604Z  INFO connection{addr=127.0.0.1:37222}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:34.565960Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:34.708067Z  INFO connection{addr=127.0.0.1:37250}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:34.708378Z  INFO connection{addr=127.0.0.1:37250}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:34.708593Z  INFO connection{addr=127.0.0.1:37250}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:34.708877Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:34.722278Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:34.760836Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:34.785889Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:34.785978Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:34.786163Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.786291Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.786425Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:34.787353Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:34.787475Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:34.787595Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:34.789016Z  INFO connection{addr=127.0.0.1:35976}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:34.789343Z  INFO connection{addr=127.0.0.1:35978}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:34.789545Z  WARN connection{addr=127.0.0.1:35976}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:34.789608Z  INFO connection{addr=127.0.0.1:35976}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:34.789872Z  INFO connection{addr=127.0.0.1:35862}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.790010Z  INFO connection{addr=127.0.0.1:35862}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:34.790295Z  INFO connection{addr=127.0.0.1:35862}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:34.790561Z  INFO connection{addr=127.0.0.1:35976}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:34.790728Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:34.790983Z  WARN connection{addr=127.0.0.1:35978}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:34.791046Z  INFO connection{addr=127.0.0.1:35978}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:34.791243Z  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-04-08T07:31:34.791414Z  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-04-08T07:31:34.791573Z  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-04-08T07:31:34.791784Z  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-04-08T07:31:34.791957Z  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-04-08T07:31:34.792126Z  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-04-08T07:31:34.792300Z  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-04-08T07:31:34.792448Z  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-04-08T07:31:34.793132Z  INFO connection{addr=127.0.0.1:35776}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:34.793258Z  INFO connection{addr=127.0.0.1:35776}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:34.793546Z  INFO connection{addr=127.0.0.1:35776}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:34.793822Z  INFO connection{addr=127.0.0.1:35978}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:34.793979Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:34.795136Z  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-04-08T07:31:34.795293Z  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-04-08T07:31:34.795462Z  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-04-08T07:31:34.795632Z  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-04-08T07:31:34.795818Z  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-04-08T07:31:34.795986Z  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-04-08T07:31:34.796140Z  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-04-08T07:31:34.796296Z  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-04-08T07:31:35.787805Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:35.825247Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:35.852580Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:35.852689Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:35.852858Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:35.852879Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:35.853017Z  INFO connection{addr=127.0.0.1:35978}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:35.853191Z  INFO connection{addr=127.0.0.1:35978}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:35.853319Z  INFO connection{addr=127.0.0.1:35976}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:35.853453Z  INFO connection{addr=127.0.0.1:35976}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:35.853572Z  INFO connection{addr=127.0.0.1:35978}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:35.853909Z  INFO connection{addr=127.0.0.1:35976}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:35.854221Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:35.854539Z 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 484.305108ms... [INFO] [stdout] 2026-04-08T07:31:35.854722Z 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 592.820901ms... [INFO] [stdout] 2026-04-08T07:31:35.854870Z  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-04-08T07:31:35.855032Z  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-04-08T07:31:35.855197Z  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-04-08T07:31:35.855366Z  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-04-08T07:31:35.855490Z  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-04-08T07:31:35.855641Z  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-04-08T07:31:35.855805Z  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-04-08T07:31:35.855956Z  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-04-08T07:31:35.856109Z  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-04-08T07:31:35.856232Z  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-04-08T07:31:35.856387Z  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-04-08T07:31:35.856533Z  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-04-08T07:31:35.856699Z  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-04-08T07:31:35.856881Z  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-04-08T07:31:35.857031Z  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-04-08T07:31:35.857162Z  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-04-08T07:31:35.858214Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:35.858404Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:36.340954Z  INFO connection{addr=127.0.0.1:36154}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:36.341235Z  INFO connection{addr=127.0.0.1:36154}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:36.341558Z  INFO connection{addr=127.0.0.1:36154}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:36.341711Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:36.450447Z  INFO connection{addr=127.0.0.1:36228}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:36.450775Z  INFO connection{addr=127.0.0.1:36228}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:36.451238Z  INFO connection{addr=127.0.0.1:36228}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:36.451365Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:36.621045Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:36.625019Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:36.625090Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:36.625185Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:36.625343Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:36.625378Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:36.625686Z  INFO connection{addr=127.0.0.1:37222}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:36.625946Z  INFO connection{addr=127.0.0.1:37250}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:36.626080Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:36.626215Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:36.626412Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:36.626617Z  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-04-08T07:31:36.626811Z  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-04-08T07:31:36.626946Z  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-04-08T07:31:36.627093Z  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-04-08T07:31:36.628080Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:36.652316Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:36.652418Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:36.652986Z 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 441.75976ms... [INFO] [stdout] 2026-04-08T07:31:36.653118Z 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 519.347075ms... [INFO] [stdout] 2026-04-08T07:31:37.096397Z 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 968.917728ms... [INFO] [stdout] 2026-04-08T07:31:37.174229Z 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.056714853s... [INFO] [stdout] 2026-04-08T07:31:37.627989Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:37.629314Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:37.656563Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:38.071249Z  INFO connection{addr=127.0.0.1:37306}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:38.071681Z  INFO connection{addr=127.0.0.1:37306}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:38.071930Z  INFO connection{addr=127.0.0.1:37306}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:38.072203Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:38.235837Z  INFO connection{addr=127.0.0.1:37326}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:38.236267Z  INFO connection{addr=127.0.0.1:37326}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:38.236488Z  INFO connection{addr=127.0.0.1:37326}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:38.236828Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:38.354994Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:38.448168Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:38.448378Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:38.448495Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:38.448640Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:38.448666Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:38.448810Z  INFO connection{addr=127.0.0.1:36154}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:38.448954Z  INFO connection{addr=127.0.0.1:36154}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:38.449054Z  INFO connection{addr=127.0.0.1:36228}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:38.449160Z  INFO connection{addr=127.0.0.1:36228}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:38.449282Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:38.449432Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:38.449574Z  INFO connection{addr=127.0.0.1:36154}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:38.449877Z  INFO connection{addr=127.0.0.1:36228}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:38.450181Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-04-08T07:31:38.450713Z  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-04-08T07:31:38.450866Z  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-04-08T07:31:38.450994Z  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-04-08T07:31:38.451107Z  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-04-08T07:31:38.451269Z  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-04-08T07:31:38.451428Z  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-04-08T07:31:38.451586Z  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-04-08T07:31:38.451721Z  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-04-08T07:31:38.451942Z  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-04-08T07:31:38.452107Z  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-04-08T07:31:38.452231Z  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-04-08T07:31:38.452388Z  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-04-08T07:31:38.452541Z  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-04-08T07:31:38.452704Z  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-04-08T07:31:38.452881Z  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-04-08T07:31:38.453065Z  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-04-08T07:31:38.454421Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:38.477158Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:38.477254Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:38.477684Z 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 574.416629ms... [INFO] [stdout] 2026-04-08T07:31:38.477877Z 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 475.60844ms... [INFO] [stdout] 2026-04-08T07:31:38.955068Z 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.090256024s... [INFO] [stdout] 2026-04-08T07:31:39.053951Z 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 982.811986ms... [INFO] [stdout] 2026-04-08T07:31:39.450746Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-04-08T07:31:39.452076Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:39.484888Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:40.041647Z  INFO connection{addr=127.0.0.1:49276}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:40.042102Z  INFO connection{addr=127.0.0.1:49276}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:40.042456Z  INFO connection{addr=127.0.0.1:49276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:40.042555Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:40.066096Z  INFO connection{addr=127.0.0.1:49354}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:40.066460Z  INFO connection{addr=127.0.0.1:49354}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:40.066871Z  INFO connection{addr=127.0.0.1:49354}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:40.067016Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:40.129723Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:40.132310Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:40.134545Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:40.134602Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:40.134810Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:40.134978Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:40.135166Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:40.136267Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:40.162012Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:40.162097Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:40.166845Z  INFO connection{addr=127.0.0.1:41422}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:40.168108Z  WARN connection{addr=127.0.0.1:41422}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:40.168181Z  INFO connection{addr=127.0.0.1:41422}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:40.168656Z  INFO connection{addr=127.0.0.1:37306}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:40.168915Z  INFO connection{addr=127.0.0.1:41422}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:40.169225Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:40.169733Z  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-04-08T07:31:40.169935Z  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-04-08T07:31:40.170895Z  INFO connection{addr=127.0.0.1:41424}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:40.172790Z  WARN connection{addr=127.0.0.1:41424}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:40.172884Z  INFO connection{addr=127.0.0.1:41424}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:40.173403Z  INFO connection{addr=127.0.0.1:37326}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:40.173597Z  INFO connection{addr=127.0.0.1:41424}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:40.173933Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:40.174404Z  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-04-08T07:31:40.174590Z  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-04-08T07:31:41.137096Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:41.139479Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:41.141331Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:41.141389Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:41.141526Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:41.141548Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:41.142879Z  INFO connection{addr=127.0.0.1:41424}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:41.143085Z  INFO connection{addr=127.0.0.1:41422}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:41.143289Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:41.143886Z  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-04-08T07:31:41.144095Z  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-04-08T07:31:41.144352Z 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 438.384574ms... [INFO] [stdout] 2026-04-08T07:31:41.144498Z  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-04-08T07:31:41.144702Z  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-04-08T07:31:41.144939Z 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 563.410191ms... [INFO] [stdout] 2026-04-08T07:31:41.146156Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:41.171940Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-04-08T07:31:41.588062Z  INFO connection{addr=127.0.0.1:41486}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:41.588414Z  INFO connection{addr=127.0.0.1:41486}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:41.588608Z  INFO connection{addr=127.0.0.1:41486}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:41.588926Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:41.714082Z  INFO connection{addr=127.0.0.1:41510}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:41.714458Z  INFO connection{addr=127.0.0.1:41510}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:41.714624Z  INFO connection{addr=127.0.0.1:41510}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:41.714914Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:41.952036Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:42.003046Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:42.037677Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-04-08T07:31:42.037796Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:42.038040Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:42.038224Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:42.038401Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-04-08T07:31:42.039653Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:42.062981Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-04-08T07:31:42.063134Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-04-08T07:31:42.068636Z  INFO connection{addr=127.0.0.1:49440}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:42.070480Z  WARN connection{addr=127.0.0.1:49440}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-04-08T07:31:42.070566Z  INFO connection{addr=127.0.0.1:49440}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:42.071057Z  INFO connection{addr=127.0.0.1:49354}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:42.071278Z  INFO connection{addr=127.0.0.1:49354}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:42.071782Z  INFO connection{addr=127.0.0.1:49354}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:42.072277Z  INFO connection{addr=127.0.0.1:49440}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:42.072481Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:42.073346Z  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-04-08T07:31:42.073613Z  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-04-08T07:31:42.073883Z  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-04-08T07:31:42.074147Z  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-04-08T07:31:42.074359Z  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-04-08T07:31:42.074568Z  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-04-08T07:31:42.074860Z  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-04-08T07:31:42.075106Z  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-04-08T07:31:42.077950Z  INFO connection{addr=127.0.0.1:49446}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:42.080319Z  WARN connection{addr=127.0.0.1:49446}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-04-08T07:31:42.080406Z  INFO connection{addr=127.0.0.1:49446}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:42.080873Z  INFO connection{addr=127.0.0.1:49276}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:42.081047Z  INFO connection{addr=127.0.0.1:49276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:42.081511Z  INFO connection{addr=127.0.0.1:49276}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:42.082002Z  INFO connection{addr=127.0.0.1:49446}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:42.082167Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:42.082986Z  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-04-08T07:31:42.083210Z  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-04-08T07:31:42.083416Z  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-04-08T07:31:42.083624Z  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-04-08T07:31:42.083846Z  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-04-08T07:31:42.084048Z  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-04-08T07:31:42.084254Z  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-04-08T07:31:42.085401Z  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-04-08T07:31:43.041840Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-04-08T07:31:43.093473Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-04-08T07:31:43.128697Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-04-08T07:31:43.128902Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:43.129062Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:43.129139Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:43.130147Z  INFO connection{addr=127.0.0.1:49440}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.130301Z  INFO connection{addr=127.0.0.1:49440}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:43.130398Z  INFO connection{addr=127.0.0.1:49446}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.130529Z  INFO connection{addr=127.0.0.1:49446}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:43.130638Z  INFO connection{addr=127.0.0.1:49440}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:43.131007Z  INFO connection{addr=127.0.0.1:49446}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:43.131434Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-04-08T07:31:43.132163Z 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 519.91425ms... [INFO] [stdout] 2026-04-08T07:31:43.132405Z 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 459.559315ms... [INFO] [stdout] 2026-04-08T07:31:43.132602Z  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-04-08T07:31:43.132834Z  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-04-08T07:31:43.133042Z  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-04-08T07:31:43.133229Z  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-04-08T07:31:43.133413Z  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-04-08T07:31:43.133596Z  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-04-08T07:31:43.133797Z  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-04-08T07:31:43.134001Z  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-04-08T07:31:43.134206Z  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-04-08T07:31:43.134397Z  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-04-08T07:31:43.134586Z  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-04-08T07:31:43.134797Z  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-04-08T07:31:43.134993Z  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-04-08T07:31:43.135182Z  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-04-08T07:31:43.135362Z  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-04-08T07:31:43.135562Z  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-04-08T07:31:43.141377Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-04-08T07:31:43.170216Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-04-08T07:31:43.597458Z  INFO connection{addr=127.0.0.1:49664}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:43.597901Z  INFO connection{addr=127.0.0.1:49664}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-04-08T07:31:43.598277Z  INFO connection{addr=127.0.0.1:49664}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-04-08T07:31:43.598405Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-04-08T07:31:43.648227Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:43.653374Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:43.653467Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:43.653552Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:43.653654Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:43.653672Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:43.654958Z  INFO connection{addr=127.0.0.1:41510}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.655146Z  INFO connection{addr=127.0.0.1:41486}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.655271Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.655379Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:43.656978Z  INFO connection{addr=127.0.0.1:49760}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-04-08T07:31:43.657332Z  INFO connection{addr=127.0.0.1:49760}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-04-08T07:31:43.657699Z  INFO connection{addr=127.0.0.1:49760}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-04-08T07:31:43.657815Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] test udp ... ok [INFO] [stdout] 2026-04-08T07:31:45.633487Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-04-08T07:31:45.746064Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-04-08T07:31:45.746365Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:45.746486Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-04-08T07:31:45.746635Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-04-08T07:31:45.746673Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:45.747676Z  INFO connection{addr=127.0.0.1:49664}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:45.747814Z  INFO connection{addr=127.0.0.1:49664}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:45.747908Z  INFO connection{addr=127.0.0.1:49760}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:45.748044Z  INFO connection{addr=127.0.0.1:49760}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-04-08T07:31:45.748152Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:45.748328Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-04-08T07:31:45.748499Z  INFO connection{addr=127.0.0.1:49664}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-04-08T07:31:45.748794Z  INFO connection{addr=127.0.0.1:49760}:handle{service=echo}: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.30s [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" "3659e3179006c98754fd9d8e4b90f1a94a6d57401b5304e059dfb5d5e81d4cf7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3659e3179006c98754fd9d8e4b90f1a94a6d57401b5304e059dfb5d5e81d4cf7", kill_on_drop: false }` [INFO] [stdout] 3659e3179006c98754fd9d8e4b90f1a94a6d57401b5304e059dfb5d5e81d4cf7