[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 master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frapiz1%2Frathole" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/rapiz1/rathole [INFO] finished tweaking git repo https://github.com/rapiz1/rathole [INFO] tweaked toml for git repo https://github.com/rapiz1/rathole written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rapiz1/rathole on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded itoa v1.0.9 [INFO] [stderr] Downloaded futures-task v0.3.28 [INFO] [stderr] Downloaded futures-io v0.3.28 [INFO] [stderr] Downloaded rustversion v1.0.14 [INFO] [stderr] Downloaded clap_derive v3.2.25 [INFO] [stderr] Downloaded async-http-proxy v1.2.5 [INFO] [stderr] Downloaded futures v0.3.28 [INFO] [stderr] Downloaded async-socks5 v0.5.1 [INFO] [stderr] Downloaded termcolor v1.3.0 [INFO] [stderr] Downloaded console-api v0.5.0 [INFO] [stderr] Downloaded ryu v1.0.15 [INFO] [stderr] Downloaded flate2 v1.0.27 [INFO] [stderr] Downloaded indexmap v2.2.3 [INFO] [stderr] Downloaded tonic v0.9.2 [INFO] [stderr] Downloaded memchr v2.6.3 [INFO] [stderr] Downloaded crossbeam-channel v0.5.8 [INFO] [stderr] Downloaded h2 v0.3.24 [INFO] [stderr] Downloaded serde_json v1.0.107 [INFO] [stderr] Downloaded tracing-subscriber v0.3.17 [INFO] [stderr] Downloaded hyper v0.14.27 [INFO] [stderr] Downloaded regex v1.9.6 [INFO] [stderr] Downloaded gimli v0.28.0 [INFO] [stderr] Downloaded openssl v0.10.57 [INFO] [stderr] Downloaded rustls v0.22.2 [INFO] [stderr] Downloaded hdrhistogram v7.5.2 [INFO] [stderr] Downloaded curve25519-dalek v4.1.2 [INFO] [stderr] Downloaded object v0.32.1 [INFO] [stderr] Downloaded futures-util v0.3.28 [INFO] [stderr] Downloaded rustix v0.38.15 [INFO] [stderr] Downloaded aho-corasick v1.1.1 [INFO] [stderr] Downloaded http v0.2.9 [INFO] [stderr] Downloaded tokio-util v0.7.9 [INFO] [stderr] Downloaded syn v2.0.37 [INFO] [stderr] Downloaded base64 v0.21.4 [INFO] [stderr] Downloaded openssl-sys v0.9.93 [INFO] [stderr] Downloaded fiat-crypto v0.2.1 [INFO] [stderr] Downloaded security-framework v2.9.2 [INFO] [stderr] Downloaded mio v0.8.8 [INFO] [stderr] Downloaded tracing-core v0.1.31 [INFO] [stderr] Downloaded num-traits v0.2.16 [INFO] [stderr] Downloaded snow v0.9.6 [INFO] [stderr] Downloaded pin-project v1.1.3 [INFO] [stderr] Downloaded chacha20poly1305 v0.10.1 [INFO] [stderr] Downloaded socket2 v0.5.4 [INFO] [stderr] Downloaded once_cell v1.18.0 [INFO] [stderr] Downloaded libc v0.2.148 [INFO] [stderr] Downloaded tokio-stream v0.1.14 [INFO] [stderr] Downloaded tokio v1.32.0 [INFO] [stderr] Downloaded console-subscriber v0.1.10 [INFO] [stderr] Downloaded crossbeam-utils v0.8.16 [INFO] [stderr] Downloaded semver v1.0.19 [INFO] [stderr] Downloaded prost-types v0.11.9 [INFO] [stderr] Downloaded futures-channel v0.3.28 [INFO] [stderr] Downloaded rustls-native-certs v0.7.0 [INFO] [stderr] Downloaded polyval v0.6.1 [INFO] [stderr] Downloaded platforms v3.1.2 [INFO] [stderr] Downloaded socket2 v0.4.9 [INFO] [stderr] Downloaded schannel v0.1.22 [INFO] [stderr] Downloaded core-foundation-sys v0.8.4 [INFO] [stderr] Downloaded security-framework-sys v2.9.1 [INFO] [stderr] Downloaded bitflags v2.4.0 [INFO] [stderr] Downloaded zeroize v1.6.0 [INFO] [stderr] Downloaded lock_api v0.4.10 [INFO] [stderr] Downloaded smallvec v1.11.1 [INFO] [stderr] Downloaded tracing-attributes v0.1.26 [INFO] [stderr] Downloaded anyhow v1.0.75 [INFO] [stderr] Downloaded unicode-bidi v0.3.13 [INFO] [stderr] Downloaded async-trait v0.1.73 [INFO] [stderr] Downloaded prost-derive v0.11.9 [INFO] [stderr] Downloaded prost v0.11.9 [INFO] [stderr] Downloaded rustls-pemfile v2.0.0 [INFO] [stderr] Downloaded pin-project-internal v1.1.3 [INFO] [stderr] Downloaded snowstorm v0.4.0 [INFO] [stderr] Downloaded getrandom v0.2.10 [INFO] [stderr] Downloaded jobserver v0.1.26 [INFO] [stderr] Downloaded url v2.4.1 [INFO] [stderr] Downloaded curve25519-dalek-derive v0.1.0 [INFO] [stderr] Downloaded errno v0.3.3 [INFO] [stderr] Downloaded futures-core v0.3.28 [INFO] [stderr] Downloaded hermit-abi v0.3.3 [INFO] [stderr] Downloaded parking_lot_core v0.9.8 [INFO] [stderr] Downloaded enum-iterator-derive v1.2.1 [INFO] [stderr] Downloaded linux-raw-sys v0.4.8 [INFO] [stderr] Downloaded pkg-config v0.3.27 [INFO] [stderr] Downloaded form_urlencoded v1.2.0 [INFO] [stderr] Downloaded filetime v0.2.22 [INFO] [stderr] Downloaded kqueue v1.0.8 [INFO] [stderr] Downloaded ghash v0.5.0 [INFO] [stderr] Downloaded rustls-pki-types v1.3.0 [INFO] [stderr] Downloaded futures-macro v0.3.28 [INFO] [stderr] Downloaded data-encoding v2.4.0 [INFO] [stderr] Downloaded cpufeatures v0.2.9 [INFO] [stderr] Downloaded futures-sink v0.3.28 [INFO] [stderr] Downloaded signal-hook-registry v1.4.1 [INFO] [stderr] Downloaded tokio-macros v2.1.0 [INFO] [stderr] Downloaded sharded-slab v0.1.6 [INFO] [stderr] Downloaded serde_derive v1.0.188 [INFO] [stderr] Downloaded serde v1.0.188 [INFO] [stderr] Downloaded tempfile v3.8.0 [INFO] [stderr] Downloaded enum-iterator v1.4.1 [INFO] [stderr] Downloaded percent-encoding v2.3.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.67 [INFO] [stderr] Downloaded thiserror v1.0.49 [INFO] [stderr] Downloaded thiserror-impl v1.0.49 [INFO] [stderr] Downloaded ring v0.17.7 [INFO] [stderr] Downloaded libz-sys v1.1.12 [INFO] [stderr] Downloaded openssl-src v300.3.1+3.3.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa06a8ad7e2944a0c02cd6f82bcccc337de58f01d7d364eea1dc18069c4bcdad [INFO] running `Command { std: "docker" "start" "-a" "fa06a8ad7e2944a0c02cd6f82bcccc337de58f01d7d364eea1dc18069c4bcdad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa06a8ad7e2944a0c02cd6f82bcccc337de58f01d7d364eea1dc18069c4bcdad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa06a8ad7e2944a0c02cd6f82bcccc337de58f01d7d364eea1dc18069c4bcdad", kill_on_drop: false }` [INFO] [stdout] fa06a8ad7e2944a0c02cd6f82bcccc337de58f01d7d364eea1dc18069c4bcdad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b95df93ac2ae1848ecc26a75a1807c92e4193288214ade32850e0b75636fc757 [INFO] running `Command { std: "docker" "start" "-a" "b95df93ac2ae1848ecc26a75a1807c92e4193288214ade32850e0b75636fc757", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling cpufeatures v0.2.9 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling semver v1.0.19 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling socket2 v0.5.4 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling deranged v0.3.11 [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 unicode-bidi v0.3.13 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling platforms v3.1.2 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ghash v0.5.0 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling vergen v7.5.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling sha1 v0.10.6 [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 openssl-macros v0.1.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling enum-iterator v1.4.1 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling clap_derive v3.2.25 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling tracing-log v0.1.3 [INFO] [stderr] Compiling sharded-slab v0.1.6 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling notify v5.2.0 [INFO] [stderr] Compiling fdlimit v0.2.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling snowstorm v0.4.0 [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 backoff v0.4.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 27s [INFO] running `Command { std: "docker" "inspect" "b95df93ac2ae1848ecc26a75a1807c92e4193288214ade32850e0b75636fc757", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b95df93ac2ae1848ecc26a75a1807c92e4193288214ade32850e0b75636fc757", kill_on_drop: false }` [INFO] [stdout] b95df93ac2ae1848ecc26a75a1807c92e4193288214ade32850e0b75636fc757 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d686100d20d1c9c87f17ed081ce5837736aa92a6936bb933845048b0d078f268 [INFO] running `Command { std: "docker" "start" "-a" "d686100d20d1c9c87f17ed081ce5837736aa92a6936bb933845048b0d078f268", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling cpufeatures v0.2.9 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling zeroize v1.6.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling socket2 v0.5.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling idna v0.4.0 [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 aead v0.5.2 [INFO] [stderr] Compiling polyval v0.6.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ghash v0.5.0 [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 vergen v7.5.1 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling snow v0.9.6 [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 sharded-slab v0.1.6 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling filetime v0.2.22 [INFO] [stderr] Compiling atty v0.2.14 [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 textwrap v0.16.0 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling notify v5.2.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling fdlimit v0.2.1 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling backoff v0.4.0 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling snowstorm v0.4.0 [INFO] [stderr] Compiling tokio-util v0.7.9 [INFO] [stderr] Compiling async-http-proxy v1.2.5 [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 2m 42s [INFO] running `Command { std: "docker" "inspect" "d686100d20d1c9c87f17ed081ce5837736aa92a6936bb933845048b0d078f268", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d686100d20d1c9c87f17ed081ce5837736aa92a6936bb933845048b0d078f268", kill_on_drop: false }` [INFO] [stdout] d686100d20d1c9c87f17ed081ce5837736aa92a6936bb933845048b0d078f268 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 62ae3ed6f0f5ccd7e8cd73a62c307ca06a6ff5bf5f6ebaa5b0c0200d84875190 [INFO] running `Command { std: "docker" "start" "-a" "62ae3ed6f0f5ccd7e8cd73a62c307ca06a6ff5bf5f6ebaa5b0c0200d84875190", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] [INFO] [stderr] --> src/transport/noise.rs:25:16 [INFO] [stdout] running 7 tests [INFO] [stderr] | [INFO] [stderr] 25 | fn builder(&self) -> Builder { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 25 | fn builder(&self) -> Builder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `rathole` (lib) generated 1 warning (run `cargo fix --lib -p rathole` to apply 1 suggestion) [INFO] [stderr] warning: `rathole` (lib) generated 1 warning (1 duplicate) [INFO] [stderr] warning: `rathole` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rathole-69b24cc9095e4e22) [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_example_config ... ok [INFO] [stdout] test tests::test_determine_run_mode ... ok [INFO] [stdout] test config::tests::test_validate_client_config ... ok [INFO] [stdout] test config::tests::test_invalid_config ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rathole-ce5dc713ff9df7eb) [INFO] [stdout] test config::tests::test_valid_config ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-dcd978cce0a37712) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [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] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] 2026-01-08T11:45:02.482377Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:02.488170Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:02.489704Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:02.489963Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:02.490048Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:02.490638Z 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 585.064448ms... [INFO] [stdout] 2026-01-08T11:45:02.490796Z 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 491.66822ms... [INFO] [stdout] 2026-01-08T11:45:02.491052Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:02.491246Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:02.491366Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:02.493169Z 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 476.122881ms... [INFO] [stdout] 2026-01-08T11:45:02.493380Z 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 484.632923ms... [INFO] [stdout] 2026-01-08T11:45:02.972110Z 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 937.310032ms... [INFO] [stdout] 2026-01-08T11:45:02.979921Z 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 908.205597ms... [INFO] [stdout] 2026-01-08T11:45:02.984136Z 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 939.832158ms... [INFO] [stdout] 2026-01-08T11:45:03.076926Z 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 955.07972ms... [INFO] [stdout] 2026-01-08T11:45:03.483948Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:03.486456Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:03.486656Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:03.488819Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:03.494042Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:03.494236Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:03.891415Z  INFO connection{addr=127.0.0.1:54508}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:03.891877Z  INFO connection{addr=127.0.0.1:54508}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:03.892169Z  INFO connection{addr=127.0.0.1:54508}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:03.892412Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:03.912160Z  INFO connection{addr=127.0.0.1:54530}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:03.912687Z  INFO connection{addr=127.0.0.1:54530}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:03.912932Z  INFO connection{addr=127.0.0.1:54530}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:03.913104Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:03.926445Z  INFO connection{addr=127.0.0.1:59582}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:03.926749Z  INFO connection{addr=127.0.0.1:59582}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:03.927219Z  INFO connection{addr=127.0.0.1:59582}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:03.927327Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:04.034415Z  INFO connection{addr=127.0.0.1:59674}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:04.034711Z  INFO connection{addr=127.0.0.1:59674}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:04.035046Z  INFO connection{addr=127.0.0.1:59674}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:04.035129Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:05.985940Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:05.989921Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:05.991951Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:05.996471Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:05.996612Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:05.996904Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:05.997065Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:05.997237Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:06.000697Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:06.000879Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:06.000994Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:06.001604Z  INFO connection{addr=127.0.0.1:54574}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:06.001795Z  INFO connection{addr=127.0.0.1:54584}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:06.002225Z  WARN connection{addr=127.0.0.1:54574}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:06.002782Z  INFO connection{addr=127.0.0.1:54574}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:06.003499Z  WARN connection{addr=127.0.0.1:54584}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:06.003592Z  INFO connection{addr=127.0.0.1:54584}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:06.003879Z  INFO connection{addr=127.0.0.1:54530}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.004105Z  INFO connection{addr=127.0.0.1:54574}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:06.004417Z  INFO connection{addr=127.0.0.1:54508}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.004870Z  INFO connection{addr=127.0.0.1:54584}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:06.005538Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:06.006263Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:06.007101Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:06.007946Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.008333Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:06.008914Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.080221Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:06.137767Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:06.140744Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:06.141543Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.143939Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.144638Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:06.146698Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:06.147340Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:06.147959Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:06.149372Z  INFO connection{addr=127.0.0.1:59752}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:06.152827Z  INFO connection{addr=127.0.0.1:59764}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:06.155121Z  WARN connection{addr=127.0.0.1:59752}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:06.157719Z  INFO connection{addr=127.0.0.1:59752}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:06.158450Z  WARN connection{addr=127.0.0.1:59764}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:06.158976Z  INFO connection{addr=127.0.0.1:59764}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:06.159576Z  INFO connection{addr=127.0.0.1:59674}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.160219Z  INFO connection{addr=127.0.0.1:59674}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:06.161012Z  INFO connection{addr=127.0.0.1:59582}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:06.162777Z  INFO connection{addr=127.0.0.1:59582}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:06.163543Z  INFO connection{addr=127.0.0.1:59674}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:06.172086Z  INFO connection{addr=127.0.0.1:59752}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:06.172259Z  INFO connection{addr=127.0.0.1:59582}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:06.173203Z  INFO connection{addr=127.0.0.1:59764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:06.173763Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:06.174269Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:06.174810Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.175018Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.175221Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.175536Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.175717Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.175883Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.176060Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.176236Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.176432Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.176612Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.176802Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.180714Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.180997Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.181193Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.181373Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.181771Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:06.997963Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:07.000360Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:07.002133Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:07.002221Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:07.002376Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:07.002408Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:07.002625Z  INFO connection{addr=127.0.0.1:54584}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:07.002864Z  INFO connection{addr=127.0.0.1:54574}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:07.003016Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:07.003175Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:07.003341Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.003524Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 529.793445ms... [INFO] [stdout] 2026-01-08T11:45:07.003641Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:07.003822Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.003994Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 433.640837ms... [INFO] [stdout] 2026-01-08T11:45:07.006702Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:07.006893Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:07.147807Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:07.191190Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:07.218106Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:07.218284Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:07.218463Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:07.218505Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:07.218761Z  INFO connection{addr=127.0.0.1:59752}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:07.218890Z  INFO connection{addr=127.0.0.1:59752}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:07.219000Z  INFO connection{addr=127.0.0.1:59764}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:07.219239Z  INFO connection{addr=127.0.0.1:59764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:07.219489Z  INFO connection{addr=127.0.0.1:59752}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:07.219908Z  INFO connection{addr=127.0.0.1:59764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:07.220338Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:07.220860Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 448.313917ms... [INFO] [stdout] 2026-01-08T11:45:07.221135Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 503.321463ms... [INFO] [stdout] 2026-01-08T11:45:07.221381Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.221560Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.221742Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.221914Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.222176Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.222408Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.222578Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.222768Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.222931Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223096Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223270Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223428Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223587Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223751Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.223906Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.224051Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:07.226727Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:07.226922Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:07.440288Z  INFO connection{addr=127.0.0.1:54632}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:07.440683Z  INFO connection{addr=127.0.0.1:54632}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:07.440931Z  INFO connection{addr=127.0.0.1:54632}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:07.441162Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:07.534842Z  INFO connection{addr=127.0.0.1:54654}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:07.535214Z  INFO connection{addr=127.0.0.1:54654}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:07.535419Z  INFO connection{addr=127.0.0.1:54654}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:07.535606Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:07.671289Z  INFO connection{addr=127.0.0.1:59950}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:07.671650Z  INFO connection{addr=127.0.0.1:59950}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:07.672058Z  INFO connection{addr=127.0.0.1:59950}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:07.672181Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:07.725483Z  INFO connection{addr=127.0.0.1:60026}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:07.727944Z  INFO connection{addr=127.0.0.1:60026}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:07.728331Z  INFO connection{addr=127.0.0.1:60026}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:07.728450Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:09.503922Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:09.507693Z  INFO test{config_path="tests/for_udp/tcp_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:09.507766Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:09.507871Z  INFO config_watcher{path="tests/for_udp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:09.508001Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:09.508080Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:09.508325Z  INFO connection{addr=127.0.0.1:54632}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.508519Z  INFO connection{addr=127.0.0.1:54654}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.508624Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.508765Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.508926Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:09.509072Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:09.509225Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.509341Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:09.509462Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.510765Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:09.586092Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:09.586317Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:09.586837Z 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 548.681516ms... [INFO] [stdout] 2026-01-08T11:45:09.587499Z 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 528.604403ms... [INFO] [stdout] 2026-01-08T11:45:09.721913Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:09.826057Z  INFO test{config_path="tests/for_tcp/tcp_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:09.826297Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:09.826423Z  INFO config_watcher{path="tests/for_tcp/tcp_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:09.826615Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:09.826661Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:09.826804Z  INFO connection{addr=127.0.0.1:60026}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.826930Z  INFO connection{addr=127.0.0.1:60026}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:09.827042Z  INFO connection{addr=127.0.0.1:59950}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.827154Z  INFO connection{addr=127.0.0.1:59950}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:09.828754Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.828911Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:09.829053Z  INFO connection{addr=127.0.0.1:60026}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:09.829329Z  INFO connection{addr=127.0.0.1:59950}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:09.829860Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:09.830199Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.830392Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.830568Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.830759Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.830991Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.831204Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.831363Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.831524Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.831699Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.831858Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832008Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832165Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832329Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832484Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832639Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.832831Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:09.836816Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:09.888408Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:09.888603Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:09.889391Z 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 559.980806ms... [INFO] [stdout] 2026-01-08T11:45:09.889547Z 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 535.961091ms... [INFO] [stdout] 2026-01-08T11:45:10.133185Z 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.055021658s... [INFO] [stdout] 2026-01-08T11:45:10.140080Z 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 836.973678ms... [INFO] [stdout] 2026-01-08T11:45:10.427019Z 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.023844082s... [INFO] [stdout] 2026-01-08T11:45:10.450616Z 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 997.138129ms... [INFO] [stdout] 2026-01-08T11:45:10.516794Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:10.521733Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:10.575278Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:10.831128Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:10.836717Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:10.919947Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:10.983048Z  INFO connection{addr=127.0.0.1:47862}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:10.983607Z  INFO connection{addr=127.0.0.1:47862}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:10.983899Z  INFO connection{addr=127.0.0.1:47862}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:10.984190Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:11.197544Z  INFO connection{addr=127.0.0.1:47888}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:11.198478Z  INFO connection{addr=127.0.0.1:47888}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:11.198921Z  INFO connection{addr=127.0.0.1:47888}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:11.199233Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:11.458646Z  INFO connection{addr=127.0.0.1:46802}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:11.460268Z  INFO connection{addr=127.0.0.1:46802}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:11.463193Z  INFO connection{addr=127.0.0.1:46802}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:11.464767Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:11.465059Z  INFO connection{addr=127.0.0.1:46808}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:11.470842Z  INFO connection{addr=127.0.0.1:46808}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:11.472442Z  INFO connection{addr=127.0.0.1:46808}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:11.472586Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:13.017918Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:13.020398Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:13.025575Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:13.027787Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:13.028112Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.028356Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.028569Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:13.029577Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:13.106390Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:13.106617Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:13.116418Z  INFO connection{addr=127.0.0.1:47900}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:13.119035Z  WARN connection{addr=127.0.0.1:47900}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:13.120736Z  INFO connection{addr=127.0.0.1:47900}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:13.121251Z  INFO connection{addr=127.0.0.1:47862}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.121515Z  INFO connection{addr=127.0.0.1:47900}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:13.122872Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:13.123143Z  INFO connection{addr=127.0.0.1:47902}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:13.123454Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:13.123744Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.124875Z  WARN connection{addr=127.0.0.1:47902}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:13.124992Z  INFO connection{addr=127.0.0.1:47902}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:13.126445Z  INFO connection{addr=127.0.0.1:47888}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.126713Z  INFO connection{addr=127.0.0.1:47902}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:13.127058Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:13.128349Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:13.131889Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.334794Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:13.397867Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:13.444307Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:13.444484Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:13.444730Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.445003Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.445207Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:13.446380Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:13.521894Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:13.522034Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:13.527577Z  INFO connection{addr=127.0.0.1:46956}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:13.529192Z  WARN connection{addr=127.0.0.1:46956}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:13.530727Z  INFO connection{addr=127.0.0.1:46956}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:13.531034Z  INFO connection{addr=127.0.0.1:46802}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.531231Z  INFO connection{addr=127.0.0.1:46802}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:13.531581Z  INFO connection{addr=127.0.0.1:46802}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:13.531991Z  INFO connection{addr=127.0.0.1:46956}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:13.533811Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:13.534239Z  INFO connection{addr=127.0.0.1:46972}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:13.534520Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.534743Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.534918Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.535083Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.535253Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.535415Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.535561Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.535870Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.538572Z  WARN connection{addr=127.0.0.1:46972}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:13.538701Z  INFO connection{addr=127.0.0.1:46972}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:13.540351Z  INFO connection{addr=127.0.0.1:46808}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:13.540842Z  INFO connection{addr=127.0.0.1:46808}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:13.541294Z  INFO connection{addr=127.0.0.1:46808}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:13.541818Z  INFO connection{addr=127.0.0.1:46972}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:13.542517Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:13.544249Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.544916Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.545423Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.545920Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.546161Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.546809Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.547380Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:13.548855Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.029924Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:14.032269Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:14.034215Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:14.034284Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:14.034426Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:14.034449Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:14.035893Z  INFO connection{addr=127.0.0.1:47900}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:14.036565Z  INFO connection{addr=127.0.0.1:47902}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:14.036838Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:14.037078Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:14.037504Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.037831Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 532.30998ms... [INFO] [stdout] 2026-01-08T11:45:14.038029Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:14.038247Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.038518Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 449.810514ms... [INFO] [stdout] 2026-01-08T11:45:14.040702Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:14.110904Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:14.446861Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:14.489463Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:14.495635Z  INFO connection{addr=127.0.0.1:47960}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:14.496243Z  INFO connection{addr=127.0.0.1:47960}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:14.496698Z  INFO connection{addr=127.0.0.1:47960}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:14.497123Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:14.519911Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:14.520684Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:14.521286Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:14.521387Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:14.523294Z  INFO connection{addr=127.0.0.1:46972}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:14.523619Z  INFO connection{addr=127.0.0.1:46972}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:14.523912Z  INFO connection{addr=127.0.0.1:46956}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:14.524444Z  INFO connection{addr=127.0.0.1:46956}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:14.524877Z  INFO connection{addr=127.0.0.1:46972}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:14.525458Z  INFO connection{addr=127.0.0.1:46956}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:14.526498Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:14.527767Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 415.517007ms... [INFO] [stdout] 2026-01-08T11:45:14.528500Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 580.382643ms... [INFO] [stdout] 2026-01-08T11:45:14.529093Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.529710Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.530281Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.530873Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.531404Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.533870Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.534491Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.535100Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.535710Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.536252Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.536787Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.537322Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.537928Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.538491Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.539065Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.539541Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:14.540699Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:14.576473Z  INFO connection{addr=127.0.0.1:47998}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:14.578795Z  INFO connection{addr=127.0.0.1:47998}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:14.579402Z  INFO connection{addr=127.0.0.1:47998}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:14.581384Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:14.595306Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:14.950538Z  INFO connection{addr=127.0.0.1:47144}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:14.954086Z  INFO connection{addr=127.0.0.1:47144}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:14.954628Z  INFO connection{addr=127.0.0.1:47144}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:14.954819Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:15.114212Z  INFO connection{addr=127.0.0.1:47220}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:15.116738Z  INFO connection{addr=127.0.0.1:47220}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:15.118375Z  INFO connection{addr=127.0.0.1:47220}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:15.118638Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:16.543793Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:16.549270Z  INFO test{config_path="tests/for_udp/tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:16.549348Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:16.549435Z  INFO config_watcher{path="tests/for_udp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:16.549555Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:16.549569Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:16.551443Z  INFO connection{addr=127.0.0.1:47960}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:16.551718Z  INFO connection{addr=127.0.0.1:47998}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:16.551871Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:16.552019Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:16.552221Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:16.552401Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:16.552580Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:16.552729Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:16.552891Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:16.557767Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:16.558257Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:16.558423Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:16.558958Z 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 401.827004ms... [INFO] [stdout] 2026-01-08T11:45:16.559184Z 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 551.804511ms... [INFO] [stdout] 2026-01-08T11:45:16.962260Z 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 907.190843ms... [INFO] [stdout] 2026-01-08T11:45:17.028914Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:17.112030Z 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 1.072173328s... [INFO] [stdout] 2026-01-08T11:45:17.152822Z  INFO test{config_path="tests/for_tcp/tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:17.153083Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:17.153225Z  INFO config_watcher{path="tests/for_tcp/tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:17.153386Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:17.153618Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:17.155681Z  INFO connection{addr=127.0.0.1:47144}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:17.155958Z  INFO connection{addr=127.0.0.1:47144}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:17.156173Z  INFO connection{addr=127.0.0.1:47220}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:17.156408Z  INFO connection{addr=127.0.0.1:47220}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:17.156623Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:17.157036Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:17.157265Z  INFO connection{addr=127.0.0.1:47144}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:17.157713Z  INFO connection{addr=127.0.0.1:47220}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:17.158232Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:17.158780Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159043Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159230Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159406Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159577Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159762Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.159936Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160105Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160286Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160456Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160621Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160816Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.160987Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.161158Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.161333Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.161498Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:17.165960Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:17.166398Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:17.166518Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:17.167491Z 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 403.297101ms... [INFO] [stdout] 2026-01-08T11:45:17.167729Z 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 515.966303ms... [INFO] [stdout] 2026-01-08T11:45:17.555792Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:17.557068Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:17.557421Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:17.572764Z 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 895.792816ms... [INFO] [stdout] 2026-01-08T11:45:17.685099Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to connect to 127.0.0.1:2333: Failed to connect TCP socket: Connection refused (os error 111). Retry in 1.172049786s... [INFO] [stdout] 2026-01-08T11:45:17.881018Z  INFO connection{addr=127.0.0.1:48068}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:17.883888Z  INFO connection{addr=127.0.0.1:48068}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:17.884108Z  INFO connection{addr=127.0.0.1:48068}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:17.884599Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:18.160780Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:18.186824Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:18.187201Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:18.192790Z  INFO connection{addr=127.0.0.1:48108}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:18.193572Z  INFO connection{addr=127.0.0.1:48108}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:18.195832Z  INFO connection{addr=127.0.0.1:48108}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:18.196334Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:18.475234Z  INFO connection{addr=127.0.0.1:47374}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:18.476142Z  INFO connection{addr=127.0.0.1:47374}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:18.477459Z  INFO connection{addr=127.0.0.1:47374}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:18.477731Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:18.868721Z  INFO connection{addr=127.0.0.1:57108}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:18.869626Z  INFO connection{addr=127.0.0.1:57108}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:18.870943Z  INFO connection{addr=127.0.0.1:57108}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:18.871212Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:20.056944Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:20.062985Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:20.073526Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:20.073620Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:20.073820Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.073934Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.074053Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:20.227737Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:20.228249Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:20.228362Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:20.242743Z  INFO connection{addr=127.0.0.1:44070}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:20.244691Z  INFO connection{addr=127.0.0.1:44086}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:20.245078Z  WARN connection{addr=127.0.0.1:44070}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:20.245238Z  INFO connection{addr=127.0.0.1:44070}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:20.245823Z  INFO connection{addr=127.0.0.1:48068}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.246022Z  INFO connection{addr=127.0.0.1:44070}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:20.246519Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:20.247132Z  WARN connection{addr=127.0.0.1:44086}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:20.247296Z  INFO connection{addr=127.0.0.1:44086}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:20.247501Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:20.247656Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.248023Z  INFO connection{addr=127.0.0.1:48108}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.248175Z  INFO connection{addr=127.0.0.1:44086}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:20.248654Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:20.252476Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:20.252712Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.662911Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:20.900153Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:20.974756Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:20.974928Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:20.975300Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.975486Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.975684Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:20.976806Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:20.977440Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:20.977658Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:20.987770Z  INFO connection{addr=127.0.0.1:57192}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:20.991805Z  INFO connection{addr=127.0.0.1:57194}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:20.992263Z  WARN connection{addr=127.0.0.1:57192}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:20.992482Z  INFO connection{addr=127.0.0.1:57192}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:20.993005Z  INFO connection{addr=127.0.0.1:57108}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.993218Z  INFO connection{addr=127.0.0.1:57108}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:20.994409Z  INFO connection{addr=127.0.0.1:57108}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:20.994808Z  INFO connection{addr=127.0.0.1:57192}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:20.995095Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:20.996386Z  WARN connection{addr=127.0.0.1:57194}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:20.996602Z  INFO connection{addr=127.0.0.1:57194}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:20.996921Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.997154Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.997371Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.997577Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.997783Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.997990Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.998199Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.998411Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:20.999147Z  INFO connection{addr=127.0.0.1:47374}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:20.999352Z  INFO connection{addr=127.0.0.1:47374}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:21.000543Z  INFO connection{addr=127.0.0.1:47374}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:21.000910Z  INFO connection{addr=127.0.0.1:57194}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:21.001218Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:21.015293Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.015583Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.015799Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.016002Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.016208Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.016403Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.016602Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.016831Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.074845Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:21.080726Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:21.151333Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:21.151481Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:21.151632Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:21.151689Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:21.151918Z  INFO connection{addr=127.0.0.1:44086}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:21.152155Z  INFO connection{addr=127.0.0.1:44070}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:21.152325Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:21.152500Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:21.152690Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.152893Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 436.52775ms... [INFO] [stdout] 2026-01-08T11:45:21.153033Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:21.153182Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:21.153364Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 418.081832ms... [INFO] [stdout] 2026-01-08T11:45:21.154402Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:21.154563Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:21.580549Z  INFO connection{addr=127.0.0.1:44122}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:21.583449Z  INFO connection{addr=127.0.0.1:44122}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:21.585897Z  INFO connection{addr=127.0.0.1:44122}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:21.586966Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:21.610294Z  INFO connection{addr=127.0.0.1:44156}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:21.611830Z  INFO connection{addr=127.0.0.1:44156}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:21.613819Z  INFO connection{addr=127.0.0.1:44156}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:21.614860Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:21.976920Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:22.234592Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:22.331857Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:22.332031Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:22.332307Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:22.332359Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:22.332530Z  INFO connection{addr=127.0.0.1:57194}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:22.333138Z  INFO connection{addr=127.0.0.1:57194}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:22.333377Z  INFO connection{addr=127.0.0.1:57192}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:22.333603Z  INFO connection{addr=127.0.0.1:57192}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:22.333821Z  INFO connection{addr=127.0.0.1:57194}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:22.334229Z  INFO connection{addr=127.0.0.1:57192}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:22.334700Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:22.336102Z ERROR handle{service=echo}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 578.178219ms... [INFO] [stdout] 2026-01-08T11:45:22.336438Z ERROR handle{service=pingpong}: rathole::client: Failed to run the control channel: Failed to read cmd: early eof. Retry in 487.243369ms... [INFO] [stdout] 2026-01-08T11:45:22.337597Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.337918Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.338145Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.338378Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.338606Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.338888Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.339139Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.339653Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.339939Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.340166Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.340398Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.340576Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.340773Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.340956Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.341138Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.342026Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:22.360841Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:22.361621Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:22.832102Z  INFO connection{addr=127.0.0.1:57368}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:22.833194Z  INFO connection{addr=127.0.0.1:57368}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:22.834556Z  INFO connection{addr=127.0.0.1:57368}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:22.834859Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:22.924586Z  INFO connection{addr=127.0.0.1:57444}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:22.925541Z  INFO connection{addr=127.0.0.1:57444}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:22.926917Z  INFO connection{addr=127.0.0.1:57444}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:22.927200Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:23.652923Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:23.676622Z  INFO test{config_path="tests/for_udp/noise_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:23.676745Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:23.676873Z  INFO config_watcher{path="tests/for_udp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:23.677527Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:23.677580Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:23.677871Z  INFO connection{addr=127.0.0.1:44122}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:23.678133Z  INFO connection{addr=127.0.0.1:44156}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:23.678299Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:23.678486Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:23.678965Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:23.679170Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:23.682899Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:23.683041Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: unexpected end of file [INFO] [stdout] 2026-01-08T11:45:23.683176Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:23.686948Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:23.687094Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:23.687182Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:23.687632Z 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 444.185111ms... [INFO] [stdout] 2026-01-08T11:45:23.687785Z 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 494.769198ms... [INFO] [stdout] 2026-01-08T11:45:24.133931Z 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.008028449s... [INFO] [stdout] 2026-01-08T11:45:24.184803Z 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.163216632s... [INFO] [stdout] 2026-01-08T11:45:24.683408Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:24.699711Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:24.700076Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:24.837906Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:25.144495Z  INFO connection{addr=127.0.0.1:44204}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:25.144879Z  INFO connection{addr=127.0.0.1:44204}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:25.145060Z  INFO connection{addr=127.0.0.1:44204}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:25.145289Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:25.351770Z  INFO connection{addr=127.0.0.1:44222}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:25.352558Z  INFO connection{addr=127.0.0.1:44222}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:25.353058Z  INFO connection{addr=127.0.0.1:44222}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:25.353544Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:25.466470Z  INFO test{config_path="tests/for_tcp/noise_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:25.466747Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:25.466897Z  INFO config_watcher{path="tests/for_tcp/noise_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:25.467083Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:25.467164Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:25.467350Z  INFO connection{addr=127.0.0.1:57368}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:25.467507Z  INFO connection{addr=127.0.0.1:57368}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:25.467634Z  INFO connection{addr=127.0.0.1:57444}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:25.467786Z  INFO connection{addr=127.0.0.1:57444}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:25.467915Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:25.468075Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:25.468227Z  INFO connection{addr=127.0.0.1:57368}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:25.468509Z  INFO connection{addr=127.0.0.1:57444}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:25.468906Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:25.469258Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.469461Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.469639Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.469812Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.469960Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470102Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470253Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470396Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470536Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470694Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470840Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.470980Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.471120Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.471269Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.471408Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.471846Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: early eof [INFO] [stdout] 2026-01-08T11:45:25.475049Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:25.476792Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:25.476933Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:25.477816Z 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 563.877148ms... [INFO] [stdout] 2026-01-08T11:45:25.477994Z 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 562.879216ms... [INFO] [stdout] 2026-01-08T11:45:26.043316Z 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.181417638s... [INFO] [stdout] 2026-01-08T11:45:26.044874Z 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.038174555s... [INFO] [stdout] 2026-01-08T11:45:26.473792Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:26.476699Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:26.476891Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:27.086958Z  INFO connection{addr=127.0.0.1:57612}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:27.090941Z  INFO connection{addr=127.0.0.1:57612}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:27.091728Z  INFO connection{addr=127.0.0.1:57612}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:27.091962Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:27.184100Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:27.186354Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:27.192468Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:27.192558Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:27.192750Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:27.192939Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:27.193066Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:27.195705Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:27.195901Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:27.196112Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:27.197762Z  INFO connection{addr=127.0.0.1:44254}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:27.198240Z  INFO connection{addr=127.0.0.1:44260}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:27.198534Z  WARN connection{addr=127.0.0.1:44254}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:27.198635Z  INFO connection{addr=127.0.0.1:44254}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:27.199180Z  INFO connection{addr=127.0.0.1:44204}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:27.200788Z  INFO connection{addr=127.0.0.1:44254}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:27.201127Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:27.201405Z  WARN connection{addr=127.0.0.1:44260}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:27.201504Z  INFO connection{addr=127.0.0.1:44260}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:27.201872Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:27.202121Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:27.202640Z  INFO connection{addr=127.0.0.1:44222}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:27.202927Z  INFO connection{addr=127.0.0.1:44260}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:27.203255Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:27.203919Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:27.206857Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:27.229003Z  INFO connection{addr=127.0.0.1:57698}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:27.233046Z  INFO connection{addr=127.0.0.1:57698}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:27.233704Z  INFO connection{addr=127.0.0.1:57698}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:27.233854Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:28.195804Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:28.198208Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:28.200248Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:28.200320Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:28.200456Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:28.200480Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:28.200723Z  INFO connection{addr=127.0.0.1:44254}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:28.200962Z  INFO connection{addr=127.0.0.1:44260}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:28.201119Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:28.201295Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:28.201467Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:28.201695Z 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 550.357982ms... [INFO] [stdout] 2026-01-08T11:45:28.201822Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:28.202243Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:28.202435Z 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 474.871576ms... [INFO] [stdout] 2026-01-08T11:45:28.203382Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:28.203527Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:28.679377Z  INFO connection{addr=127.0.0.1:38240}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:28.680839Z  INFO connection{addr=127.0.0.1:38240}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:28.681043Z  INFO connection{addr=127.0.0.1:38240}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:28.681260Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:28.800953Z  INFO connection{addr=127.0.0.1:38262}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:28.801335Z  INFO connection{addr=127.0.0.1:38262}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:28.801524Z  INFO connection{addr=127.0.0.1:38262}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:28.801768Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:28.975898Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:29.047139Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:29.074657Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:29.074829Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:29.075107Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:29.075282Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:29.075787Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:29.082877Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:29.083049Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:29.083131Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:29.084761Z  INFO connection{addr=127.0.0.1:54764}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:29.085081Z  INFO connection{addr=127.0.0.1:54772}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:29.085254Z  WARN connection{addr=127.0.0.1:54764}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:29.085307Z  INFO connection{addr=127.0.0.1:54764}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:29.085549Z  INFO connection{addr=127.0.0.1:57698}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:29.085662Z  INFO connection{addr=127.0.0.1:57698}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:29.085961Z  INFO connection{addr=127.0.0.1:57698}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:29.086227Z  INFO connection{addr=127.0.0.1:54764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:29.086354Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:29.086569Z  WARN connection{addr=127.0.0.1:54772}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:29.086621Z  INFO connection{addr=127.0.0.1:54772}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:29.087400Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.088705Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.089172Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.089603Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.090101Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.090428Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.090832Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.091167Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.097292Z  INFO connection{addr=127.0.0.1:57612}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:29.100814Z  INFO connection{addr=127.0.0.1:57612}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:29.102163Z  INFO connection{addr=127.0.0.1:57612}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:29.103601Z  INFO connection{addr=127.0.0.1:54772}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:29.104934Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:29.107120Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.107451Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.107773Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.108085Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.108395Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.108718Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.109029Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:29.109330Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.081792Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:30.155040Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:30.196808Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:30.196976Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:30.197158Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:30.197256Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:30.197388Z  INFO connection{addr=127.0.0.1:54764}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.197579Z  INFO connection{addr=127.0.0.1:54764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:30.197734Z  INFO connection{addr=127.0.0.1:54772}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.197888Z  INFO connection{addr=127.0.0.1:54772}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:30.198022Z  INFO connection{addr=127.0.0.1:54764}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:30.198444Z  INFO connection{addr=127.0.0.1:54772}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:30.198912Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:30.199242Z 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 433.637072ms... [INFO] [stdout] 2026-01-08T11:45:30.199496Z 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 473.516478ms... [INFO] [stdout] 2026-01-08T11:45:30.199732Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.199932Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.200133Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.200352Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.200541Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.200742Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.200949Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.201156Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.201381Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.201592Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.201808Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.202018Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.202273Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.202453Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.202657Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.202930Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.204302Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:30.204892Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:30.639965Z  INFO connection{addr=127.0.0.1:54934}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:30.640447Z  INFO connection{addr=127.0.0.1:54934}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:30.640945Z  INFO connection{addr=127.0.0.1:54934}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:30.641135Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:30.675116Z  INFO connection{addr=127.0.0.1:55008}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:30.679112Z  INFO connection{addr=127.0.0.1:55008}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:30.679635Z  INFO connection{addr=127.0.0.1:55008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:30.679819Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:30.701925Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:30.707219Z  INFO test{config_path="tests/for_udp/websocket_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:30.707349Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:30.707491Z  INFO config_watcher{path="tests/for_udp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:30.707647Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:30.707861Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:30.708155Z  INFO connection{addr=127.0.0.1:38240}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.708430Z  INFO connection{addr=127.0.0.1:38262}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.708594Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.708771Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:30.709006Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:30.709216Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.709422Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.709593Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.709794Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:30.717716Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:30.817270Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:30.820827Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:30.821481Z 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 437.639779ms... [INFO] [stdout] 2026-01-08T11:45:30.821700Z 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 510.553161ms... [INFO] [stdout] 2026-01-08T11:45:31.260962Z 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 813.346286ms... [INFO] [stdout] 2026-01-08T11:45:31.333855Z 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.111721874s... [INFO] [stdout] 2026-01-08T11:45:31.711793Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:31.715706Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:31.785410Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:32.081395Z  INFO connection{addr=127.0.0.1:38318}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:32.082024Z  INFO connection{addr=127.0.0.1:38318}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:32.083867Z  INFO connection{addr=127.0.0.1:38318}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:32.084212Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:32.454103Z  INFO connection{addr=127.0.0.1:38336}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:32.454659Z  INFO connection{addr=127.0.0.1:38336}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:32.454968Z  INFO connection{addr=127.0.0.1:38336}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:32.455292Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:32.700914Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:32.855557Z  INFO test{config_path="tests/for_tcp/websocket_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:32.856336Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:32.856959Z  INFO config_watcher{path="tests/for_tcp/websocket_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:32.857513Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:32.857837Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:32.858344Z  INFO connection{addr=127.0.0.1:54934}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:32.858764Z  INFO connection{addr=127.0.0.1:54934}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:32.859176Z  INFO connection{addr=127.0.0.1:55008}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:32.859696Z  INFO connection{addr=127.0.0.1:55008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:32.860188Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:32.860695Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:32.861161Z  INFO connection{addr=127.0.0.1:54934}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:32.861803Z  INFO connection{addr=127.0.0.1:55008}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:32.862530Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the client [INFO] [stdout] 2026-01-08T11:45:32.863574Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.864599Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.865322Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.865661Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.865990Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.866297Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.866592Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.869997Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.870357Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.870648Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.870971Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.871286Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.871597Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.872228Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.872403Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.872539Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:32.878746Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:32.938248Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:32.942815Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:32.943376Z 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 481.092128ms... [INFO] [stdout] 2026-01-08T11:45:32.943527Z 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 457.571465ms... [INFO] [stdout] 2026-01-08T11:45:33.403331Z 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.084505203s... [INFO] [stdout] 2026-01-08T11:45:33.426080Z 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 961.273632ms... [INFO] [stdout] 2026-01-08T11:45:33.867790Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: start the server [INFO] [stdout] 2026-01-08T11:45:33.871703Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:33.960434Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:34.212933Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:34.215706Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:34.220949Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:34.221029Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:34.221227Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:34.221382Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:34.221530Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:34.222779Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:34.288034Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:34.288379Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:34.298100Z  INFO connection{addr=127.0.0.1:38354}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:34.299821Z  WARN connection{addr=127.0.0.1:38354}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:34.300044Z  INFO connection{addr=127.0.0.1:38354}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:34.300811Z  INFO connection{addr=127.0.0.1:38336}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:34.301782Z  INFO connection{addr=127.0.0.1:38354}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:34.302511Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:34.303173Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:34.303450Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:34.307754Z  INFO connection{addr=127.0.0.1:38364}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:34.310627Z  WARN connection{addr=127.0.0.1:38364}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:34.311736Z  INFO connection{addr=127.0.0.1:38364}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:34.312438Z  INFO connection{addr=127.0.0.1:38318}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:34.312779Z  INFO connection{addr=127.0.0.1:38364}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:34.313096Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:34.314044Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:34.314494Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:34.399775Z  INFO connection{addr=127.0.0.1:55174}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:34.400385Z  INFO connection{addr=127.0.0.1:55174}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:34.400915Z  INFO connection{addr=127.0.0.1:55174}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:34.401046Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:34.493922Z  INFO connection{addr=127.0.0.1:55254}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:34.494532Z  INFO connection{addr=127.0.0.1:55254}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:34.494980Z  INFO connection{addr=127.0.0.1:55254}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:34.495081Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:35.222938Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:35.227611Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:35.230635Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:35.233718Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:35.234001Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:35.234230Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:35.236483Z  INFO connection{addr=127.0.0.1:38354}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:35.237052Z  INFO connection{addr=127.0.0.1:38364}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:35.237506Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:35.237911Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:35.238482Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:35.239145Z 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 467.431795ms... [INFO] [stdout] 2026-01-08T11:45:35.239615Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:35.240026Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:35.240658Z 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 405.052926ms... [INFO] [stdout] 2026-01-08T11:45:35.244704Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:35.311622Z  INFO rathole::server: Listening at 0.0.0.0:2332 [INFO] [stdout] 2026-01-08T11:45:35.651654Z  INFO connection{addr=127.0.0.1:38426}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:35.652389Z  INFO connection{addr=127.0.0.1:38426}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:35.652653Z  INFO connection{addr=127.0.0.1:38426}:handle{service=echo}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:35.653520Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:35.717787Z  INFO connection{addr=127.0.0.1:38464}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:35.718344Z  INFO connection{addr=127.0.0.1:38464}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:35.718606Z  INFO connection{addr=127.0.0.1:38464}:handle{service=pingpong}:run_udp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:35.718962Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:36.371792Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:36.440662Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:36.492597Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the client [INFO] [stdout] 2026-01-08T11:45:36.492778Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:36.493040Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:36.493258Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:36.493563Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the client [INFO] [stdout] 2026-01-08T11:45:36.511844Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:36.560285Z  INFO handle{service=echo}: rathole::client: Starting 092c79e8f80e559e404bcf660c48f3522b67aba9ff1484b0367e1a4ddef7431d [INFO] [stdout] 2026-01-08T11:45:36.563800Z  INFO handle{service=pingpong}: rathole::client: Starting c78862c4afddaa20fd3ff12e5e270480706499341ca5d1d7437ec9668556805b [INFO] [stdout] 2026-01-08T11:45:36.569725Z  INFO connection{addr=127.0.0.1:55322}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:36.571407Z  WARN connection{addr=127.0.0.1:55322}: rathole::server: Dropping previous control channel for service echo [INFO] [stdout] 2026-01-08T11:45:36.571518Z  INFO connection{addr=127.0.0.1:55322}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:36.571907Z  INFO connection{addr=127.0.0.1:55254}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:36.572091Z  INFO connection{addr=127.0.0.1:55254}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:36.572620Z  INFO connection{addr=127.0.0.1:55254}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:36.573128Z  INFO connection{addr=127.0.0.1:55322}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:36.573386Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:36.574211Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.575423Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.575740Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.576066Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.576576Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.576909Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.577262Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.577564Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.580904Z  INFO connection{addr=127.0.0.1:55332}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:36.583897Z  WARN connection{addr=127.0.0.1:55332}: rathole::server: Dropping previous control channel for service pingpong [INFO] [stdout] 2026-01-08T11:45:36.584160Z  INFO connection{addr=127.0.0.1:55332}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:36.585020Z  INFO connection{addr=127.0.0.1:55174}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:36.585185Z  INFO connection{addr=127.0.0.1:55174}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:36.585563Z  INFO connection{addr=127.0.0.1:55174}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:36.585973Z  INFO connection{addr=127.0.0.1:55332}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:36.586122Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:36.587130Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.587369Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.588777Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.588971Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.589153Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.589338Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.589548Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:36.592738Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.495815Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: echo [INFO] [stdout] 2026-01-08T11:45:37.577495Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: pingpong [INFO] [stdout] 2026-01-08T11:45:37.629269Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server [INFO] [stdout] 2026-01-08T11:45:37.629457Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:37.629699Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:37.629755Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:37.631291Z  INFO connection{addr=127.0.0.1:55322}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:37.631518Z  INFO connection{addr=127.0.0.1:55322}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:37.631711Z  INFO connection{addr=127.0.0.1:55332}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:37.632097Z  INFO connection{addr=127.0.0.1:55332}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:37.632261Z  INFO connection{addr=127.0.0.1:55322}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:37.632702Z  INFO connection{addr=127.0.0.1:55332}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:37.633208Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: restart the server [INFO] [stdout] 2026-01-08T11:45:37.634046Z 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 435.381873ms... [INFO] [stdout] 2026-01-08T11:45:37.634365Z 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 485.648623ms... [INFO] [stdout] 2026-01-08T11:45:37.634613Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.634886Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.635132Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.635374Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.635615Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.635865Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.637024Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.638098Z  WARN handle{service=echo}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.638475Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.638753Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.639007Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.639243Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.639484Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.639739Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.639981Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.640213Z  WARN handle{service=pingpong}:run: rathole::client: Failed to run the data channel: Failed to read cmd: WebSocket protocol error: Connection reset without closing handshake: Connection reset without closing handshake [INFO] [stdout] 2026-01-08T11:45:37.644807Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Start watching the config [INFO] [stdout] 2026-01-08T11:45:37.712982Z  INFO rathole::server: Listening at 0.0.0.0:2333 [INFO] [stdout] 2026-01-08T11:45:37.739014Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:37.746229Z  INFO test{config_path="tests/for_udp/websocket_tls_transport.toml" t=Udp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:37.746316Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:37.747824Z  INFO config_watcher{path="tests/for_udp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:37.748205Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:37.748267Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:37.749795Z  INFO connection{addr=127.0.0.1:38426}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:37.750455Z  INFO connection{addr=127.0.0.1:38464}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:37.750715Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:37.750952Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] test udp ... ok [INFO] [stdout] 2026-01-08T11:45:38.076148Z  INFO connection{addr=127.0.0.1:55482}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:38.076560Z  INFO connection{addr=127.0.0.1:55482}: rathole::server: Control channel established service=echo [INFO] [stdout] 2026-01-08T11:45:38.077081Z  INFO connection{addr=127.0.0.1:55482}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2334 [INFO] [stdout] 2026-01-08T11:45:38.077208Z  INFO handle{service=echo}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:38.125761Z  INFO connection{addr=127.0.0.1:55556}: rathole::server: Try to handshake a control channel [INFO] [stdout] 2026-01-08T11:45:38.126268Z  INFO connection{addr=127.0.0.1:55556}: rathole::server: Control channel established service=pingpong [INFO] [stdout] 2026-01-08T11:45:38.126817Z  INFO connection{addr=127.0.0.1:55556}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Listening at 0.0.0.0:2335 [INFO] [stdout] 2026-01-08T11:45:38.126996Z  INFO handle{service=pingpong}:run: rathole::client: Control channel established [INFO] [stdout] 2026-01-08T11:45:40.134914Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: lots of echo and pingpong [INFO] [stdout] 2026-01-08T11:45:40.369454Z  INFO test{config_path="tests/for_tcp/websocket_tls_transport.toml" t=Tcp}: integration_test: shutdown the server and the client [INFO] [stdout] 2026-01-08T11:45:40.369922Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:40.370777Z  INFO config_watcher{path="tests/for_tcp/websocket_tls_transport.toml"}: rathole::config_watcher: Config watcher exiting [INFO] [stdout] 2026-01-08T11:45:40.371167Z  INFO rathole::server: Shuting down gracefully... [INFO] [stdout] 2026-01-08T11:45:40.371380Z  INFO rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:40.375926Z  INFO connection{addr=127.0.0.1:55482}:handle{service=echo}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:40.376171Z  INFO connection{addr=127.0.0.1:55482}:handle{service=echo}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:40.376350Z  INFO connection{addr=127.0.0.1:55556}:handle{service=pingpong}:run: rathole::server: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:40.376547Z  INFO connection{addr=127.0.0.1:55556}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: TCPListener shutdown [INFO] [stdout] 2026-01-08T11:45:40.377091Z  INFO handle{service=pingpong}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:40.377338Z  INFO handle{service=echo}:run: rathole::client: Control channel shutdown [INFO] [stdout] 2026-01-08T11:45:40.377564Z  INFO connection{addr=127.0.0.1:55482}:handle{service=echo}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] 2026-01-08T11:45:40.377983Z  INFO connection{addr=127.0.0.1:55556}:handle{service=pingpong}:run_tcp_connection_pool: rathole::server: Shutdown [INFO] [stdout] test tcp ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 37.91s [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" "62ae3ed6f0f5ccd7e8cd73a62c307ca06a6ff5bf5f6ebaa5b0c0200d84875190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "62ae3ed6f0f5ccd7e8cd73a62c307ca06a6ff5bf5f6ebaa5b0c0200d84875190", kill_on_drop: false }` [INFO] [stdout] 62ae3ed6f0f5ccd7e8cd73a62c307ca06a6ff5bf5f6ebaa5b0c0200d84875190