Comments (2)
The panic comes from the slice primitive slice, specifically fromclone_from_slice
https://github.com/rust-lang/rust/blob/master/src/libcore/slice/mod.rs#L590
This method is called by proxy_stream.rs here: https://github.com/linkerd/linkerd-tcp/blob/master/src/lb/proxy_stream.rs#L134
from linkerd-tcp.
Some trace log lines right before the panic
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: poll
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.4:37388))).read(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: read 8192 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::socket ^[[0m: Socket(Plain(V4(10.240.0.10:7474))).write(8192)
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: wrote 6656 bytes
^[[35mTRACE^[[0m:^[[1mlinkerd_tcp::lb::proxy_stream^[[0m: saving 1536 bytes
thread 'main' panicked at 'destination and source slices have different lengths', /checkout/src/libcore/slice/mod.rs:591
stack backtrace:
0: 0x5623f50f2e63 - std::sys::imp::backtrace::tracing::imp::unwind_backtrace::h0c49f46a3545f908
at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: 0x5623f50eecf4 - std::sys_common::backtrace::_print::hcef39a9816714c4c
at /checkout/src/libstd/sys_common/backtrace.rs:71
2: 0x5623f50f57a7 - std::panicking::default_hook::{{closure}}::h7c3c94835e02f846
at /checkout/src/libstd/sys_common/backtrace.rs:60
at /checkout/src/libstd/panicking.rs:355
3: 0x5623f50f532b - std::panicking::default_hook::h0bf7bc3112fb107d
at /checkout/src/libstd/panicking.rs:371
4: 0x5623f50f5c7b - std::panicking::rust_panic_with_hook::ha27630c950090fec
at /checkout/src/libstd/panicking.rs:549
5: 0x5623f50f5b54 - std::panicking::begin_panic::heb97fa3158b71158
at /checkout/src/libstd/panicking.rs:511
6: 0x5623f50f5a89 - std::panicking::begin_panic_fmt::h8144403278d84748
at /checkout/src/libstd/panicking.rs:495
7: 0x5623f50f5a17 - rust_begin_unwind
at /checkout/src/libstd/panicking.rs:471
8: 0x5623f5120efd - core::panicking::panic_fmt::h3b0cca53e68f9654
at /checkout/src/libcore/panicking.rs:69
9: 0x5623f5120e34 - core::panicking::panic::h4b991f5abe7d76d5
at /checkout/src/libcore/panicking.rs:49
10: 0x5623f4faff7c - <linkerd_tcp::lb::proxy_stream::ProxyStream as futures::future::Future>::poll::h16aa78271f3f436f
I think this is an off-by-one error.
from linkerd-tcp.
Related Issues (20)
- use multi-stage docker builds and an autobuild repo HOT 2
- unable to proxy iperf3 traffic HOT 3
- Add more client stats HOT 3
- Refactor linkerd-tcp to accomodate routing. HOT 1
- Don't use rustls HOT 2
- Implement HAProxy PROXY protocol for relaying TCP information
- Linkerd-tcp panics during redis load-test HOT 2
- Can't test linkerd-tcp TLS server with curl or tls-scan HOT 2
- Update rustls and mio versions HOT 4
- Support file backed resolver HOT 1
- Periodic waves of EOF every 60 seconds. HOT 3
- `/shutdown` on the admin port no longer results in the process shutting down HOT 1
- TCP SNI for Kubernetes? HOT 3
- Binary building fails due to incorrect commit-id for rustls in cargo.lock HOT 3
- Is linkerd-tcp under active development? HOT 2
- Unable to build from source HOT 1
- Waiting For Alpha HOT 1
- Linkerd-TCP + Websockets + K8S 1.9.x - Not working HOT 2
- Vault-generated private keys throw FailedToConstructPrivateKey errors HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linkerd-tcp.