hyperium / tonic

A native gRPC client & server implementation with async/await support.
https://docs.rs/tonic
MIT License
9.93k stars 1.01k forks source link

unexpected behavior with tls encryption - protocol error with invalid compression flag #1033

Closed Sollimann closed 2 years ago

Sollimann commented 2 years ago

Bug Report

Version

tonic = { version = "0.7.2", features = [
    "prost",
    "tls",
    "compression",
    "transport",
] }

Platform

Linux 20.04 x86_64

Description

Hey, we're having issues using the tonic grpc client with tls encryption to talk to the gRPC service on the spot robot from Boston Dynamics. We're able to connect to the gRPC AuthService using both the grpcio lib in Rust and the grpcio library in Python, however we're unable to make it work using the tonic framework.

PS! Boston Dynamics spot protobuf definitions can be found here

The following code snippet with tonic fails:

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    const ENDPOINT: &str = "https://192.168.80.3:443";

    let certs = tokio::fs::read("./integrations/spot-integration/src/resources/robot.pem").await?;

    let token = &base64::encode(b"user:spot_password").to_string();
    let basic_token = format!("Basic {}", token);
    let header_value: MetadataValue<_> = basic_token.parse()?;

    let tls_config = ClientTlsConfig::new()
        .ca_certificate(Certificate::from_pem(certs.as_slice()))
        .domain_name("auth.spot.robot");

    let channel = Channel::from_static(ENDPOINT).tls_config(tls_config)?.connect().await?;

    //let mut auth_client = AuthServiceClient::<tonic::transport::Channel>::new(channel);
    let system_time_epoch = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap();
    let timestamp = Timestamp {
        seconds: (system_time_epoch.as_secs() as i64),
        nanos: 0,
    };
    let auth_token_request = GetAuthTokenRequest {
        header: Some(RequestHeader {
            request_timestamp: Some(timestamp),
            client_name: "client_name".to_string(),
            disable_rpc_logging: false,
        }),
        username: "user".to_string(),
        password: "spot_password".to_string(),
        ..Default::default()
    };

    let mut client =
        AuthServiceClient::<tonic::transport::Channel>::with_interceptor(channel, |mut req: Request<()>| {
            req.metadata_mut().insert("authorization", header_value.clone());
            // req.metadata_mut().insert("grpc-encoding", "identity".parse().unwrap());
            // req.metadata_mut()
            //     .insert("grpc-accept-encoding", "gzip,".parse().unwrap());
            // req.metadata_mut().remove("te");
            req.metadata_mut()
                .insert("content-type", "application/grpc+proto".parse().unwrap());

            println!("metadata: {:?}", req.metadata());
            Ok(req)
        });

    println!("{:?}", &client);
    let response = client.get_auth_token(auth_token_request).await.unwrap();

    // auth_client.get_auth_token likely returns an tonic::Status Err, won't reach these statements
    println!("Status {}", response.get_ref().status);
    println!("Token {}", response.get_ref().token);
    Ok(())
}

with the following message:

thread 'main' panicked at 'called Result::unwrap() on an Err value: Status { code: Internal, message: "protocol error: received message with invalid compression flag: 31 (valid flags are 0 and 1) while receiving response with status: 404 Not Found", metadata: MetadataMap { headers: {"server": "nginx/1.20.2", "date": "Thu, 07 Jul 2022 19:56:14 GMT", "content-type": "text/html", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-encoding": "gzip"} }, source: None }'

Anyone has an idea why this does not work?

The following examples with grpcio in Python and Rust works:

Python:

import grpc
import pkg_resources
from bosdyn.api.auth_service_pb2_grpc import AuthServiceStub
from bosdyn.api import auth_pb2
from bosdyn.api.header_pb2 import RequestHeader
from base64 import b64encode
from google.protobuf.timestamp_pb2 import Timestamp
import time

class Auth(grpc.AuthMetadataPlugin):
    "Inject an authorization header with a bearer token in GRPC requests"

    def __init__(self, username, password):#: str, token_supplier: Callable[[], str]):

        self.username = username
        self.password=password

    def __call__(
        self,
        context: grpc.AuthMetadataContext,
        callback: grpc.AuthMetadataPluginCallback,
    ) -> None:
        userAndPass = b64encode(f"{self.username}:{self.password}".encode("ascii")).decode("ascii")
        callback(
            (
                ("authorization", "Basic " + userAndPass),
            ),
            None,
        )
target = "192.168.80.3:443"
cert = pkg_resources.resource_stream('bosdyn.client.resources', 'robot.pem').read()
#print(cert)
auth_plugin=Auth(username="user", password = "spot_password")

credentials = grpc.composite_channel_credentials(
        grpc.ssl_channel_credentials(root_certificates=cert),
        grpc.metadata_call_credentials(auth_plugin),
    )
options = [('grpc.ssl_target_name_override', "auth.spot.robot")]
channel = grpc.secure_channel(target, credentials, options=options)

stub = AuthServiceStub(channel)
print(stub)
header = RequestHeader(request_timestamp = Timestamp(seconds=int(time.time())), client_name="client_name")
request = auth_pb2.GetAuthTokenRequest(header=header, username="user", password= "spot_password")

print(request)
print(channel)

print("-----------Response-----------")
print(stub.GetAuthToken(request))
print("------------------------------")

Rust

use grpcio::{ChannelBuilder, ChannelCredentialsBuilder, EnvBuilder};
use protobuf::well_known_types::Timestamp;
use protos::auth::GetAuthTokenRequest;
use protos::auth_service_grpc::AuthServiceClient;
use protos::header::RequestHeader;
use std::fs;
use std::sync::Arc;
use std::time::{SystemTime, UNIX_EPOCH};

fn main() {
    let env = Arc::new(EnvBuilder::new().build());

    let cert = fs::read("./resources/robot.pem").unwrap();
    let cred = ChannelCredentialsBuilder::new().root_cert(cert).build();

    let channel = ChannelBuilder::new(env)
        .override_ssl_target("auth.spot.robot")
        .secure_connect("192.168.80.3:443", cred);

    let auth_client = AuthServiceClient::new(channel);

    let system_time = SystemTime::now().duration_since(UNIX_EPOCH).unwrap();

    let auth_token_request = GetAuthTokenRequest {
        header: ::protobuf::SingularPtrField::some(RequestHeader {
            request_timestamp: ::protobuf::SingularPtrField::some(Timestamp {
                seconds: system_time.as_secs() as i64,
                nanos: system_time.subsec_nanos() as i32,
                ..Default::default()
            }),
            client_name: "some_client_name".to_string(),
            ..Default::default()
        }),
        username: "user".to_string(),
        password: "spot_password".to_string(),
        ..Default::default()
    };

    println!("request {:?}", auth_token_request);

    let response = auth_client.get_auth_token(&auth_token_request).unwrap();

    println!("Status {:?}", response.status);
    println!("Token {}", response.token);
}
olix0r commented 2 years ago

I think the 'compression flag' error is just indicating that the response body can't be decoded as protobuf. The error message also includes:

status: 404 Not Found", metadata: MetadataMap { headers: {"server": "nginx/1.20.2", "date": "Thu, 07 Jul 2022 19:56:14 GMT", "content-type": "text/html", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000; includeSubDomains", "content-encoding": "gzip"} }, source: None }'

Which seems to indicate that an nginx server is responding with a 404 not found

7Towers commented 1 year ago

@Sollimann I'm experiencing the same error when communicating with Spot using Tonic. Did you get any clarity on this?

LucioFranco commented 1 year ago

If you get a compression flag >1 then its likely you're not speaking h2 directly.

glenngartner commented 1 year ago

Thanks for the prompt feedback @LucioFranco . I think I am using http2. I've tested a few implementations for this, one of them explicitly using an HttpsConnectorBuilder, enabling http2.

hyper_rustls::HttpsConnectorBuilder::new()
                .with_tls_config(tls)
                .https_only()
                .enable_http2()
                .wrap_connector(s)

In all cases, when I inspect the connection with wireshark, I see traffic between my process and the robot server at the correct IP and port, using TCP. I understand that wireshark can't filter by http2 directly, but I'm inferring that http2 is beging used because the protocol is TCP and we're sending / receiving from 443 on the server. I've read that TCP and 443 are typically used with http2.

The full traffic snapshot, FWIW:

67  2.340060351 192.168.8.3 192.168.8.7 TCP 74  39944 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM TSval=648656136 TSecr=0 WS=128
68  2.344390160 192.168.8.7 192.168.8.3 TCP 74  443 → 39944 [SYN, ACK] Seq=0 Ack=1 Win=65160 Len=0 MSS=1460 SACK_PERM TSval=3874889565 TSecr=648656136 WS=256
69  2.344402622 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=1 Ack=1 Win=64256 Len=0 TSval=648656147 TSecr=3874889565
70  2.344997864 192.168.8.3 192.168.8.7 TLSv1.3 325 Client Hello
71  2.348932657 192.168.8.7 192.168.8.3 TCP 66  443 → 39944 [ACK] Seq=1 Ack=260 Win=65024 Len=0 TSval=3874889570 TSecr=648656147
72  2.350978011 192.168.8.7 192.168.8.3 TLSv1.3 1514    Server Hello, Change Cipher Spec, Application Data
73  2.350987484 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=260 Ack=1449 Win=63104 Len=0 TSval=648656153 TSecr=3874889571
74  2.351485536 192.168.8.3 192.168.8.7 TLSv1.3 72  Change Cipher Spec
75  2.352393513 192.168.8.7 192.168.8.3 TLSv1.3 1284    Application Data, Application Data, Application Data
76  2.394270541 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=266 Ack=2667 Win=64128 Len=0 TSval=648656197 TSecr=3874889573
77  2.398295506 192.168.8.7 192.168.8.3 TCP 66  443 → 39944 [ACK] Seq=2667 Ack=266 Win=65024 Len=0 TSval=3874889618 TSecr=648656154
78  2.398306962 192.168.8.3 192.168.8.7 TLSv1.3 393 Application Data, Application Data, Application Data, Application Data
79  2.402352945 192.168.8.7 192.168.8.3 TCP 66  443 → 39944 [ACK] Seq=2667 Ack=593 Win=64768 Len=0 TSval=3874889623 TSecr=648656201
80  2.402353014 192.168.8.7 192.168.8.3 TLSv1.3 145 Application Data
81  2.402364702 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=593 Ack=2746 Win=64128 Len=0 TSval=648656205 TSecr=3874889623
82  2.403699294 192.168.8.7 192.168.8.3 TLSv1.3 145 Application Data
83  2.403706109 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=593 Ack=2825 Win=64128 Len=0 TSval=648656206 TSecr=3874889624
84  2.407009416 192.168.8.7 192.168.8.3 TLSv1.3 150 Application Data
85  2.407021269 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=593 Ack=2909 Win=64128 Len=0 TSval=648656209 TSecr=3874889625
86  2.407281821 192.168.8.3 192.168.8.7 TLSv1.3 97  Application Data
87  2.454495680 192.168.8.7 192.168.8.3 TCP 66  443 → 39944 [ACK] Seq=2909 Ack=624 Win=64768 Len=0 TSval=3874889675 TSecr=648656210
88  2.715874352 192.168.8.7 192.168.8.3 TLSv1.3 301 Application Data
89  2.716917615 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [FIN, ACK] Seq=624 Ack=3144 Win=64128 Len=0 TSval=648656519 TSecr=3874889914
90  2.720413562 192.168.8.7 192.168.8.3 TCP 66  443 → 39944 [FIN, ACK] Seq=3144 Ack=625 Win=64768 Len=0 TSval=3874889941 TSecr=648656519
91  2.720427786 192.168.8.3 192.168.8.7 TCP 66  39944 → 443 [ACK] Seq=625 Ack=3145 Win=64128 Len=0 TSval=648656523 TSecr=3874889941

I can't infer much else from the above, except that I'm sending to the correct IP and port. When I use a python provided library for the bot, with traffic sent to the same IP and port, I receive a proper protobuf response. Similar to what @Sollimann reported, above. So, I know the server on the bot is online and capable of grpc traffic.

My assumption is that the error message I'm posting about:

Error getting robot ID: status: Internal, message: "protocol error: received message with invalid compression flag: 60 (valid flags are 0 and 1) while receiving response with status: 404 Not Found", details: [], metadata: MetadataMap { headers: {"server": "nginx/1.20.2", "date": "Tue, 21 Mar 2023 01:54:32 GMT", "content-type": "text/html", "content-length": "77", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000; includeSubDomains"} }

hinges on the 404 Not Found status. I'm assuming that the compression flag I'm seeing (60) isn't correct, because the server isn't sending me a proper protobuf response. It's just a 404.

That leads me to assume that me, or the library, is sending a request to an incorrect sub-directory on the server, but the scheme and port are correct (I am getting a 404 from a server, after all) . I know this server, and port, is the same used by the functional python api I've tested with.

When I inspect the compiled rust protobuf code for this, i see what appears to be the correct path / sub-directory:

/// Get the robot id information. The ID contains basic information about a robot
        /// which is made available over the network as part of robot discovery without
        /// requiring user authentication.
        pub async fn get_robot_id(
            &mut self,
            request: impl tonic::IntoRequest<super::RobotIdRequest>,
        ) -> Result<tonic::Response<super::RobotIdResponse>, tonic::Status> {
            self.inner
                .ready()
                .await
                .map_err(|e| {
                    tonic::Status::new(
                        tonic::Code::Unknown,
                        format!("Service was not ready: {}", e.into()),
                    )
                })?;
            let codec = tonic::codec::ProstCodec::default();
            let path = http::uri::PathAndQuery::from_static(
                "/bosdyn.api.RobotIdService/GetRobotId",
            );
            self.inner.unary(request.into_request(), path, codec).await
        }

I'm essentially looking for some guidance here as to how or where I can troubleshoot, or gather some data points for more knowledgable users or maintainers to support me, as this requires access to the robot.

Here are two implementations I've attempted thus far. The simpler:

pub async fn get_robot_id(robot_address: &'static str, tls: ClientTlsConfig) -> Result<(), Error> {
    let channel  = Channel::from_static(robot_address)
        .tls_config(tls)?
        .connect().await?;
    let channel = ServiceBuilder::new()
        .layer(tonic::service::interceptor(intercept))
        .layer_fn(AuthSvc::new)
        .service(channel);
    // let mut client = RobotIdServiceClient::with_origin(channel,
    // Uri::from_static("https://robot-id.spot.robot"));
    let mut client = RobotIdServiceClient::new(channel);
    let timeStamp = Timestamp {
        seconds: SystemTime::now()
            .duration_since(UNIX_EPOCH)
            .unwrap()
            .as_secs() as i64,
        nanos: 0,
    };
    let request = tonic::Request::new(RobotIdRequest {
                    header: Some(RequestHeader {
                        client_name: "Basia".to_string(),
                        disable_rpc_logging: false,
                        request_timestamp: Some(timeStamp),
                    }),
    });
    match client.get_robot_id(request).await {
        Ok(res) => println!("Robot ID responded: {:?}", res),
        Err(e) => {
            eprintln!("Error getting robot ID: {}", e)
        }
    };
    Ok(())
}

and a more involved attempt to change the scheme of the url before I send the message, to meet the vendors requirements except from here

The name of the service is a user friendly name which provides some semantic information about what the service can do. The name must be unique across all services. For example, auth is the name of the service which provides authentication.

The type of the service is the gRPC service interface that the service implements. For example, bosdyn.api.AuthService is the type of the auth service. Multiple services can exist for the same type (although with different names and authorities). For example, a camera payload could host a bosdyn.api.ImageService which shares the same interface as the one built into Spot.

The authority is used to direct the RPC request to the correct service. The combination of the authority and the type of the service creates a URL. For example, the auth service has the URL: https://auth.spot.robot/bosdyn.api.AuthService This naming scheme is defined by gRPC itself. All authorities must be of the form <authority-name>.spot.robot. Multiple services of different types can share the same authority.
pub async fn get_id_with_custom_tls() -> Result<(), Box<dyn std::error::Error>> {
    let data_dir = std::path::PathBuf::from_iter([std::env!("CARGO_MANIFEST_DIR"), "certs"]);
    let fd = std::fs::File::open(data_dir.join("robot.pem"))?;

    let mut roots = RootCertStore::empty();

    let mut buf = std::io::BufReader::new(&fd);
    let certs = rustls_pemfile::certs(&mut buf)?;

    roots.add_parsable_certificates(&certs);

    let tls = ClientConfig::builder()
        .with_safe_defaults()
        .with_root_certificates(roots)
        .with_no_client_auth();

    let mut http = HttpConnector::new();
        http.enforce_http(false);

    let connector = tower::ServiceBuilder::new()
        .layer_fn(move |s| {
            let tls = tls.clone();

            hyper_rustls::HttpsConnectorBuilder::new()
                .with_tls_config(tls)
                .https_only()
                .enable_http2()
                .wrap_connector(s)
        })
        .map_request(|_| Uri::from_static("https://192.168.8.7:443"))
        .service(http);

    let client = hyper::Client::builder().build(connector);
    let uri = Uri::from_static("https://robot-id.spot.robot:443");
    let mut client = RobotIdServiceClient::with_origin(client, uri);

    let timeStamp = Timestamp {
        seconds: SystemTime::now()
            .duration_since(UNIX_EPOCH)
            .unwrap()
            .as_secs() as i64,
        nanos: 0,
    };
    let request = tonic::Request::new(RobotIdRequest {
        header: Some(RequestHeader {
            client_name: "Basia".to_string(),
            disable_rpc_logging: false,
            request_timestamp: Some(timeStamp),
        }),
    });

    match client.get_robot_id(request).await {
        Ok(res) => println!("Robot ID responded: {:?}", res),
        Err(e) => {
            eprintln!("Error getting robot ID: {}", e)
        }
    };

    Ok(())
}
7Towers commented 1 year ago

@7Towers == @glenngartner in this case. Not sure why GH signed me in to my personal account

Sollimann commented 1 year ago

@7Towers @glenngartner we ended using grpcio instead, but later abandoned that as well and continued on using the spot-sdk implementation in Python.

We never figured out exactly why it didn't work, but chatgpt suggested to me now that url might be wrong. So the server is expecting a HTTP/2 request, while the tonic framework is sending an HTTPS request. Changing the url scheme to http, e.g const ENDPOINT: &str = "http://192.168.80.3:443" instead of const ENDPOINT: &str = "https://192.168.80.3:443" might work. Could you check?

what do you think? @LucioFranco

7Towers commented 1 year ago

Thanks @Sollimann. Sorry to hear you had to abandon both rust based efforts. I tried http, but I receive the same error. That may be because I'm still using TLS when I create the channel, and I assume it still attempts an https call. When I remove the channel.tls_config() call, I receive a transport error after using a service on the client. I'm assuming that's because the server is only available over TLS.

Wireshark reveals it's a 400 / Bad Request from the server when not using TLS:

106 3.460535613 192.168.8.7 192.168.8.3 HTTP    439 HTTP/1.1 400 Bad Request  (text/html)

I'm not an expert on http/2 and tls, but I don't think they're exclusive. Meaning, I think TLS and HTTPS works using http/2 protocol. At least, that's what I've read on other sites. The Spot documentation from BD indicates something similar (taken from here)

image

I'm assuming there's still some truth to the URL being wrong, since it's a 404. I'll keep digging. If a smarter community member than me can give me some guidance on where to look, I'd be most grateful.

7Towers commented 1 year ago

If you get a compression flag >1 then its likely you're not speaking h2 directly.

@LucioFranco

If I intercept the request, I can confirm the request header is using H2. Specifically:

http::version::Http::H2

Any other suggestions?

Requesting the issue be moved to Open status. I know this is a difficult to repro situation for most devs, but I'm happy to track down any data the community needs to support.

LucioFranco commented 1 year ago

Sorry for the delay @7Towers are you trying to reach a gRPC server that isn't at the root path? And could you give me more info on what the server is? I can't seem to find info on that in what you wrote.

The compression flag theory you have is correct the body its getting from 404 since char 60 is < which is an html opening tag. So for sure that path isn't gRPC. So something is going on routing wise.

Another debugging idea would be to add a https://docs.rs/tower-http/latest/tower_http/trace/struct.TraceLayer.html#method.on_request and print debug the headers, that might give us a hint at what its hitting. I've had issues in the past where I've gotten routed to a h3 server (google cloud does this).

I am not inclined to re-open this because I don't think this exact error is a bug but I would be ok with opening issues on improving 1) the error message 2) any routing docs 3) maybe an faq on when getting this what to do.

7Towers commented 1 year ago

Thanks @LucioFranco. I managed to get a trace going. Outputs below. I'll read through it a few times to learn something, but I don't understand the meaning of most of it, so I'll have to rely on someone with more understanding.

I don't know specifics of this server, aside from the vendor documents. That part of the system isn't accessible to me. I can only confirm that I'm able to use vanilla client TLS implementations with the C++, Python, and Dart implementations of grpc to connect to this server. I know this framework is different than those, I only mention that to say that I know the server is capable of a valid response. There must be an implementation detail on my end that I'm missing for Tonic.

My priority is still to use Tonic, so here's the trace logs: .


2023-03-31T15:20:06.626019Z DEBUG rustls::anchors: add_parsable_certificates processed 141 valid and 0 invalid certs    
2023-03-31T15:20:06.626119Z DEBUG rustls::anchors: add_parsable_certificates processed 1 valid and 0 invalid certs    
2023-03-31T15:20:06.626224Z TRACE tonic::transport::service::reconnect: poll_ready; idle
2023-03-31T15:20:06.626256Z TRACE tonic::transport::service::reconnect: poll_ready; connecting
2023-03-31T15:20:06.626299Z TRACE hyper::client::connect::http: Http::connect; scheme=Some("https"), host=Some("192.168.8.9"), port=Some(Port(443))
2023-03-31T15:20:06.626342Z DEBUG hyper::client::connect::http: connecting to 192.168.8.9:443
2023-03-31T15:20:06.626429Z TRACE mio::poll: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE    
2023-03-31T15:20:06.626453Z TRACE tonic::transport::service::reconnect: poll_ready; not ready
2023-03-31T15:20:06.632214Z TRACE tonic::transport::service::reconnect: poll_ready; connecting
2023-03-31T15:20:06.632268Z DEBUG hyper::client::connect::http: connected to 192.168.8.9:443
2023-03-31T15:20:06.632344Z DEBUG rustls::client::hs: No cached session for DnsName(DnsName(DnsName("id.spot.robot")))    
2023-03-31T15:20:06.632664Z DEBUG rustls::client::hs: Not resuming any session    
2023-03-31T15:20:06.632792Z TRACE rustls::client::hs: Sending ClientHello Message {
    version: TLSv1_0,
    payload: Handshake {
        parsed: HandshakeMessagePayload {
            typ: ClientHello,
            payload: ClientHello(
                ClientHelloPayload {
                    client_version: TLSv1_2,
                    random: 184c0bbc03262618183f83c8ab306bdcf6894a97e567c2e967698a0d31d873d3,
                    session_id: 95437933deced52ed0a2ae1619fd325703d1ab08f0e0f979fc92c28653f9710d,
                    cipher_suites: [
                        TLS13_AES_256_GCM_SHA384,
                        TLS13_AES_128_GCM_SHA256,
                        TLS13_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
                    ],
                    compression_methods: [
                        Null,
                    ],
                    extensions: [
                        SupportedVersions(
                            [
                                TLSv1_3,
                                TLSv1_2,
                            ],
                        ),
                        ECPointFormats(
                            [
                                Uncompressed,
                            ],
                        ),
                        NamedGroups(
                            [
                                X25519,
                                secp256r1,
                                secp384r1,
                            ],
                        ),
                        SignatureAlgorithms(
                            [
                                ECDSA_NISTP384_SHA384,
                                ECDSA_NISTP256_SHA256,
                                ED25519,
                                RSA_PSS_SHA512,
                                RSA_PSS_SHA384,
                                RSA_PSS_SHA256,
                                RSA_PKCS1_SHA512,
                                RSA_PKCS1_SHA384,
                                RSA_PKCS1_SHA256,
                            ],
                        ),
                        ExtendedMasterSecretRequest,
                        CertificateStatusRequest(
                            OCSP(
                                OCSPCertificateStatusRequest {
                                    responder_ids: [],
                                    extensions: ,
                                },
                            ),
                        ),
                        ServerName(
                            [
                                ServerName {
                                    typ: HostName,
                                    payload: HostName(
                                        (
                                            69642e73706f742e726f626f74,
                                            DnsName(
                                                "id.spot.robot",
                                            ),
                                        ),
                                    ),
                                },
                            ],
                        ),
                        SignedCertificateTimestampRequest,
                        KeyShare(
                            [
                                KeyShareEntry {
                                    group: X25519,
                                    payload: f0b7f3e68bbc067143ba1a5bfc7a035cadfd226777371c858ce99f845173cb4a,
                                },
                            ],
                        ),
                        PresharedKeyModes(
                            [
                                PSK_DHE_KE,
                            ],
                        ),
                        Protocols(
                            [
                                6832,
                            ],
                        ),
                        SessionTicket(
                            Request,
                        ),
                    ],
                },
            ),
        },
        encoded: 010000f40303184c0bbc03262618183f83c8ab306bdcf6894a97e567c2e967698a0d31d873d32095437933deced52ed0a2ae1619fd325703d1ab08f0e0f979fc92c28653f9710d0014130213011303c02cc02bcca9c030c02fcca800ff01000097002b00050403040303000b00020100000a00080006001d00170018000d001400120503040308070806080508040601050104010017000000050005010000000000000012001000000d69642e73706f742e726f626f7400120000003300260024001d0020f0b7f3e68bbc067143ba1a5bfc7a035cadfd226777371c858ce99f845173cb4a002d0002010100100005000302683200230000,
    },
}    
2023-03-31T15:20:06.633202Z TRACE tonic::transport::service::reconnect: poll_ready; not ready
2023-03-31T15:20:06.637626Z TRACE tonic::transport::service::reconnect: poll_ready; connecting
2023-03-31T15:20:06.637847Z TRACE rustls::client::hs: We got ServerHello ServerHelloPayload {
    legacy_version: TLSv1_2,
    random: 176a3ea7439a7f1e2512464a322593ff051731d01232a803d68fbe3238003845,
    session_id: 95437933deced52ed0a2ae1619fd325703d1ab08f0e0f979fc92c28653f9710d,
    cipher_suite: TLS13_AES_256_GCM_SHA384,
    compression_method: Null,
    extensions: [
        SupportedVersions(
            TLSv1_3,
        ),
        KeyShare(
            KeyShareEntry {
                group: X25519,
                payload: a89745ab52966e61555f8d6f64ced4ec3c7db79972547d3fd75dad6296bfb446,
            },
        ),
    ],
}    
2023-03-31T15:20:06.637961Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2023-03-31T15:20:06.638011Z DEBUG rustls::client::tls13: Not resuming    
2023-03-31T15:20:06.638026Z TRACE rustls::client::client_conn: EarlyData rejected    
2023-03-31T15:20:06.638902Z TRACE rustls::conn: Dropping CCS    
2023-03-31T15:20:06.638955Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [ServerNameAck, Protocols([6832])]    
2023-03-31T15:20:06.638987Z DEBUG rustls::client::hs: ALPN protocol is Some(b"h2")    
2023-03-31T15:20:06.639080Z TRACE tonic::transport::service::reconnect: poll_ready; not ready
2023-03-31T15:20:06.640422Z TRACE tonic::transport::service::reconnect: poll_ready; connecting
2023-03-31T15:20:06.640624Z TRACE rustls::client::tls13: Server cert is [Certificate(b"0\x82\x03\xc70\x82\x02\xaf\xa0\x03\x02\x01\x02\x02\x15\0\xd5\xa7f\xdc$\xc20\xbc\xc16\x81\x93\x19\x8b}\x18I\xa1\xf9\xbb0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\00k1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\x180\x16\x06\x03U\x04\n\x0c\x0fBoston Dynamics1\"0 \x06\x03U\x04\x0b\x0c\x19Spot Platform Engineering1\x1e0\x1c\x06\x03U\x04\x03\x0c\x15Spot Platform CA 20220\x1e\x17\r220719175856Z\x17\r240718175856Z0b1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\x180\x16\x06\x03U\x04\n\x0c\x0fBoston Dynamics1\"0 \x06\x03U\x04\x0b\x0c\x19Spot Platform Engineering1\x150\x13\x06\x03U\x04\x03\x0c\x0c*.spot.robot0\x82\x01\"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\0\x03\x82\x01\x0f\00\x82\x01\n\x02\x82\x01\x01\0\xd5\xa9\x03\x83\xaaF\xb6(\xc82\x10s\x8c\xad\x03\xd7m*\x82\x9c9CwA\x9e\xe6@\xe2\xa6\xd7\x0b\xf6\xe6\x9bm\xc4QMX\x047\x85+\xb3 \x02\x82\xb4\xc7h\xce\x88\xc2u n5\xde9\x82k\xc6s\xba\xda\x8c\x11=\xa4Y\xf8\x9aKQ\x18\xecyn2\xb2c\xbf(\x17\xad\x0f\xc9,\xa4^\x83\xd7\xda\xf8)\x81\x8f\xbc\x17\xf7\xae\xc4\x01\xb8Y2\xe5\x94\x95\xc1\x16\xf8\x9a\x0e%k\xf1_\xb3\xc8\x98W7nZb'\xc0K\xabd\xba\xbb\x1d\xed\x87\xb4|\x18\xad\x91=\xd7D\xc7\xdb\x0c\xd1\x18\xaf\xed\n\x15\x1f\xd0>\xd3k\xac\x15\xc7\xdcq\xa4\xb0Ez\xa0\xab\xafV\xf1>\x01\x1fv\x14\xdc\xe8\xd2:p5\x9d\xd3O\xe4\x03\x16\0K\x8d\xc3\x9e\x0cQ\xc4A\xa9M\x15\n0\x81|W\xf4\xb5\x061\x1d\x96\x8d\xec#\xe8M\xcb\xecE\x12\xda\xcb\xa2\x9e/w\xb8,a;R\xa4\xb2r\xc9\xd2\x8c\xb1\x86\xec9\x0f\xb0\xc2=\xe1$v5\xb6\xe5\x9eZ\xdd\x13\x02\x03\x01\0\x01\xa3k0i0\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14\xa2\xfb\x1b\xcf\x8c\xd8\xcd\xa6l\x95\xcb\xdf\xfd.\xce\xbeqD\xa3\x880\x0c\x06\x03U\x1d\x13\x01\x01\xff\x04\x020\00\x0f\x06\x03U\x1d\x0f\x01\x01\xff\x04\x05\x03\x03\x07\xa0\00)\x06\x03U\x1d\x11\x04\"0 \x82\x0c*.spot.robot\x82\x10*.api.spot.robot0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\0\x03\x82\x01\x01\0>\r\xab\xf2\xd9\x91\x15k8n\x86\xb5\xc6\x8a\xaf\xbb\x1d\xd8\x0e\xed\xf2]X:\x8b\xa6@\x16\x95\xb1\\\0\x8b\xde\x94\x1f~v#H\x1b\xc3\x8a\xcd\xb8\x1c\xcb9\xe6{\xa2\x88\xbfzg\xfd-h\x97|I\xd7\xc5(\xf8\xc8:x;.\xf88v\x91\xa8\xa2\xdc\x12\xf5\xa9\xaa\x18P\xc4&wg\xce\x87K\xd7B\xad\xb6]\xfd\x16O\xac\xe0Y\x84\xcadm\xb2\x92v\x98\x06\xbe\xd9\xe1$a\xb6E|bf\xc6\xd1\xf7\xcf7\xad\xe9/u\x99lT\xb7\xfe@\x96\xca\xf5\x06\x80O\xf8}\xa1\xd2\xb4\xa3%\xfast9\xdcJC\xad\x8c\xc7GN'\x10\xd1V\x14\xab\xf5\x8b\x97\xe0w\xf6\x12\xd0\xf3[\xc3\xe4\xfdA\xd9\x02\x0bj\xe4\xa9\t\xea\xde>\xb0\x1f\x81'\x9b]\xcf_P\x86\xfe&\x94\xe6^2\x10W\xf4KaG\x9a>\xd3#\x04\x89\x9e\xa2H\xbd\x0f;tm\x96\x95 z\xa4\x89qhAN\x13\xabk\x95\xdf\x88\xce\xf3Ya\xed~\xd9\xf4\x99U\x8d\x9aey"), Certificate(b"0\x82\x04]0\x82\x02E\xa0\x03\x02\x01\x02\x02\x0c\x01\x0c\xc7\xc3\n<if\xa5\xf5g\xe40\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\00I1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\x180\x16\x06\x03U\x04\n\x13\x0fBoston Dynamics1 0\x1e\x06\x03U\x04\x03\x13\x17Boston Dynamics Root CA0\x1e\x17\r210601000000Z\x17\r290501000000Z0k1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\x180\x16\x06\x03U\x04\n\x0c\x0fBoston Dynamics1\"0 \x06\x03U\x04\x0b\x0c\x19Spot Platform Engineering1\x1e0\x1c\x06\x03U\x04\x03\x0c\x15Spot Platform CA 20220\x82\x01\"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\0\x03\x82\x01\x0f\00\x82\x01\n\x02\x82\x01\x01\0\xbd\xed\xcd\x83\x03}<9u\x8fH\xd7\xd6\xc2qf\xe8\xc6\xe1`2c\r\xf1\x86\xf5\xd9\xe4\xd0Yq\x80<\xbd\xb47\x8c\xfc\x94d6\xdc\xef\xb3\t\xc4\x03\xd1\x9d$K\xa5\x89\xe9%\xd7.v8\xde\x1c\xe7\x11\xd6\xac\xa2\xf2\x97=\x91z\x94\xf8a\x87\xe6L.2\x9f\x02o\xc0P\xe1\xb2a\xacp\xe2CJO\x84\xc25\x15\xd5\x80N\xc2\xf1$s\xc0\xf9\x90\xeae\x80h\xfcrG\xba\x9b\x95v\x1ad\x9e\x052\x0c\xb5yI\xf4\xb4\x1d\x15\x84$\xf4j|1\xdb[\xf6\x12|i6\xde\xa6\xdc\x99:V1\xfd\x86Jq]8\x96\xb1\xc7h\xb3\xa9\xb8\xbb\xd6&\x903\xc2~M+\xb2T\xe8\xb0P'YX\x7f\x18\"\xb1\x83\xebh\x9aQ\xdf%\xad\xcdI#1\xd4G\xc9\xfc\x96<\x7fs%:\x94\xb3\x04|\xe0 \x02y\xea\xf1\x92#\xd7\xab.\xbagv\x84Q\x90\x98\x8c\xd5\xb8\x10c\x85\x9a\xfa{\xe4_Hb\xcf6!n\xbc45\xd9\xef\xd1$\x7f\xca\xa7\x02\x03\x01\0\x01\xa3#0!0\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x860\x0f\x06\x03U\x1d\x13\x01\x01\xff\x04\x050\x03\x01\x01\xff0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\0\x03\x82\x02\x01\0\x8b\xda\x05\x07\x10\x1a\xb4\x1e\x80q\x81\xfd\xc3{v\xcdJ\xad\xf6\x0f\xe65U\xd9\xa9\x84\xff\x19\xa22\xbb\x97\xa2\\W\x9b\xc3V\xc7\xb8=\x0b$Ja\xfe\xec\x8d>\x98\x9d\xb83\xe2\x06\xbeh\x82\x86\xfd\xf2\x98\rud\x9d\xfa\x15\xfd\xd4(g\x7fv\x06\xd2G\xa5\x99=\x9a^\xed\xc1\xf80\xed\xae$\x97\xc19\xf7>\xf1\x1c;\xb1\xe0n\x8c^\xa6\xa6\xf4\xe6\xc3\xec\xe8\x89\xf88\xcc\xddI\xc5\xdb\xb1\xa96\xa0_\x0c\xdd\xb3\xae0\x97\xc7vd]Q\xa1\xdf\xaa\xd4p,\xad/\xc5\xcd\xcbl\xcd\xee$\xec\xbc\x0bt\x84\x10\x1d\xe0\xd2\x15\xc71\xc1\x17\xf6\x16\x95d\xe3%\xf4\xffb\x9b\n\x01\x0c]\x0e_\x921\xb7kSk\x9d\xed\xb5\xbd\x8eZ\0\xc6\xf2b\xf8Ck2^\xba\xfa\xf1|\xe1\x8c+k\xff\xb6\x10\xedb\x83\xe1\x19o\x9c\xc4\x1d\xf3bl}\"\xaa=L\xddY\\#v8\xc8\xdb\x06\x18\x82\x9e\x84\x98e\xf1\x82\xf0\x10\xed\xb2\xddA\xf9z\xa1\x05\xafW\xe8hI\xdan\x91V\xda\x98bu\xdej\x1c\xd3\x89\x8ds\x9aI\x95\xcf*\xa5\xbb+\xe2k\x9d-\xbbM[\x05V/\x01\xacZzU\x17\xfe\x0f\xa3\xe3i\xa77\xf9s\xd2Bd\xad~\xd7\x10\xa5/\x19\x14\xff\x87\xfe\x0f\x9e\xbc\x1a\xf9\xf8\x91N\xd2\x05\xa7\xdc\xef\xf9c\xc5\xe9\x11E\xfdOo\xb9\xf0<0\x9a\xe0Zo\x90\xd0C\xba\x04niS\x18\xbdIT\xf2\x18I\xa6\">\x81%\xfc\xe9h_BH\xa2\xe8F\xdf@\x02\x07\xcd\xc9\xe1\x9e\xe1U5\xfb?\xc7\xac3\xabh\xa7\xc9\x04\x85\xdcN\xa4\0\xca\xa4\xdb\x91\x0c\xcf7\xb5\xb6\x02\xab\x84WM\x85\xc2r\xf1\xdb\xd2\xce\xbayv\x98\xdf\xd1.\xe7\x11\xa7\0\"\xad\xd5\xd2\xf3\xe6\x05\xadZ\n\xc7H\ty,\xd54\xf0\xfcl\x97\x97\x81\xbc\x18\xac\xc5?\xe3\xccI8\xc8+\xa9\x16\xbf\xa4\x84\xc7$#\xd5%V\x91\x9a\x1dt\x9b\xf7\xb4\xd2\x11\x15\xe0\xe0\xa9\xbek\xbdQ\"\n\x90x\xfd\xf5\x9c6\\j!f")]    
2023-03-31T15:20:06.642358Z TRACE hyper::client::conn: client handshake Http2
2023-03-31T15:20:06.642475Z DEBUG h2::client: binding client connection
2023-03-31T15:20:06.642523Z DEBUG h2::client: client connection bound
2023-03-31T15:20:06.642708Z DEBUG FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::codec::framed_write: send frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2023-03-31T15:20:06.642759Z TRACE FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::frame::settings: encoding SETTINGS; len=18
2023-03-31T15:20:06.642789Z TRACE FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::frame::settings: encoding setting; val=EnablePush(0)
2023-03-31T15:20:06.642808Z TRACE FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::frame::settings: encoding setting; val=InitialWindowSize(2097152)
2023-03-31T15:20:06.642825Z TRACE FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::frame::settings: encoding setting; val=MaxFrameSize(16384)
2023-03-31T15:20:06.642844Z TRACE FramedWrite::buffer{frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }}: h2::codec::framed_write: encoded settings rem=27
2023-03-31T15:20:06.642904Z TRACE h2::proto::streams::flow_control: inc_window; sz=65535; old=0; new=65535
2023-03-31T15:20:06.642917Z TRACE h2::proto::streams::flow_control: inc_window; sz=65535; old=0; new=65535
2023-03-31T15:20:06.642933Z TRACE h2::proto::streams::prioritize: Prioritize::new; flow=FlowControl { window_size: Window(65535), available: Window(65535) }
2023-03-31T15:20:06.642990Z TRACE h2::proto::streams::recv: set_target_connection_window; target=5242880; available=65535, reserved=0
2023-03-31T15:20:06.643078Z TRACE tonic::transport::service::reconnect: poll_ready; connected
2023-03-31T15:20:06.643094Z TRACE tonic::transport::service::reconnect: poll_ready; not ready
2023-03-31T15:20:06.643429Z TRACE want: signal: Want    
2023-03-31T15:20:06.643478Z TRACE want: signal found waiting giver, notifying    
2023-03-31T15:20:06.643438Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Open
2023-03-31T15:20:06.643520Z TRACE tonic::transport::service::reconnect: poll_ready; connected
2023-03-31T15:20:06.643545Z TRACE want: poll_want: taker wants!    
2023-03-31T15:20:06.643557Z TRACE tonic::transport::service::reconnect: poll_ready; ready
2023-03-31T15:20:06.643567Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.643620Z TRACE main::libs::spot::robot_id: Sending request. request=Basia
2023-03-31T15:20:06.643662Z DEBUG Connection{peer=Client}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }}: h2::codec::framed_write: send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
2023-03-31T15:20:06.643712Z TRACE tower::buffer::service: sending request to buffer worker
2023-03-31T15:20:06.643695Z TRACE Connection{peer=Client}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }}: h2::frame::window_update: encoding WINDOW_UPDATE; id=StreamId(0)
2023-03-31T15:20:06.643729Z TRACE Connection{peer=Client}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }}: h2::codec::framed_write: encoded window_update rem=40
2023-03-31T15:20:06.643732Z TRACE tower::buffer::worker: worker polling for next message
2023-03-31T15:20:06.643774Z TRACE tower::buffer::worker: processing new request
2023-03-31T15:20:06.643764Z TRACE Connection{peer=Client}:poll: h2::proto::streams::flow_control: inc_window; sz=5177345; old=65535; new=5242880
2023-03-31T15:20:06.643786Z TRACE tower::buffer::worker: resumed=false worker received request; waiting for service readiness
2023-03-31T15:20:06.643810Z TRACE tonic::transport::service::reconnect: poll_ready; connected
2023-03-31T15:20:06.643808Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: poll_complete
2023-03-31T15:20:06.643829Z TRACE want: poll_want: taker wants!    
2023-03-31T15:20:06.643830Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.643844Z TRACE tonic::transport::service::reconnect: poll_ready; ready
2023-03-31T15:20:06.643856Z DEBUG tower::buffer::worker: service.ready=true processing request
2023-03-31T15:20:06.643876Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2023-03-31T15:20:06.643898Z TRACE tonic::transport::service::reconnect: Reconnect::call
2023-03-31T15:20:06.643934Z TRACE tower::buffer::worker: returning response future
2023-03-31T15:20:06.643957Z TRACE tower::buffer::worker: worker polling for next message
2023-03-31T15:20:06.643993Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2023-03-31T15:20:06.644201Z TRACE h2::proto::streams::flow_control: inc_window; sz=2097152; old=0; new=2097152
2023-03-31T15:20:06.644233Z TRACE h2::proto::streams::flow_control: inc_window; sz=65535; old=0; new=65535
2023-03-31T15:20:06.644311Z TRACE h2::proto::streams::send: send_headers; frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }; init_window=65535
2023-03-31T15:20:06.644449Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::prioritize: schedule_send stream.id=StreamId(1)
2023-03-31T15:20:06.644494Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.644517Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store:  -> first entry
2023-03-31T15:20:06.644622Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=1 curr=0}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: requested=1 additional=1 buffered=0 window=65535 conn=65535
2023-03-31T15:20:06.644660Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=1 curr=0}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: assigning capacity=1
2023-03-31T15:20:06.644685Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=1 curr=0}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::stream:   assigned capacity to stream; available=1; buffered=0; id=StreamId(1); max_buffer_size=1048576 prev=0
2023-03-31T15:20:06.644708Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=1 curr=0}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::stream:   notifying task
2023-03-31T15:20:06.644731Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=1 curr=0}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: available=1 requested=1 buffered=0 has_unavailable=true
2023-03-31T15:20:06.644805Z TRACE hyper::proto::h2: send body chunk: 22 bytes, eos=false
2023-03-31T15:20:06.644834Z TRACE send_data{sz=22 requested=1}: h2::proto::streams::prioritize: buffered=22
2023-03-31T15:20:06.644864Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: requested=22 additional=21 buffered=22 window=65535 conn=65534
2023-03-31T15:20:06.644898Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: assigning capacity=21
2023-03-31T15:20:06.644921Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::stream:   assigned capacity to stream; available=22; buffered=22; id=StreamId(1); max_buffer_size=1048576 prev=0
2023-03-31T15:20:06.644945Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: available=22 requested=22 buffered=22 has_unavailable=true
2023-03-31T15:20:06.644974Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.644998Z TRACE send_data{sz=22 requested=1}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::store:  -> already queued
2023-03-31T15:20:06.645026Z TRACE send_data{sz=22 requested=1}: h2::proto::streams::prioritize: available=22 buffered=22
2023-03-31T15:20:06.645058Z TRACE send_data{sz=22 requested=1}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::prioritize: schedule_send stream.id=StreamId(1)
2023-03-31T15:20:06.645080Z TRACE send_data{sz=22 requested=1}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.645099Z TRACE send_data{sz=22 requested=1}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store:  -> already queued
2023-03-31T15:20:06.645132Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Open { local: Streaming, remote: AwaitingHeaders } }; is_closed=false; pending_send_empty=false; buffered_send_data=22; num_recv=0; num_send=1
2023-03-31T15:20:06.645175Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: requested=23 additional=1 buffered=22 window=65535 conn=65513
2023-03-31T15:20:06.645206Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: assigning capacity=1
2023-03-31T15:20:06.645228Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::stream:   assigned capacity to stream; available=23; buffered=22; id=StreamId(1); max_buffer_size=1048576 prev=0
2023-03-31T15:20:06.645250Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::stream:   notifying task
2023-03-31T15:20:06.645271Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::prioritize: available=23 requested=23 buffered=22 has_unavailable=true
2023-03-31T15:20:06.645299Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.645319Z TRACE reserve_capacity{stream.id=StreamId(1) requested=1 effective=23 curr=22}:try_assign_capacity{stream.id=StreamId(1)}: h2::proto::streams::store:  -> already queued
2023-03-31T15:20:06.645387Z TRACE hyper::proto::h2: send body eos
2023-03-31T15:20:06.645407Z TRACE send_data{sz=0 requested=22}: h2::proto::streams::prioritize: buffered=22
2023-03-31T15:20:06.645426Z TRACE send_data{sz=0 requested=22}: h2::proto::streams::state: send_close: Open => HalfClosedLocal(AwaitingHeaders)
2023-03-31T15:20:06.645462Z TRACE send_data{sz=0 requested=22}: h2::proto::streams::prioritize: available=22 buffered=22
2023-03-31T15:20:06.645490Z TRACE send_data{sz=0 requested=22}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::prioritize: schedule_send stream.id=StreamId(1)
2023-03-31T15:20:06.645510Z TRACE send_data{sz=0 requested=22}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.645529Z TRACE send_data{sz=0 requested=22}:Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store:  -> already queued
2023-03-31T15:20:06.645556Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }; is_closed=false; pending_send_empty=false; buffered_send_data=22; num_recv=0; num_send=1
2023-03-31T15:20:06.645571Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: HalfClosedLocal(AwaitingHeaders) }, is_counted: true, ref_count: 2, next_pending_send: None, is_pending_send: true, send_flow: FlowControl { window_size: Window(65535), available: Window(22) }, requested_send_capacity: 22, buffered_send_data: 22, send_task: Some(Waker { data: 0x55955d2005f0, vtable: 0x55955b2c0e60 }), pending_send: Deque { indices: Some(Indices { head: 0, tail: 2 }) }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: true, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(2097152), available: Window(2097152) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: true, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
2023-03-31T15:20:06.645604Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }; is_closed=false; pending_send_empty=false; buffered_send_data=22; num_recv=0; num_send=1
2023-03-31T15:20:06.645661Z TRACE want: signal: Want    
2023-03-31T15:20:06.645710Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Open
2023-03-31T15:20:06.645759Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.645801Z TRACE want: signal: Want    
2023-03-31T15:20:06.645819Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: poll_complete
2023-03-31T15:20:06.645838Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.645882Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: is_pending_reset=false
2023-03-31T15:20:06.645917Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: pop_frame; frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2023-03-31T15:20:06.645945Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.645972Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::store:  -> first entry
2023-03-31T15:20:06.645998Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }; is_closed=false; pending_send_empty=false; buffered_send_data=22; num_recv=0; num_send=1
2023-03-31T15:20:06.646037Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: writing frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2023-03-31T15:20:06.646073Z DEBUG Connection{peer=Client}:poll:FramedWrite::buffer{frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }}: h2::codec::framed_write: send frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2023-03-31T15:20:06.646206Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.646243Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: is_pending_reset=false
2023-03-31T15:20:06.646273Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: data frame sz=22 eos=false window=22 available=22 requested=22 buffered=22
2023-03-31T15:20:06.646312Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: sending data frame len=22
2023-03-31T15:20:06.646351Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating stream flow: h2::proto::streams::flow_control: send_data; sz=22; window=65535; available=22
2023-03-31T15:20:06.646380Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating stream flow: h2::proto::streams::stream:   sent stream data; available=0; buffered=0; id=StreamId(1); max_buffer_size=1048576 prev=0
2023-03-31T15:20:06.646420Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating connection flow: h2::proto::streams::flow_control: send_data; sz=22; window=65535; available=65535
2023-03-31T15:20:06.646452Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: pop_frame; frame=Data { stream_id: StreamId(1) }
2023-03-31T15:20:06.646475Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::store: Queue::push
2023-03-31T15:20:06.646498Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::store:  -> first entry
2023-03-31T15:20:06.646520Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=0; num_send=1
2023-03-31T15:20:06.646554Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: writing frame=Data { stream_id: StreamId(1) }
2023-03-31T15:20:06.646583Z DEBUG Connection{peer=Client}:poll:FramedWrite::buffer{frame=Data { stream_id: StreamId(1) }}: h2::codec::framed_write: send frame=Data { stream_id: StreamId(1) }
2023-03-31T15:20:06.646623Z TRACE Connection{peer=Client}:poll:try_reclaim_frame: h2::proto::streams::prioritize: reclaimed frame=Data { stream_id: StreamId(1) } sz=0
2023-03-31T15:20:06.646654Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.646686Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: is_pending_reset=false
2023-03-31T15:20:06.646713Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: data frame sz=0 eos=true window=0 available=0 requested=0 buffered=0
2023-03-31T15:20:06.646747Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: sending data frame len=0
2023-03-31T15:20:06.646776Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating stream flow: h2::proto::streams::flow_control: send_data; sz=0; window=65513; available=0
2023-03-31T15:20:06.646802Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating stream flow: h2::proto::streams::stream:   sent stream data; available=0; buffered=0; id=StreamId(1); max_buffer_size=1048576 prev=0
2023-03-31T15:20:06.646838Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}:updating connection flow: h2::proto::streams::flow_control: send_data; sz=0; window=65513; available=65513
2023-03-31T15:20:06.646868Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::prioritize: pop_frame; frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2023-03-31T15:20:06.646893Z TRACE Connection{peer=Client}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: HalfClosedLocal(AwaitingHeaders) }}: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=0; num_send=1
2023-03-31T15:20:06.646927Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: writing frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2023-03-31T15:20:06.646956Z DEBUG Connection{peer=Client}:poll:FramedWrite::buffer{frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }}: h2::codec::framed_write: send frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2023-03-31T15:20:06.646992Z TRACE Connection{peer=Client}:poll:try_reclaim_frame: h2::proto::streams::prioritize: reclaimed frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) } sz=0
2023-03-31T15:20:06.647021Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.647053Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2023-03-31T15:20:06.647147Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2023-03-31T15:20:06.648075Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Open
2023-03-31T15:20:06.648172Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.648345Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: rustls::client::tls13: Ticket saved    
2023-03-31T15:20:06.648419Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: rustls::client::tls13: Ticket saved    
2023-03-31T15:20:06.648460Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.648490Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.648509Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=27
2023-03-31T15:20:06.648568Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=27}: h2::codec::framed_read: decoding frame from 27B
2023-03-31T15:20:06.648597Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=27}: h2::codec::framed_read: frame.kind=Settings
2023-03-31T15:20:06.648641Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Settings { flags: (0x0), max_concurrent_streams: 128, initial_window_size: 65536, max_frame_size: 16777215 }
2023-03-31T15:20:06.648673Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv SETTINGS frame=Settings { flags: (0x0), max_concurrent_streams: 128, initial_window_size: 65536, max_frame_size: 16777215 }
2023-03-31T15:20:06.648715Z DEBUG Connection{peer=Client}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::codec::framed_write: send frame=Settings { flags: (0x1: ACK) }
2023-03-31T15:20:06.648739Z TRACE Connection{peer=Client}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::frame::settings: encoding SETTINGS; len=0
2023-03-31T15:20:06.648761Z TRACE Connection{peer=Client}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::codec::framed_write: encoded settings rem=9
2023-03-31T15:20:06.648789Z TRACE Connection{peer=Client}:poll:poll_ready: h2::proto::settings: ACK sent; applying settings
2023-03-31T15:20:06.648848Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.648865Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.648885Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.648902Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=13
2023-03-31T15:20:06.648928Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: decoding frame from 13B
2023-03-31T15:20:06.648948Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: frame.kind=WindowUpdate
2023-03-31T15:20:06.648975Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 2147418112 }
2023-03-31T15:20:06.649001Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv WINDOW_UPDATE frame=WindowUpdate { stream_id: StreamId(0), size_increment: 2147418112 }
2023-03-31T15:20:06.649022Z TRACE Connection{peer=Client}:poll: h2::proto::streams::flow_control: inc_window; sz=2147418112; old=65513; new=2147483625
2023-03-31T15:20:06.649066Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.649083Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.649128Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: poll_complete
2023-03-31T15:20:06.649143Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.649172Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2023-03-31T15:20:06.649239Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2023-03-31T15:20:06.649336Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Open
2023-03-31T15:20:06.649367Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.649406Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.649426Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.649442Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=9
2023-03-31T15:20:06.649468Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: decoding frame from 9B
2023-03-31T15:20:06.649488Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: frame.kind=Settings
2023-03-31T15:20:06.649515Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Settings { flags: (0x1: ACK) }
2023-03-31T15:20:06.649539Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv SETTINGS frame=Settings { flags: (0x1: ACK) }
2023-03-31T15:20:06.649558Z DEBUG Connection{peer=Client}:poll: h2::proto::settings: received settings ACK; applying Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2023-03-31T15:20:06.649576Z TRACE Connection{peer=Client}:poll: h2::proto::streams::recv: update_initial_window_size; new=2097152; old=2097152
2023-03-31T15:20:06.649604Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.649619Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.649655Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: poll_complete
2023-03-31T15:20:06.649668Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.649695Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2023-03-31T15:20:06.654129Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Open
2023-03-31T15:20:06.654203Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.654313Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.654339Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.654357Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=13
2023-03-31T15:20:06.654390Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: decoding frame from 13B
2023-03-31T15:20:06.654412Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: frame.kind=WindowUpdate
2023-03-31T15:20:06.654444Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=WindowUpdate { stream_id: StreamId(1), size_increment: 2147418111 }
2023-03-31T15:20:06.654472Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv WINDOW_UPDATE frame=WindowUpdate { stream_id: StreamId(1), size_increment: 2147418111 }
2023-03-31T15:20:06.654538Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.654556Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.654574Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.654591Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=127
2023-03-31T15:20:06.654617Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}: h2::codec::framed_read: decoding frame from 127B
2023-03-31T15:20:06.654637Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}: h2::codec::framed_read: frame.kind=Headers
2023-03-31T15:20:06.654666Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}: h2::frame::headers: loading headers; flags=(0x4: END_HEADERS)
2023-03-31T15:20:06.654711Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: decode
2023-03-31T15:20:06.654737Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=118 kind=Indexed
2023-03-31T15:20:06.654778Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=117 kind=LiteralWithIndexing
2023-03-31T15:20:06.654921Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=106 kind=LiteralWithIndexing
2023-03-31T15:20:06.655079Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=82 kind=LiteralWithIndexing
2023-03-31T15:20:06.655149Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=73 kind=LiteralWithIndexing
2023-03-31T15:20:06.655179Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=69 kind=LiteralWithoutIndexing
2023-03-31T15:20:06.655329Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=127}:hpack::decode: h2::hpack::decoder: rem=46 kind=LiteralWithoutIndexing
2023-03-31T15:20:06.655624Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2023-03-31T15:20:06.655652Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv HEADERS frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2023-03-31T15:20:06.655677Z TRACE Connection{peer=Client}:poll: h2::proto::streams::streams: recv_headers; stream=StreamId(1); state=State { inner: HalfClosedLocal(AwaitingHeaders) }
2023-03-31T15:20:06.655695Z TRACE Connection{peer=Client}:poll: h2::proto::streams::recv: opening stream; init_window=2097152
2023-03-31T15:20:06.655727Z TRACE Connection{peer=Client}:poll: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedLocal(Streaming) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=0; num_send=1
2023-03-31T15:20:06.655763Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.655780Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.655799Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: frame decoded from buffer
2023-03-31T15:20:06.655816Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=86
2023-03-31T15:20:06.655842Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=86}: h2::codec::framed_read: decoding frame from 86B
2023-03-31T15:20:06.655862Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=86}: h2::codec::framed_read: frame.kind=Data
2023-03-31T15:20:06.655890Z DEBUG Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2023-03-31T15:20:06.655916Z TRACE Connection{peer=Client}:poll: h2::proto::connection: recv DATA frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2023-03-31T15:20:06.655939Z TRACE Connection{peer=Client}:poll: h2::proto::streams::recv: recv_data; size=77; connection=5242880; stream=2097152
2023-03-31T15:20:06.655955Z TRACE Connection{peer=Client}:poll: h2::proto::streams::flow_control: send_data; sz=77; window=5242880; available=5242880
2023-03-31T15:20:06.655974Z TRACE Connection{peer=Client}:poll: h2::proto::streams::state: recv_close: HalfClosedLocal => Closed
2023-03-31T15:20:06.655988Z TRACE Connection{peer=Client}:poll: h2::proto::streams::flow_control: send_data; sz=77; window=2097152; available=2097152
2023-03-31T15:20:06.656005Z TRACE Connection{peer=Client}:poll: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=true; pending_send_empty=true; buffered_send_data=0; num_recv=0; num_send=1
2023-03-31T15:20:06.656024Z TRACE Connection{peer=Client}:poll: h2::proto::streams::counts: dec_num_streams; stream=StreamId(1)
2023-03-31T15:20:06.656055Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2023-03-31T15:20:06.656071Z TRACE Connection{peer=Client}:poll:FramedRead::poll_next: tokio_util::codec::framed_impl: attempting to decode a frame
2023-03-31T15:20:06.656119Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: poll_complete
2023-03-31T15:20:06.656134Z TRACE Connection{peer=Client}:poll: h2::proto::streams::prioritize: schedule_pending_open
2023-03-31T15:20:06.656163Z TRACE Connection{peer=Client}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2023-03-31T15:20:06.656224Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: false, ref_count: 2, next_pending_send: None, is_pending_send: false, send_flow: FlowControl { window_size: Window(65513), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: Some(Waker { data: 0x55955d2005f0, vtable: 0x55955b2c0e60 }), pending_send: Deque { indices: None }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: true, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(2097075), available: Window(2097075) }, in_flight_recv_data: 77, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: Some(Indices { head: 1, tail: 1 }) }, is_recv: true, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Remaining(0) }
2023-03-31T15:20:06.656252Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=true; pending_send_empty=true; buffered_send_data=0; num_recv=0; num_send=0
2023-03-31T15:20:06.656453Z TRACE h2::proto::streams::recv: release_capacity; size=77
2023-03-31T15:20:06.656479Z TRACE h2::proto::streams::recv: release_connection_capacity; size=77, connection in_flight_data=77
2023-03-31T15:20:06.656498Z TRACE tonic::codec::decode: unexpected compression flag
2023-03-31T15:20:06.656538Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: false, ref_count: 1, next_pending_send: None, is_pending_send: false, send_flow: FlowControl { window_size: Window(65513), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: Some(Waker { data: 0x55955d2005f0, vtable: 0x55955b2c0e60 }), pending_send: Deque { indices: None }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: true, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(2097075), available: Window(2097152) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Remaining(0) }
2023-03-31T15:20:06.656580Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=true; pending_send_empty=true; buffered_send_data=0; num_recv=0; num_send=0
Error getting robot ID: status: Internal, message: "protocol error: received message with invalid compression flag: 60 (valid flags are 0 and 1) while receiving response with status: 404 Not Found", details: [], metadata: MetadataMap { headers: {"server": "nginx/1.20.2", "date": "Fri, 31 Mar 2023 15:23:33 GMT", "content-type": "text/html", "content-length": "77", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000; includeSubDomains"} }
2023-03-31T15:20:06.656716Z TRACE h2::proto::streams::streams: Streams::recv_eof
2023-03-31T15:20:06.656825Z TRACE mio::poll: deregistering event source from poller    
2023-03-31T15:20:06.656836Z TRACE tower::buffer::worker: buffer already closed
2023-03-31T15:20:06.658062Z TRACE want: signal: Closed    

Process finished with exit code 0
LucioFranco commented 1 year ago

@7Towers I looked through the logs which were very helpful. From what I can tell you are 100% right in that you are negotiating h2 correctly, but I think nginx is sending you a 404 back which is why you hit the compression flag issue since nginx sends text/html as a response and char 60 is <.

headers: {"server": "nginx/1.20.2", "date": "Fri, 31 Mar 2023 15:23:33 GMT", "content-type": "text/html", "content-length": "77", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000; includeSubDomains"}

So from this it looks like the issue is getting nginx to pass on the grpc call to the correct endpoint. I would imagine there is something that is stopping nginx from routing the incoming grpc requests or the way it is mapping a response code from grpc back into html is wrong.

Some ideas to continue debugging:

7Towers commented 1 year ago

Thanks again @LucioFranco. I think we're getting somewhere.

I've added the GRPC_VERBOSITY=debug and GRPC_TRACE=all env vars for the python script. I pasted it below. I'll apologize now to any future readers. It's verbose, and I only pasted a third of it (comment character limits). This script does a little more than my Tonic implementation. The script was provided by the vendor as a type of hello world sample.

You can probably avoid reading the whole dump, unless you're into that sort of thing. I was able to extract some metadata, which includes header information. The headers included some of the grpc standard / reserved keys, like :authority, :paths well as content-type: application/grpc.

I looked into this before with tonic, and tried to inject my own content type, authority, and path metadata in a fork of tonic in the prepare_request call, here

I didn't have any success, however.

I'll see if I can pull some nginx logs if the above is a dead end.

chttp2_transport.cc:1176]             --metadata--
I0331 14:44:56.091116567   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2)
I0331 14:44:56.091117839   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::authority: auth.spot.robot
I0331 14:44:56.091118783   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::path: /bosdyn.api.AuthService/GetAuthToken
I0331 14:44:56.091123197   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:WaitForReady: false
I0331 14:44:56.091124288   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:te: trailers
I0331 14:44:56.091125265   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:content-type: application/grpc
I0331 14:44:56.091126167   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::scheme: https
I0331 14:44:56.091127072   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:grpc-accept-encoding: identity, deflate, gzip
I0331 14:44:56.091128261   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::method: POST
I0331 14:44:56.091129859   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:authorization: Bearer None
I0331 14:44:56.091130697   86276 chttp2_transport.cc:1176]             --metadata--
/home/g/.conda/envs/py38/bin/python /home/g/workspace/spot-sdk/python/examples/hello_spot/hello_spot.py 192.168.8.9 
D0331 14:44:56.064709437   86276 config.cc:113]                        gRPC EXPERIMENT tcp_frame_size_tuning               OFF (default:OFF)
D0331 14:44:56.064724434   86276 config.cc:113]                        gRPC EXPERIMENT tcp_read_chunks                     ON  (default:ON)
D0331 14:44:56.064725926   86276 config.cc:113]                        gRPC EXPERIMENT tcp_rcv_lowat                       OFF (default:OFF)
D0331 14:44:56.064726973   86276 config.cc:113]                        gRPC EXPERIMENT peer_state_based_framing            OFF (default:OFF)
D0331 14:44:56.064727940   86276 config.cc:113]                        gRPC EXPERIMENT flow_control_fixes                  OFF (default:OFF)
D0331 14:44:56.064728909   86276 config.cc:113]                        gRPC EXPERIMENT memory_pressure_controller          OFF (default:OFF)
D0331 14:44:56.064729947   86276 config.cc:113]                        gRPC EXPERIMENT periodic_resource_quota_reclamation ON  (default:ON)
D0331 14:44:56.064730932   86276 config.cc:113]                        gRPC EXPERIMENT unconstrained_max_quota_buffer_size OFF (default:OFF)
D0331 14:44:56.064731933   86276 config.cc:113]                        gRPC EXPERIMENT new_hpack_huffman_decoder           OFF (default:OFF)
D0331 14:44:56.064732931   86276 config.cc:113]                        gRPC EXPERIMENT event_engine_client                 OFF (default:OFF)
D0331 14:44:56.064733884   86276 config.cc:113]                        gRPC EXPERIMENT monitoring_experiment               ON  (default:ON)
D0331 14:44:56.064734821   86276 config.cc:113]                        gRPC EXPERIMENT promise_based_client_call           OFF (default:OFF)
D0331 14:44:56.064735835   86276 config.cc:113]                        gRPC EXPERIMENT posix_event_engine_enable_polling   OFF (default:OFF)
I0331 14:44:56.064754778   86276 executor.cc:369]                      EXECUTOR Executor::InitAll() enter
I0331 14:44:56.064756522   86276 executor.cc:141]                      EXECUTOR (default-executor) SetThreading(1) begin
I0331 14:44:56.064805365   86276 executor.cc:208]                      EXECUTOR (default-executor) SetThreading(1) done
I0331 14:44:56.064807050   86276 executor.cc:141]                      EXECUTOR (resolver-executor) SetThreading(1) begin
I0331 14:44:56.064831286   86276 executor.cc:208]                      EXECUTOR (resolver-executor) SetThreading(1) done
I0331 14:44:56.064832172   86276 executor.cc:386]                      EXECUTOR Executor::InitAll() done
I0331 14:44:56.064840611   86276 ev_epoll1_linux.cc:121]               grpc epoll fd: 3
D0331 14:44:56.064845388   86276 ev_posix.cc:141]                      Using polling engine: epoll1
D0331 14:44:56.064855428   86276 dns_resolver_ares.cc:822]             Using ares dns resolver
I0331 14:44:56.064858609   86276 timer_manager.cc:88]                  Spawn timer thread
I0331 14:44:56.064871888   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.064881706   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.064886033   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.064980945   86279 executor.cc:221]                      EXECUTOR (resolver-executor) [0]: step (sub_depth=0)
I0331 14:44:56.065107143   86276 ssl_credentials.cc:127]               grpc_ssl_credentials_create(pem_root_certs=-----BEGIN CERTIFICATE-----
MIIFOzCCAyOgAwIBAgIMAbE7jK/3TT5eMnR3MA0GCSqGSIb3DQEBDQUAMEkxCzAJ
BgNVBAYTAlVTMRgwFgYDVQQKEw9Cb3N0b24gRHluYW1pY3MxIDAeBgNVBAMTF0Jv
c3RvbiBEeW5hbWljcyBSb290IENBMB4XDTE4MDUwMTAwMDAwMFoXDTI5MDUwMTAw
MDAwMFowSTELMAkGA1UEBhMCVVMxGDAWBgNVBAoTD0Jvc3RvbiBEeW5hbWljczEg
MB4GA1UEAxMXQm9zdG9uIER5bmFtaWNzIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQDY2n0C0JNzgyMMJz/tzLdHwxEhUO6q+gX+tjRj9U4h
USlpphmJnHQwKCa53ADgT58zpJh/e+zWavTEMdYHEjSdISva5c6EhJ1EOGCYd9M/
zjFx41yvI8AgXYCLGSZUZqp8EuWo4Dj//7/gpHx278y20jSkb7G/RaZamdvt9FX1
uMQIcGpdYGPjs+qV8vCH2fnH8GoLXedHElvaWu8WC8a6ooXyk0nrTCUmS0lBwvd9
hjSU29dmJj65gvwPMbhJA4MM0tnikz/rvUlEnjuZGeqQdoH4fwIkN/uWu5ZJKyhZ
wksWaCZUXmqmLQ3sS0HkBzez7tLYSTKmjG7BbPQ7E2eFfD8cCi2wka83ahKEYL77
+3iuhfoTGcdOwm8TKD0tTDOojb/27R5XKJX7515pHfhV1U00jbZ6VpLrv3iaU28D
rgl/niL+epa7hbCmgW+oAo1QPtGrn1+eEF4QhDPScjqSHeohIaQU4rLjrRcKnfiP
PWQrxqV1Le+aJUPnqj4gOBIY8Oq61uT7k8UdIT7MivALs3+vEPJ21BYljDvMsOUm
mIzMPNo98AxAQByUYetgDEfDyObhoMcJGbadYiNdD4+foCk/8JfStMSckP2UTscS
Hq8NNmHf8ssp7Voj1t/hWh1UiRv12ii+3FSUPLH2liZVrL/zUP9MMoZVy1YogQkV
qwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQ0FAAOCAgEAL1koxdNUVsCaDrQWGcxpO3WyuW6FVYn6G+KAsnSlqaJU
pGI77MLGrNMGCb/NkeprvrSaDMWmnfyYSYlQQIDPE1whH85hyrV1FuAy7Xt6ZSV6
oVEl83t0yViIiVuAxPBQ72682pWG1a24d9Joa2hk8oNL4MO7zNfjh6JSAy0Tsyu7
oz7rULMCCYwSzpQv3c2/gY1vEGEMxYDmpy1ym+G2MzwfJtWYmVJdrxZi3GH9i56M
wyLae8RC6QPwN+5hSy22di2VViEu59d+Pm3/HrDQwjEWUVSwP9EMEByIP+K6n+Bp
6566Utt8ezDT1poym85kqceVn8xU2aLeZelsJXNGqmLrYVdjZOC543Q8NzLnki1p
k2RL+Eld8dRe+q3aOv0HLxc8QZbWz1Bk2IlRnyZBpElAQrkyYZ4gZALoQVTLv7HC
0nLus0zaJvkfaZmwYEQnVbEFOJrQYgDbWtYFSueKzfGFX6uBY3G3gze3YMewcEuW
GrHeSPlZ2LS4lFNSONyHzT4rkf3bj9P7SnHWgvdVKO9k748StfDf/IoIqPgnUA76
Vc2K4FgvFKVAu2VMBdhdoysUbFrUF6a0e/QqPe/YRsCfTt+QoI+iZq2JezHrqzMq
//JVcAMX4mDfYcL9KhfCqHJlR30h5EmlOZaod9Oj+LvsD9NeeX2RcxlW1aURkMQ=
-----END CERTIFICATE-----
, pem_key_cert_pair=(nil), verify_options=(nil), reserved=(nil))
I0331 14:44:56.065120760   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.065122704   86276 plugin_credentials.cc:211]            grpc_metadata_credentials_create_from_plugin(reserved=(nil))
I0331 14:44:56.065128070   86276 composite_credentials.cc:165]         grpc_composite_channel_credentials_create(channel_creds=0x1fe51a0, call_creds=0x220d5d0, reserved=(nil))
I0331 14:44:56.065131194   86276 credentials.cc:37]                    grpc_channel_credentials_release(creds=0x1fe51a0)
I0331 14:44:56.065132660   86276 credentials.cc:43]                    grpc_call_credentials_release(creds=0x220d5d0)
I0331 14:44:56.065136426   86276 chttp2_connector.cc:344]              grpc_secure_channel_create(target=192.168.8.9:443, creds=0x1fba4d0, args=0x7f3f06c41340)
D0331 14:44:56.065150567   86276 lb_policy_registry.cc:45]             registering LB policy factory for "priority_experimental"
D0331 14:44:56.065155485   86276 lb_policy_registry.cc:45]             registering LB policy factory for "outlier_detection_experimental"
D0331 14:44:56.065187412   86276 lb_policy_registry.cc:45]             registering LB policy factory for "weighted_target_experimental"
D0331 14:44:56.065189266   86276 lb_policy_registry.cc:45]             registering LB policy factory for "pick_first"
D0331 14:44:56.065192633   86276 lb_policy_registry.cc:45]             registering LB policy factory for "round_robin"
D0331 14:44:56.065196433   86276 lb_policy_registry.cc:45]             registering LB policy factory for "ring_hash_experimental"
I0331 14:44:56.065199763   86278 executor.cc:221]                      EXECUTOR (default-executor) [0]: step (sub_depth=0)
D0331 14:44:56.065207568   86276 lb_policy_registry.cc:45]             registering LB policy factory for "grpclb"
I0331 14:44:56.065206375   86280 timer_generic.cc:697]                 TIMER CHECK BEGIN: now=1403 next=9223372036854775807 tls_min=0 glob_min=1403
I0331 14:44:56.065213026   86280 timer_generic.cc:597]                   .. shard[0]->min_deadline = 1404
I0331 14:44:56.065215053   86280 timer_generic.cc:722]                 TIMER CHECK END: r=1; next=1404
I0331 14:44:56.065216085   86280 timer_manager.cc:188]                 sleep for a 1 milliseconds
D0331 14:44:56.065220917   86276 lb_policy_registry.cc:45]             registering LB policy factory for "rls_experimental"
D0331 14:44:56.065229598   86276 lb_policy_registry.cc:45]             registering LB policy factory for "xds_cluster_manager_experimental"
D0331 14:44:56.065233128   86276 lb_policy_registry.cc:45]             registering LB policy factory for "xds_cluster_impl_experimental"
D0331 14:44:56.065235152   86276 lb_policy_registry.cc:45]             registering LB policy factory for "cds_experimental"
D0331 14:44:56.065236657   86276 lb_policy_registry.cc:45]             registering LB policy factory for "xds_cluster_resolver_experimental"
D0331 14:44:56.065238535   86276 lb_policy_registry.cc:45]             registering LB policy factory for "xds_wrr_locality_experimental"
D0331 14:44:56.065241892   86276 certificate_provider_registry.cc:35]  registering certificate provider factory for "file_watcher"
I0331 14:44:56.065257344   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.065479311   86280 timer_manager.cc:204]                 wait ended: was_timed:1 kicked:0
I0331 14:44:56.065480932   86280 timer_generic.cc:697]                 TIMER CHECK BEGIN: now=1404 next=9223372036854775807 tls_min=1403 glob_min=1404
I0331 14:44:56.065482062   86280 timer_generic.cc:597]                   .. shard[0]->min_deadline = 1404
I0331 14:44:56.065483212   86280 timer_generic.cc:513]                   .. shard[0]: heap_empty=true
I0331 14:44:56.065484215   86280 timer_generic.cc:484]                   .. shard[0]->queue_deadline_cap --> 2404
I0331 14:44:56.065485173   86280 timer_generic.cc:557]                   .. shard[0] popped 0
I0331 14:44:56.065486182   86280 timer_generic.cc:616]                   .. result --> 1, shard[0]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065487402   86280 timer_generic.cc:513]                   .. shard[1]: heap_empty=true
I0331 14:44:56.065488221   86280 timer_generic.cc:484]                   .. shard[1]->queue_deadline_cap --> 2404
I0331 14:44:56.065489018   86280 timer_generic.cc:557]                   .. shard[1] popped 0
I0331 14:44:56.065489912   86280 timer_generic.cc:616]                   .. result --> 1, shard[1]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065491039   86280 timer_generic.cc:513]                   .. shard[2]: heap_empty=true
I0331 14:44:56.065491816   86280 timer_generic.cc:484]                   .. shard[2]->queue_deadline_cap --> 2404
I0331 14:44:56.065492582   86280 timer_generic.cc:557]                   .. shard[2] popped 0
I0331 14:44:56.065493409   86280 timer_generic.cc:616]                   .. result --> 1, shard[2]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065494420   86280 timer_generic.cc:513]                   .. shard[3]: heap_empty=true
I0331 14:44:56.065495183   86280 timer_generic.cc:484]                   .. shard[3]->queue_deadline_cap --> 2404
I0331 14:44:56.065495942   86280 timer_generic.cc:557]                   .. shard[3] popped 0
I0331 14:44:56.065496763   86280 timer_generic.cc:616]                   .. result --> 1, shard[3]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065497806   86280 timer_generic.cc:513]                   .. shard[4]: heap_empty=true
I0331 14:44:56.065498565   86280 timer_generic.cc:484]                   .. shard[4]->queue_deadline_cap --> 2404
I0331 14:44:56.065499344   86280 timer_generic.cc:557]                   .. shard[4] popped 0
I0331 14:44:56.065500163   86280 timer_generic.cc:616]                   .. result --> 1, shard[4]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065501148   86280 timer_generic.cc:513]                   .. shard[5]: heap_empty=true
I0331 14:44:56.065501903   86280 timer_generic.cc:484]                   .. shard[5]->queue_deadline_cap --> 2404
I0331 14:44:56.065502665   86280 timer_generic.cc:557]                   .. shard[5] popped 0
I0331 14:44:56.065503486   86280 timer_generic.cc:616]                   .. result --> 1, shard[5]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065504473   86280 timer_generic.cc:513]                   .. shard[6]: heap_empty=true
I0331 14:44:56.065505228   86280 timer_generic.cc:484]                   .. shard[6]->queue_deadline_cap --> 2404
I0331 14:44:56.065506007   86280 timer_generic.cc:557]                   .. shard[6] popped 0
I0331 14:44:56.065506829   86280 timer_generic.cc:616]                   .. result --> 1, shard[6]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065507890   86280 timer_generic.cc:513]                   .. shard[7]: heap_empty=true
I0331 14:44:56.065508650   86280 timer_generic.cc:484]                   .. shard[7]->queue_deadline_cap --> 2404
I0331 14:44:56.065509415   86280 timer_generic.cc:557]                   .. shard[7] popped 0
I0331 14:44:56.065510235   86280 timer_generic.cc:616]                   .. result --> 1, shard[7]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065511289   86280 timer_generic.cc:513]                   .. shard[8]: heap_empty=true
I0331 14:44:56.065512057   86280 timer_generic.cc:484]                   .. shard[8]->queue_deadline_cap --> 2404
I0331 14:44:56.065513414   86280 timer_generic.cc:557]                   .. shard[8] popped 0
I0331 14:44:56.065514246   86280 timer_generic.cc:616]                   .. result --> 1, shard[8]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065515226   86280 timer_generic.cc:513]                   .. shard[9]: heap_empty=true
I0331 14:44:56.065515983   86280 timer_generic.cc:484]                   .. shard[9]->queue_deadline_cap --> 2404
I0331 14:44:56.065516746   86280 timer_generic.cc:557]                   .. shard[9] popped 0
I0331 14:44:56.065517567   86280 timer_generic.cc:616]                   .. result --> 1, shard[9]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065518600   86280 timer_generic.cc:513]                   .. shard[10]: heap_empty=true
I0331 14:44:56.065519400   86280 timer_generic.cc:484]                   .. shard[10]->queue_deadline_cap --> 2404
I0331 14:44:56.065520193   86280 timer_generic.cc:557]                   .. shard[10] popped 0
I0331 14:44:56.065521084   86280 timer_generic.cc:616]                   .. result --> 1, shard[10]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065522163   86280 timer_generic.cc:513]                   .. shard[11]: heap_empty=true
I0331 14:44:56.065522953   86280 timer_generic.cc:484]                   .. shard[11]->queue_deadline_cap --> 2404
I0331 14:44:56.065523723   86280 timer_generic.cc:557]                   .. shard[11] popped 0
I0331 14:44:56.065524575   86280 timer_generic.cc:616]                   .. result --> 1, shard[11]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065525630   86280 timer_generic.cc:513]                   .. shard[12]: heap_empty=true
I0331 14:44:56.065526401   86280 timer_generic.cc:484]                   .. shard[12]->queue_deadline_cap --> 2404
I0331 14:44:56.065527169   86280 timer_generic.cc:557]                   .. shard[12] popped 0
I0331 14:44:56.065527992   86280 timer_generic.cc:616]                   .. result --> 1, shard[12]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065529054   86280 timer_generic.cc:513]                   .. shard[13]: heap_empty=true
I0331 14:44:56.065529829   86280 timer_generic.cc:484]                   .. shard[13]->queue_deadline_cap --> 2404
I0331 14:44:56.065530594   86280 timer_generic.cc:557]                   .. shard[13] popped 0
I0331 14:44:56.065531417   86280 timer_generic.cc:616]                   .. result --> 1, shard[13]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065532455   86280 timer_generic.cc:513]                   .. shard[14]: heap_empty=true
I0331 14:44:56.065533226   86280 timer_generic.cc:484]                   .. shard[14]->queue_deadline_cap --> 2404
I0331 14:44:56.065533987   86280 timer_generic.cc:557]                   .. shard[14] popped 0
I0331 14:44:56.065534814   86280 timer_generic.cc:616]                   .. result --> 1, shard[14]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065535864   86280 timer_generic.cc:513]                   .. shard[15]: heap_empty=true
I0331 14:44:56.065536634   86280 timer_generic.cc:484]                   .. shard[15]->queue_deadline_cap --> 2404
I0331 14:44:56.065537421   86280 timer_generic.cc:557]                   .. shard[15] popped 0
I0331 14:44:56.065538262   86280 timer_generic.cc:616]                   .. result --> 1, shard[15]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065539332   86280 timer_generic.cc:513]                   .. shard[16]: heap_empty=true
I0331 14:44:56.065540108   86280 timer_generic.cc:484]                   .. shard[16]->queue_deadline_cap --> 2404
I0331 14:44:56.065540881   86280 timer_generic.cc:557]                   .. shard[16] popped 0
I0331 14:44:56.065541716   86280 timer_generic.cc:616]                   .. result --> 1, shard[16]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065542772   86280 timer_generic.cc:513]                   .. shard[17]: heap_empty=true
I0331 14:44:56.065543541   86280 timer_generic.cc:484]                   .. shard[17]->queue_deadline_cap --> 2404
I0331 14:44:56.065544924   86280 timer_generic.cc:557]                   .. shard[17] popped 0
I0331 14:44:56.065545766   86280 timer_generic.cc:616]                   .. result --> 1, shard[17]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065546796   86280 timer_generic.cc:513]                   .. shard[18]: heap_empty=true
I0331 14:44:56.065547596   86280 timer_generic.cc:484]                   .. shard[18]->queue_deadline_cap --> 2404
I0331 14:44:56.065548378   86280 timer_generic.cc:557]                   .. shard[18] popped 0
I0331 14:44:56.065549213   86280 timer_generic.cc:616]                   .. result --> 1, shard[18]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065550247   86280 timer_generic.cc:513]                   .. shard[19]: heap_empty=true
I0331 14:44:56.065551024   86280 timer_generic.cc:484]                   .. shard[19]->queue_deadline_cap --> 2404
I0331 14:44:56.065551817   86280 timer_generic.cc:557]                   .. shard[19] popped 0
I0331 14:44:56.065552654   86280 timer_generic.cc:616]                   .. result --> 1, shard[19]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065553709   86280 timer_generic.cc:513]                   .. shard[20]: heap_empty=true
I0331 14:44:56.065554488   86280 timer_generic.cc:484]                   .. shard[20]->queue_deadline_cap --> 2404
I0331 14:44:56.065555263   86280 timer_generic.cc:557]                   .. shard[20] popped 0
I0331 14:44:56.065556093   86280 timer_generic.cc:616]                   .. result --> 1, shard[20]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065557113   86280 timer_generic.cc:513]                   .. shard[21]: heap_empty=true
I0331 14:44:56.065557882   86280 timer_generic.cc:484]                   .. shard[21]->queue_deadline_cap --> 2404
I0331 14:44:56.065558669   86280 timer_generic.cc:557]                   .. shard[21] popped 0
I0331 14:44:56.065559505   86280 timer_generic.cc:616]                   .. result --> 1, shard[21]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065560532   86280 timer_generic.cc:513]                   .. shard[22]: heap_empty=true
I0331 14:44:56.065561309   86280 timer_generic.cc:484]                   .. shard[22]->queue_deadline_cap --> 2404
I0331 14:44:56.065562082   86280 timer_generic.cc:557]                   .. shard[22] popped 0
I0331 14:44:56.065562916   86280 timer_generic.cc:616]                   .. result --> 1, shard[22]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065563925   86280 timer_generic.cc:513]                   .. shard[23]: heap_empty=true
I0331 14:44:56.065564701   86280 timer_generic.cc:484]                   .. shard[23]->queue_deadline_cap --> 2404
I0331 14:44:56.065565505   86280 timer_generic.cc:557]                   .. shard[23] popped 0
I0331 14:44:56.065566350   86280 timer_generic.cc:616]                   .. result --> 1, shard[23]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065567373   86280 timer_generic.cc:513]                   .. shard[24]: heap_empty=true
I0331 14:44:56.065568153   86280 timer_generic.cc:484]                   .. shard[24]->queue_deadline_cap --> 2404
I0331 14:44:56.065568930   86280 timer_generic.cc:557]                   .. shard[24] popped 0
I0331 14:44:56.065569799   86280 timer_generic.cc:616]                   .. result --> 1, shard[24]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065570805   86280 timer_generic.cc:513]                   .. shard[25]: heap_empty=true
I0331 14:44:56.065571586   86280 timer_generic.cc:484]                   .. shard[25]->queue_deadline_cap --> 2404
I0331 14:44:56.065572378   86280 timer_generic.cc:557]                   .. shard[25] popped 0
I0331 14:44:56.065573217   86280 timer_generic.cc:616]                   .. result --> 1, shard[25]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065574230   86280 timer_generic.cc:513]                   .. shard[26]: heap_empty=true
I0331 14:44:56.065575002   86280 timer_generic.cc:484]                   .. shard[26]->queue_deadline_cap --> 2404
I0331 14:44:56.065576437   86280 timer_generic.cc:557]                   .. shard[26] popped 0
I0331 14:44:56.065577272   86280 timer_generic.cc:616]                   .. result --> 1, shard[26]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065578269   86280 timer_generic.cc:513]                   .. shard[27]: heap_empty=true
I0331 14:44:56.065579049   86280 timer_generic.cc:484]                   .. shard[27]->queue_deadline_cap --> 2404
I0331 14:44:56.065579828   86280 timer_generic.cc:557]                   .. shard[27] popped 0
I0331 14:44:56.065580667   86280 timer_generic.cc:616]                   .. result --> 1, shard[27]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065581658   86280 timer_generic.cc:513]                   .. shard[28]: heap_empty=true
I0331 14:44:56.065582429   86280 timer_generic.cc:484]                   .. shard[28]->queue_deadline_cap --> 2404
I0331 14:44:56.065583219   86280 timer_generic.cc:557]                   .. shard[28] popped 0
I0331 14:44:56.065584092   86280 timer_generic.cc:616]                   .. result --> 1, shard[28]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065585087   86280 timer_generic.cc:513]                   .. shard[29]: heap_empty=true
I0331 14:44:56.065585870   86280 timer_generic.cc:484]                   .. shard[29]->queue_deadline_cap --> 2404
I0331 14:44:56.065586659   86280 timer_generic.cc:557]                   .. shard[29] popped 0
I0331 14:44:56.065587491   86280 timer_generic.cc:616]                   .. result --> 1, shard[29]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065588492   86280 timer_generic.cc:513]                   .. shard[30]: heap_empty=true
I0331 14:44:56.065589264   86280 timer_generic.cc:484]                   .. shard[30]->queue_deadline_cap --> 2404
I0331 14:44:56.065590042   86280 timer_generic.cc:557]                   .. shard[30] popped 0
I0331 14:44:56.065590883   86280 timer_generic.cc:616]                   .. result --> 1, shard[30]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065591864   86280 timer_generic.cc:513]                   .. shard[31]: heap_empty=true
I0331 14:44:56.065592635   86280 timer_generic.cc:484]                   .. shard[31]->queue_deadline_cap --> 2404
I0331 14:44:56.065593407   86280 timer_generic.cc:557]                   .. shard[31] popped 0
I0331 14:44:56.065594252   86280 timer_generic.cc:616]                   .. result --> 1, shard[31]->min_deadline 1404 --> 2405, now=1404
I0331 14:44:56.065595343   86280 timer_generic.cc:722]                 TIMER CHECK END: r=1; next=2405
I0331 14:44:56.065596141   86280 timer_manager.cc:188]                 sleep for a 1001 milliseconds
D0331 14:44:56.067976010   86276 default_event_engine.cc:74]           (event_engine) Created DefaultEventEngine::0x15a3250
I0331 14:44:56.068032485   86276 channel_stack.cc:114]                 CHANNEL_STACK: init CLIENT_CHANNEL
I0331 14:44:56.068034431   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter client-channel
I0331 14:44:56.068049853   86276 client_channel.cc:995]                chand=0x2597580: creating client_channel for channel stack 0x2597500
I0331 14:44:56.068052681   86276 timer_generic.cc:342]                 TIMER 0x18ae750: SET 6403 now 1403 call 0x18ae788[0x7f3f080b7920]
I0331 14:44:56.068054162   86276 timer_generic.cc:378]                   .. add to shard 13 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.068069390   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.068072519   86276 credentials.cc:37]                    grpc_channel_credentials_release(creds=0x1fba4d0)
I0331 14:44:56.068312864   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.068325763   86276 client_channel.cc:1837]               chand=0x2597580 calld=0x2598be0: created call
I0331 14:44:56.068331162   86276 metadata_array.cc:31]                 grpc_metadata_array_init(array=0x7f3f06c511f8)
I0331 14:44:56.068332223   86276 metadata_array.cc:31]                 grpc_metadata_array_init(array=0x7f3f06c4b0b0)
I0331 14:44:56.068334336   86276 call.cc:2956]                         grpc_call_start_batch(call=0x2597e90, ops=0x23b5900, nops=6, tag=0x7f3f06c60180, reserved=(nil))
I0331 14:44:56.068337980   86276 call.cc:1365]                         ops[0]: SEND_INITIAL_METADATA(nil)
I0331 14:44:56.068339521   86276 call.cc:1365]                         ops[1]: SEND_MESSAGE ptr=0x1f6e070
I0331 14:44:56.068340546   86276 call.cc:1365]                         ops[2]: SEND_CLOSE_FROM_CLIENT
I0331 14:44:56.068341694   86276 call.cc:1365]                         ops[3]: RECV_INITIAL_METADATA ptr=0x7f3f06c511f8
I0331 14:44:56.068342807   86276 call.cc:1365]                         ops[4]: RECV_MESSAGE ptr=0x7f3f06c5f1a0
I0331 14:44:56.068344172   86276 call.cc:1365]                         ops[5]: RECV_STATUS_ON_CLIENT metadata=0x7f3f06c4b0b0 status=0x7f3f06c4b0c8 details=0x7f3f06c4b0d0
I0331 14:44:56.068353791   86276 call.cc:805]                          OP[client-channel:0x2598bc0]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.068357462   86276 client_channel.cc:1993]               chand=0x2597580 calld=0x2598be0: adding pending batch at index 0
I0331 14:44:56.068358811   86276 client_channel.cc:1945]               chand=0x2597580 calld=0x2598be0: grabbing resolution mutex to apply service config
I0331 14:44:56.068360605   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x2597638]: get current state: IDLE
I0331 14:44:56.068361792   86276 client_channel.cc:2294]               chand=0x2597580 calld=0x2598be0: triggering exit idle
I0331 14:44:56.068362705   86276 client_channel.cc:2343]               chand=0x2597580 calld=0x2598be0: queuing to wait for resolution
I0331 14:44:56.068363728   86276 client_channel.cc:2155]               chand=0x2597580 calld=0x2598be0: adding to resolver queued picks list
I0331 14:44:56.068365426   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x2597638]: get current state: IDLE
I0331 14:44:56.068367075   86276 client_channel.cc:1504]               chand=0x2597580: starting name resolution
I0331 14:44:56.068388763   86276 polling_resolver.cc:63]               [polling resolver 0x25993d0] created
I0331 14:44:56.068391583   86276 connectivity_state.cc:160]            ConnectivityStateTracker client_channel[0x2597638]: IDLE -> CONNECTING (started resolving, OK)
D0331 14:44:56.068395017   86276 grpc_ares_wrapper.cc:1033]            (c-ares resolver) request:0x20a63e0 c-ares grpc_dns_lookup_hostname_ares_impl name=192.168.8.9:443, default_port=https
I0331 14:44:56.068403797   86276 grpc_ares_wrapper.cc:552]             (c-ares resolver) request:0x20a63e0 c-ares address sorting: input[0]=192.168.8.9:443
I0331 14:44:56.068425351   86276 grpc_ares_wrapper.cc:552]             (c-ares resolver) request:0x20a63e0 c-ares address sorting: output[0]=192.168.8.9:443
D0331 14:44:56.068426699   86276 dns_resolver_ares.cc:118]             (c-ares resolver) resolver:0x25993d0 Started resolving hostnames. hostname_request_:0x20a63e0
I0331 14:44:56.068427928   86276 polling_resolver.cc:253]              [polling resolver 0x25993d0] starting resolution, request_=0x1f7a5b0
I0331 14:44:56.068429002   86276 client_channel.cc:1517]               chand=0x2597580: created resolver=0x25993d0
D0331 14:44:56.068430652   86276 dns_resolver_ares.cc:396]             (c-ares resolver) resolver:0x1f7a5b0 OnResolved() proceeding
I0331 14:44:56.068433817   86276 polling_resolver.cc:137]              [polling resolver 0x25993d0] request complete
I0331 14:44:56.068435200   86276 polling_resolver.cc:142]              [polling resolver 0x25993d0] returning result: addresses=<1 addresses>, service_config=<null>
I0331 14:44:56.068436897   86276 client_channel.cc:1173]               chand=0x2597580: got resolver result
I0331 14:44:56.068438290   86276 client_channel.cc:1235]               chand=0x2597580: resolver returned no service config. Using default service config for channel.
I0331 14:44:56.068443051   86276 client_channel.cc:1417]               chand=0x2597580: using service config: "{}"
I0331 14:44:56.068444117   86276 client_channel.cc:1431]               chand=0x2597580: using ConfigSelector (nil)
I0331 14:44:56.068446800   86276 client_channel.cc:1380]               chand=0x2597580: created new LB policy 0x1dd3d20
I0331 14:44:56.068447947   86276 client_channel.cc:1362]               chand=0x2597580: Updating child policy 0x1dd3d20
I0331 14:44:56.068449464   86276 child_policy_handler.cc:236]          [child_policy_handler 0x1dd3d20] creating new child policy pick_first
I0331 14:44:56.068451741   86276 pick_first.cc:177]                    Pick First 0x19c3790 created.
I0331 14:44:56.068452912   86276 child_policy_handler.cc:299]          [child_policy_handler 0x1dd3d20] created new LB policy "pick_first" (0x19c3790)
I0331 14:44:56.068454770   86276 child_policy_handler.cc:256]          [child_policy_handler 0x1dd3d20] updating child policy 0x19c3790
I0331 14:44:56.068456345   86276 pick_first.cc:268]                    Pick First 0x19c3790 received update with 1 addresses
I0331 14:44:56.068458712   86276 subchannel_list.h:367]                [PickFirstSubchannelList 0x19c3790] Creating subchannel list 0x168f3b0 for 1 subchannels
I0331 14:44:56.068583305   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.068591454   86276 client_channel.cc:441]                chand=0x2597580: creating subchannel wrapper 0x20232b0 for subchannel 0x259a600
I0331 14:44:56.068595603   86276 subchannel_list.h:386]                [PickFirstSubchannelList 0x19c3790] subchannel list 0x168f3b0 index 0: Created subchannel 0x20232b0 for address 192.168.8.9:443
I0331 14:44:56.068597377   86276 subchannel_list.h:316]                [PickFirstSubchannelList 0x19c3790] subchannel list 0x168f3b0 index 0 of 1 (subchannel 0x20232b0): starting watch
I0331 14:44:56.068600632   86276 client_channel.cc:895]                chand=0x2597580: update: state=CONNECTING status=(OK) picker=0x1b1e7d0
I0331 14:44:56.068603436   86276 client_channel.cc:1442]               chand=0x2597580: switching to ConfigSelector (nil)
I0331 14:44:56.068607520   86276 channel_stack.cc:114]                 CHANNEL_STACK: init DynamicFilters
I0331 14:44:56.068608389   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter retry_filter
I0331 14:44:56.068614958   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x2597638]: get current state: CONNECTING
I0331 14:44:56.068616336   86276 client_channel.cc:2169]               chand=0x2597580 calld=0x2598be0: applying service config to call
I0331 14:44:56.068617707   86276 client_channel.cc:2140]               chand=0x2597580 calld=0x2598be0: removing from resolver queued picks list
I0331 14:44:56.068619799   86276 polling_resolver.cc:172]              [polling resolver 0x25993d0] result status from channel: OK
I0331 14:44:56.068623529   86276 client_channel.cc:562]                chand=0x2597580: connectivity change for subchannel wrapper 0x20232b0 subchannel 0x259a600; hopping into work_serializer
I0331 14:44:56.068625220   86276 client_channel.cc:594]                chand=0x2597580: processing connectivity change in work serializer for subchannel wrapper 0x20232b0 subchannel 0x259a600 watcher=0x1dd3d90
I0331 14:44:56.068627289   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x19c3790] subchannel list 0x168f3b0 index 0 of 1 (subchannel 0x20232b0): connectivity changed: old_state=N/A, new_state=IDLE, status=OK, shutting_down=0, pending_watcher=0x1dd3d90
I0331 14:44:56.068634823   86276 handshaker.cc:66]                     handshake_manager 0x1b75b80: adding handshaker tcp_connect [0x1ced550] at index 0
I0331 14:44:56.068638112   86276 handshaker.cc:66]                     handshake_manager 0x1b75b80: adding handshaker http_connect [0x259b410] at index 1
I0331 14:44:56.068670452   86276 ssl_transport_security.cc:227]             HANDSHAKE START -       TLS client start_connect  - !!!!!!
I0331 14:44:56.068715782   86276 ssl_transport_security.cc:227]                        LOOP -    TLS client enter_early_data  - !!!!!!
I0331 14:44:56.068717805   86276 ssl_transport_security.cc:227]                        LOOP -   TLS client read_server_hello  - !!!!!!
I0331 14:44:56.068721537   86276 handshaker.cc:66]                     handshake_manager 0x1b75b80: adding handshaker security [0x259b200] at index 2
I0331 14:44:56.068723662   86276 timer_generic.cc:342]                 TIMER 0x1b75be8: SET 21407 now 1407 call 0x1b75c20[0x7f3f08452650]
I0331 14:44:56.068725238   86276 timer_generic.cc:378]                   .. add to shard 14 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.068736415   86276 handshaker.cc:92]                     handshake_manager 0x1b75b80: error=OK shutdown=0 index=0, args={endpoint=(nil), args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=auth.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1fba4d0, grpc.internal.event_engine=0x1e0bd60, grpc.internal.security_connector=0x1bcd0c0, grpc.internal.subchannel_pool=0x18c5070, grpc.internal.tcp_handshaker_bind_endpoint_to_pollset=1, grpc.internal.tcp_handshaker_resolved_address=ipv4:192.168.8.9:443, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=auth.spot.robot}, read_buffer=0x1d473c0 (length=0), exit_early=0}
I0331 14:44:56.068739358   86276 handshaker.cc:138]                    handshake_manager 0x1b75b80: calling handshaker tcp_connect [0x1ced550] at index 0
I0331 14:44:56.068799659   86276 tcp_client_posix.cc:378]              CLIENT_CONNECT: ipv4:192.168.8.9:443: asynchronously connecting fd 0x1b42920
I0331 14:44:56.068801806   86276 timer_generic.cc:342]                 TIMER 0x155b8b0: SET 21407 now 1407 call 0x155b8e8[0x7f3f08354c10]
I0331 14:44:56.068802993   86276 timer_generic.cc:378]                   .. add to shard 1 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.068805683   86276 client_channel.cc:2372]               chand=0x2597580 calld=0x2598be0: creating dynamic call stack on channel_stack=0x2424190
I0331 14:44:56.068809226   86276 retry_filter.cc:2088]                 chand=0x1905610 calld=0x25a5ef0: created call
I0331 14:44:56.068810836   86276 client_channel.cc:2068]               chand=0x2597580 calld=0x2598be0: starting 1 pending batches on dynamic_call=0x25a5e90
I0331 14:44:56.068812317   86276 client_channel.cc:562]                chand=0x2597580: connectivity change for subchannel wrapper 0x20232b0 subchannel 0x259a600; hopping into work_serializer
I0331 14:44:56.068813536   86276 client_channel.cc:594]                chand=0x2597580: processing connectivity change in work serializer for subchannel wrapper 0x20232b0 subchannel 0x259a600 watcher=0x1dd3d90
I0331 14:44:56.068815430   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x19c3790] subchannel list 0x168f3b0 index 0 of 1 (subchannel 0x20232b0): connectivity changed: old_state=IDLE, new_state=CONNECTING, status=OK, shutting_down=0, pending_watcher=0x1dd3d90
I0331 14:44:56.068817241   86276 client_channel.cc:895]                chand=0x2597580: update: state=CONNECTING status=(OK) picker=0x1e96880
I0331 14:44:56.068822464   86276 dynamic_filters.cc:81]                OP[retry_filter:0x25a5ed0]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.068824639   86276 retry_filter.cc:2416]                 chand=0x1905610 calld=0x25a5ef0: adding pending batch at index 0
I0331 14:44:56.068826224   86276 retry_filter.cc:2291]                 chand=0x1905610 calld=0x25a5ef0: creating call attempt
I0331 14:44:56.068828588   86276 client_channel.cc:2560]               chand=0x2597580 lb_call=0x25a70c0: created
I0331 14:44:56.068829730   86276 retry_filter.cc:722]                  chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: created attempt, lb_call=0x25a70c0
I0331 14:44:56.068831009   86276 retry_filter.cc:1102]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: constructing retriable batches
I0331 14:44:56.068832800   86276 retry_filter.cc:1331]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: creating batch 0x18c3280
I0331 14:44:56.068836805   86276 retry_filter.cc:2000]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: starting calld->send_messages[0]
I0331 14:44:56.068839759   86276 retry_filter.cc:899]                  chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: adding batch (start replayable pending batch on call attempt):  SEND_INITIAL_METADATA{:path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.068841622   86276 retry_filter.cc:1112]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: starting 1 retriable batches on lb_call=0x25a70c0
I0331 14:44:56.068844175   86276 client_channel.cc:2710]               chand=0x2597580 lb_call=0x25a70c0: batch started from above:  SEND_INITIAL_METADATA{:path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA, call_attempt_tracer_=(nil)
I0331 14:44:56.068845654   86276 client_channel.cc:2612]               chand=0x2597580 lb_call=0x25a70c0: adding pending batch at index 0
I0331 14:44:56.068846962   86276 client_channel.cc:2824]               chand=0x2597580 lb_call=0x25a70c0: grabbing data plane mutex to perform pick
I0331 14:44:56.068848527   86276 client_channel.cc:3144]               chand=0x2597580 lb_call=0x25a70c0: LB pick queued
I0331 14:44:56.068849372   86276 client_channel.cc:3040]               chand=0x2597580 lb_call=0x25a70c0: adding to queued picks list
I0331 14:44:56.068851488   86276 client_channel.cc:2113]               chand=0x2597580 calld=0x2598be0: cancelling resolver queued pick: error=OK self=0x2098a40 calld->resolver_pick_canceller=(nil)
I0331 14:44:56.068867457   86276 completion_queue.cc:948]              grpc_completion_queue_next(cq=0x1e4e120, deadline=gpr_timespec { tv_sec: 1680288296, tv_nsec: 268866312, clock_type: 1 }, reserved=(nil))
I0331 14:44:56.075354406   86276 tcp_client_posix.cc:173]              CLIENT_CONNECT: ipv4:192.168.8.9:443: on_writable: error=OK
I0331 14:44:56.075386843   86276 timer_generic.cc:443]                 TIMER 0x155b8b0: CANCEL pending=true
I0331 14:44:56.075430176   86276 executor.cc:293]                      EXECUTOR (default-executor) try to schedule 0x1ced630 (short) to thread 0
I0331 14:44:56.075447658   86276 tcp_client_posix.cc:134]              CLIENT_CONNECT: ipv4:192.168.8.9:443: on_alarm: error=CANCELLED
I0331 14:44:56.075533769   86278 executor.cc:242]                      EXECUTOR (default-executor) [0]: execute
I0331 14:44:56.075553783   86278 executor.cc:121]                      EXECUTOR (default-executor) run 0x1ced630
I0331 14:44:56.075567463   86278 handshaker.cc:92]                     handshake_manager 0x1b75b80: error=OK shutdown=0 index=1, args={endpoint=0x2423ad0, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=auth.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1fba4d0, grpc.internal.event_engine=0x1e0bd60, grpc.internal.security_connector=0x1bcd0c0, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=auth.spot.robot}, read_buffer=0x1d473c0 (length=0), exit_early=0}
I0331 14:44:56.075570356   86278 handshaker.cc:138]                    handshake_manager 0x1b75b80: calling handshaker http_connect [0x259b410] at index 1
I0331 14:44:56.075575201   86278 handshaker.cc:92]                     handshake_manager 0x1b75b80: error=OK shutdown=0 index=2, args={endpoint=0x2423ad0, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=auth.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1fba4d0, grpc.internal.event_engine=0x1e0bd60, grpc.internal.security_connector=0x1bcd0c0, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=auth.spot.robot}, read_buffer=0x1d473c0 (length=0), exit_early=0}
I0331 14:44:56.075577529   86278 handshaker.cc:138]                    handshake_manager 0x1b75b80: calling handshaker security [0x259b200] at index 2
I0331 14:44:56.075582270   86278 tcp_posix.cc:1823]                    WRITE 0x2423ad0 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.075586695   86278 tcp_posix.cc:1827]                    WRITE DATA: 16 03 01 02 00 01 00 01 fc 03 03 44 8b 7d cf 7f 5d ea e0 45 35 45 07 ab 95 6f 11 c4 c3 f7 09 f5 5d 84 69 ce 9e 2d 64 b4 61 b1 dc 20 89 a8 85 30 2b 3c 98 e8 97 19 9c 6c 7b c7 06 5e 41 54 f0 68 c8 98 ff 4f 83 b0 88 ea 63 dd f4 cc 00 0e 13 01 13 02 13 03 c0 2b c0 2c c0 2f c0 30 01 00 01 a5 00 00 00 14 00 12 00 00 0f 61 75 74 68 2e 73 70 6f 74 2e 72 6f 62 6f 74 00 17 00 00 ff 01 00 01 00 00 0a 00 04 00 02 00 17 00 0b 00 02 01 00 00 23 00 00 00 10 00 0e 00 0c 08 67 72 70 63 2d 65 78 70 02 68 32 00 0d 00 14 00 12 04 03 08 04 04 01 05 03 08 05 05 01 08 06 06 01 02 01 33 74 00 00 00 33 00 47 00 45 00 17 00 41 04 0f d8 8f a7 19 a6 7f c9 54 cc 5a 5d d1 5a 53 f3 b2 8e ba da 91 fa 1f 35 5b c6 d3 b7 10 02 7f 73 4d 9e 62 f5 d7 da 87 27 67 c5 f3 2c 87 ed 7c 14 06 2d f5 04 b1 16 13 29 69 7c b2 1b 43 98 5c 65 00 2d 00 02 01 01 00 2b 00 05 04 03 04 03 03 00 15 00 e6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 '...........D.}..]..E5E...o......].i..-d.a.. ...0+<.....l{..^AT.h...O....c............+.,./.0.............auth.spot.robot........................#.........grpc-exp.h2........................3t...3.G.E...A.........T.Z].ZS........5[......sM.b....'g..,..|..-.....)i|..C.\e.-.....+.................................................................................................................................................................................................................................................'
I0331 14:44:56.075609023   86278 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.075611251   86278 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.075612870   86278 executor.cc:221]                      EXECUTOR (default-executor) [0]: step (sub_depth=1)
I0331 14:44:56.081167410   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.081215925   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.081236110   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x259b3a8 0x7f3f0840fca0:0x259b200
I0331 14:44:56.081237263   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.081246351   86276 tcp_posix.cc:818]                     READ DATA: 16 03 03 00 9b 02 00 00 97 03 03 fa ac 35 f9 7e f0 46 96 a3 f9 24 23 97 4d 4b 72 64 49 c4 1b e0 10 db 3d 39 bc 57 3a 32 53 69 40 20 89 a8 85 30 2b 3c 98 e8 97 19 9c 6c 7b c7 06 5e 41 54 f0 68 c8 98 ff 4f 83 b0 88 ea 63 dd f4 cc 13 02 00 00 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 2b 13 78 6b 19 2a cd 3f e8 44 68 c1 87 cf a1 13 22 c4 86 6c ff c6 40 8e 84 28 b6 e5 5f a0 53 b1 37 c9 1f 7b 1e cb 10 a7 dd 26 9c 09 b1 e3 42 df 04 cd 81 88 e4 c0 7f 99 3d 3a 75 0f 7c 51 9a ab 14 03 03 00 01 01 17 03 03 00 34 a8 76 3a bf 68 d0 ac 2b a9 25 32 24 64 7b 18 ca d0 d4 35 b7 d2 35 58 59 35 5f 80 6a 0a 08 1b 22 e9 c1 cb ac 34 fb 4f 32 a0 3f 96 ee db dd c6 6b 40 d0 fb 10 17 03 03 08 4f b6 36 af 23 4d 04 37 da b2 77 91 a9 c3 bc 45 90 82 ed 67 12 56 76 ed cd e2 91 a9 57 2f c6 47 2c d6 92 69 f5 25 4f 4c 92 97 80 3c 35 46 2d 96 fb 26 88 af 33 83 62 94 74 c9 7b af ae d5 4e af ec ea 13 8d a6 b5 81 2e 25 3e 79 9f 60 85 15 dd f2 c5 78 9f 8c 0a 99 68 4e 19 9e 5b 83 e5 70 fe 5b 50 e0 eb 4d a5 7c 73 10 4e b1 d1 79 d1 51 cf 72 26 a4 34 17 c6 62 78 24 28 f9 5e 20 e3 b2 4f 9c 86 33 64 85 93 f7 81 4c f2 50 55 01 c8 df 1e fb af 58 65 5a 47 d5 c8 9b 6a ba 72 46 79 12 db 6a 37 7d b8 39 75 0b 12 56 2e 50 e2 00 ee fa c2 61 85 33 54 a6 5d 5e 68 8b a9 e2 5f ce db ed 70 9b bf 0c 76 b0 4a 32 33 dd 8e 24 34 a0 cf f8 e0 f6 51 04 d7 f3 4d f6 76 4b 2d 1f b2 90 8f 74 24 43 6a 02 51 13 e3 bf 70 17 49 75 11 7d 84 99 aa cc 6b e0 e3 51 73 00 31 33 75 68 1c df f1 26 9b 12 f6 03 9f a7 fb af 29 94 5b c7 2a 2b f3 cf e7 22 a5 fa fb 31 67 55 a5 bc 9c 36 8a ba e5 ca 7a 1c a6 3f f6 67 9c 4a 3a 82 72 59 9f f4 52 d5 26 51 4f d7 9c 49 6d ab 2a 71 af ae 25 ac 0c b2 06 8c 61 a5 e4 a8 b5 3f e2 d7 05 b7 c7 ed 5c 18 5c 9b 89 9b 50 40 8e 10 84 63 1f 8b be 2e 0c 8a 35 b4 48 5c d0 69 7c b1 07 45 4d 4c 65 61 ae 2a ce 85 3d 74 17 b4 6b 25 b6 58 3f 39 8f 89 b6 a6 8f 3e 99 5e 2d 91 0d bb cd 8f 6b fe ad e8 ef 0e d1 15 1f a5 75 d5 37 74 b6 30 8f 0a b6 64 65 e0 6e 92 3a c7 48 e0 9a 18 d4 16 88 55 17 7d 89 db 57 4b 91 d8 1d a7 57 d4 1f f9 a9 8d 88 33 76 47 9f 48 b9 b4 04 4d a8 a9 1b 93 f0 54 30 6c 8b fc cc ef f3 97 a0 eb 3c 49 5a b1 6f 54 d9 50 05 9c e1 81 a2 8d f6 8e ca cc 49 83 b7 4e cb c9 34 69 2d be fb d5 0e 53 f3 03 6d 92 93 7f 9f 33 dd 7a 31 eb 5a fa 02 77 53 e0 b7 91 d5 4a 3c 94 40 f1 0e 77 27 98 e7 c8 52 1d 93 56 b1 09 0d ff 05 51 b4 77 b9 74 88 ef df e2 2f 58 5c c1 6a 4e f1 13 1a a4 90 c8 3e c8 7f 15 9f 5e 2e 80 59 b1 d2 ed 03 41 d0 df 30 bf a7 a9 b0 92 e7 03 f0 a9 ea b8 e1 e3 93 e8 d0 7f 99 e3 9b 86 d4 0e 3a 18 41 27 11 af 10 a3 56 54 e6 b6 52 9a 0a e5 75 76 47 48 47 76 7c 8d d3 14 9b 32 0e 23 66 c2 8d 56 91 53 7e e2 cd fc aa 93 2a 5b 3f 4d d9 55 07 bb 81 09 12 31 29 8a ff d1 c4 6d 32 51 85 69 b9 75 27 db 4d 91 04 59 03 cf 84 24 32 57 1d 30 fc 25 32 fb 7b 93 bf f9 15 85 d9 18 c6 f9 1a 5a 14 b6 a8 e1 14 7d a3 c6 bd 71 09 a2 9f 40 e8 17 39 dd 49 c6 bc 60 14 5c 19 d1 7e 78 79 9d 9f ad 99 2f 2c fa f5 a9 94 c7 32 ea bd cd 20 7a 83 3a 2d 78 78 9d 5a 00 e0 31 40 2b c4 ee 3e bd 3f 84 a6 b8 5a b5 d9 d9 39 87 e1 85 37 05 80 9e 58 e5 c0 a1 bd 87 cb 09 ff 6e 91 8f 88 34 2a 59 b6 dd f6 77 9e 90 70 65 14 7b 98 51 b7 e3 8e dd 46 7a 2f 70 f3 27 fe a2 61 4e 0f 2d ca 02 c6 2f 38 15 4d 20 27 22 a8 9e cb 87 3b 11 b8 6f f7 07 05 3b a4 a2 a0 70 cd 4e 56 4f ea 91 0c 9f 5f 1b 14 ba 79 77 90 50 48 35 21 1f 92 14 dd 78 d5 04 19 e6 7d ca 9e 4f 76 81 3c 87 7c ff d8 a7 c3 9a 92 bc a1 c8 20 48 45 ef 4b ff e5 6b 4a 03 20 ba 35 b0 d8 a4 f9 a7 c7 64 6a 97 e7 2a ed 98 cb 7d 06 ea f9 31 65 b7 a8 a1 31 86 e8 5f 07 ca 46 e6 f9 85 72 af ca a0 86 98 e6 0a 7d 0a 6c 22 dd b3 0b 68 f5 f4 3e 2b fc a4 50 f0 01 e1 6c 03 97 97 1e d9 ef d3 b5 eb 7c b5 ff dc f9 5f 96 19 c9 5c 04 3e 6d e6 da c5 cf 7e b8 1b 4c 71 24 2d b1 44 ca 58 48 a4 1a e5 85 f9 b2 25 c1 88 e2 90 8f 66 bc 6c 0f 14 1e 84 ed b7 f1 0b 45 83 fb 28 dd 70 f7 89 97 e9 44 95 14 22 6f 9b 20 3d c5 f1 a5 f5 b3 ad 74 fb 25 b0 59 37 8d 5c e0 eb 04 0a 44 d3 63 48 66 51 da d7 e9 8e ab 28 71 12 8d 81 22 73 18 88 ec 64 d7 2e 7c a5 7b 59 c3 dd 7d ca 0c ee bf 7a 69 3c 97 a7 f0 8c d8 ef 8e 83 17 68 02 a8 d2 25 db e3 8c be 28 08 80 82 04 52 0f ed 96 31 5d 3c b6 81 7b b5 b2 9d f7 08 1e 87 a5 30 de 01 71 cd 7e 55 b8 24 08 25 4c a8 6a 60 9d 28 e9 93 a1 26 85 3d fc 3c 44 ca b7 a4 ed 37 6b 3b fe 70 4b ef 41 b3 50 e6 6b 9a e0 53 78 85 5f f4 d3 dc dc 62 65 c3 f0 1f 69 c9 f9 c5 c4 c6 7b ce dd d0 bf 16 05 e7 26 c8 56 1e 67 ed b7 29 '.............5.~.F...$#.MKrdI.....=9.W:2Si@ ...0+<.....l{..^AT.h...O....c.......O.+.....3.E...A.+.xk.*.?.Dh....."..l..@..(.._.S.7..{.....&....B.........=:u.|Q............4.v:.h..+.%2$d{....5..5XY5_.j..."....4.O2.?.....k@.......O.6.#M.7..w....E...g.Vv.....W/.G,..i.%OL...<5F-..&..3.b.t.{...N.........%>y.`.....x....hN..[..p.[P..M.|s.N..y.Q.r&.4..bx$(.^ ..O..3d....L.PU......XeZG...j.rFy..j7}.9u..V.P.....a.3T.]^h..._...p...v.J23..$4.....Q...M.vK-....t$Cj.Q...p.Iu.}....k..Qs.13uh...&........).[.*+..."...1gU...6....z..?.g.J:.rY..R.&QO..Im.*q..%.....a....?......\.\...P@...c......5.H\.i|..EMLea.*..=t..k%.X?9.....>.^-.....k.........u.7t.0...de.n.:.H......U.}..WK....W......3vG.H...M.....T0l........<IZ.oT.P..........I..N..4i-....S..m....3.z1.Z..wS....J<.@..w'...R..V.....Q.w.t..../X\.jN......>....^..Y....A..0.......................:.A'....VT..R...uvGHGv|....2.#f..V.S~.....*[?M.U.....1)....m2Q.i.u'.M..Y...$2W.0.%2.{..........Z.....}...q...@..9.I..`.\..~xy..../,.....2... z.:-xx.Z..1@+..>.?...Z...9...7...X........n...4*Y...w..pe.{.Q....Fz/p.'..aN.-.../8.M '"....;..o...;...p.NVO...._...yw.PH5!....x....}..Ov.<.|......... HE.K..kJ. .5......dj..*...}...1e...1.._..F...r.......}.l"...h..>+..P...l.........|...._...\.>m....~..Lq$-.D.XH......%.....f.l........E..(.p....D.."o. =......t.%.Y7.\....D.cHfQ.....(q..."s...d..|.{Y..}....zi<.........h...%....(....R...1]<..{........0..q.~U.$.%L.j`.(...&.=.<D....7k;.pK.A.P.k..Sx._....be...i.....{.......&.V.g..)'
I0331 14:44:56.081263003   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_hello_retr  - !!!!!!
I0331 14:44:56.081269392   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_hel  - !!!!!!
I0331 14:44:56.081339966   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_encrypted_  - !!!!!!
I0331 14:44:56.081346571   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_certificat  - !!!!!!
I0331 14:44:56.081348876   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.081349836   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.081351295   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.084036378   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.084059749   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.084067585   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x259b3a8 0x7f3f0840fca0:0x259b200
I0331 14:44:56.084068769   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.084075930   86276 tcp_posix.cc:818]                     READ DATA: cd 59 f8 47 aa b0 c6 db cf a2 12 d3 d6 5b 95 26 54 13 ea 2d 09 e9 38 5e 00 f6 ac 21 5d bd d0 12 b5 1f 66 83 02 6e 2f e5 1b 03 07 a1 d4 b5 8d fa 4f 7b 6e e2 72 fe 12 a0 3d 52 6f a7 c5 95 f0 66 30 89 20 cc 7b db 81 9c 6b 7a 20 20 d4 70 5e 40 c2 d1 46 09 ae 8b f8 65 42 3b cc 4d 94 5b cd 0f e0 95 0f 75 47 d7 85 ab 49 e6 93 71 1d 38 31 04 04 a8 f7 43 7d 41 05 6e 06 64 86 08 fe c0 45 bd 4a fe 74 d8 24 e5 5a e3 75 33 a1 86 b9 4c 7f ea 1c f0 ec 79 c8 6f 26 e4 d6 26 aa 57 7a 9a 2e 4d 0e aa fa e7 eb 45 d2 18 cb 33 18 eb 78 37 8b ab 3a ff fe 25 ba 26 e7 b6 d1 b1 e1 3b a3 47 83 8c 63 f0 67 4c 5e 73 b2 a7 60 15 21 66 f6 e3 0e 4b f0 fc cd 30 2f dc 6a 04 a1 16 c4 9c 90 9a 14 51 58 d4 2a 31 47 0e 1b ec e4 a0 91 8e b9 82 4c a8 83 37 35 50 13 56 82 e0 85 15 b1 99 c9 1c b1 dd 97 0b e3 02 43 39 80 c0 61 4d 82 64 bb d4 80 8e 3e f2 52 f6 53 f1 d2 e0 e2 41 a5 9a c6 24 c1 92 ba 55 7e 74 ba 43 e8 5d 08 71 5f 90 b5 b9 be 1f 38 45 6e 7a eb d7 7c 32 a7 5b 79 a3 f7 dd 4a bd a9 a6 71 d1 5e 37 85 56 ff ad 58 6b 5f 3f 2f 27 5a 0a a2 13 04 d5 38 e1 60 58 91 39 b6 d5 e1 eb f5 b2 a9 cf cf 35 62 84 08 3b 07 57 d1 06 de ee 1e bb d2 96 be 43 27 d7 e1 cc 85 d4 43 c5 12 71 74 32 d4 a7 21 0d be 5d 02 30 42 dc 9f bf 80 76 e8 d4 1e dd 57 0a 32 0f 6f b8 bb 35 28 28 e2 50 5f 2d 79 b5 0b b7 da e7 a3 2e 3a 4a 51 98 dd ae 76 2b 3f 6d 0b 86 4b db 8e 5e 62 54 51 e5 3d cb b5 dc 84 87 17 76 7b 1e 9d d2 b7 34 71 4e 7d f4 3f ab a5 d9 47 27 33 98 a8 95 9e 9d 38 98 f6 1a 64 e6 61 b1 b4 06 1d 7b fc 53 b3 ea 23 31 44 08 63 5a d3 4f f9 5a 00 51 07 58 36 81 d1 c8 56 d6 a1 c4 51 67 f6 57 b4 b4 3b e0 e0 0c 06 0c 25 83 a6 26 7b 83 75 fc 7d 5d ca 1c 66 b1 16 a0 60 05 de ee 5e 85 6a f6 b1 0b 39 dc 8e c5 24 5b 38 99 c9 e9 09 51 82 35 51 1d c5 37 ea 05 76 f4 b4 52 46 7b f2 da be ae d5 95 6b ed 39 1d 28 1a 35 3c 67 f3 5c bc b3 69 18 a8 40 44 4d 9d 57 35 1b 8a 54 10 40 ef 35 4b 64 e7 73 83 48 66 ac 6c 77 f8 db 6c 14 63 13 75 3c ca 8d 0a 65 44 5c 62 46 84 20 7b 6c 8e 19 d0 c0 0c 97 98 b3 21 6d ef 42 ac 6d d5 b6 d1 0d 24 84 62 57 9b fa 24 36 92 5b d6 d6 df 25 eb 5b e4 97 cc eb 0e f5 54 5c 32 d5 65 91 e6 d4 b7 01 f7 19 9e 51 3c 2f ab 28 ca 23 61 6a 37 82 e0 db 75 81 a2 f4 a0 28 09 56 3d 84 61 db ed 43 a3 0a f5 a2 1a 5f 4e 7d 1d 57 f5 8b 7d b1 5c ba a4 23 df d4 fd 12 de 92 ac c5 95 8c e9 14 a9 82 aa 32 9a 62 b7 07 46 e6 82 51 c7 db a6 dd 16 bb 29 cf e2 20 87 2f e3 ad 54 8a 4f 02 66 86 c8 4b 5a 0f b3 c1 b5 70 8d 72 68 b3 db 8a 45 00 12 12 6f b3 c9 46 8a 08 0f 9d 83 26 95 c8 87 68 56 8f bf 7a 77 60 2b 34 89 2a b6 cf 7b bb b0 5d e0 68 fa 9d df c2 80 e2 28 b1 e8 be de e6 b8 cb 47 81 4d 0d 19 05 60 ba f6 12 8f 2a b6 b7 0d 52 fb 47 05 e5 1e ff 59 ba 92 c0 6b 88 55 be 83 42 f7 2f 03 30 62 e6 90 ef 1c a8 4d 89 ab 02 d3 bc 54 65 1f 92 53 1e 6d 6f 8e 9e 17 03 03 01 19 b5 d0 d1 e4 62 bf 69 cf 47 c7 36 d1 ad ba 67 7d c2 28 ac 7f b2 65 ca 09 a4 7f 83 9d 7f 2b 90 61 60 8c 19 b2 52 b7 5d 64 d1 d2 1a 29 d6 69 d0 d7 96 96 1e f4 4f 82 f0 9e 24 c7 c4 7e 74 7a 97 83 c7 ca f4 23 05 be 04 39 19 3a 8a 39 fb fb b5 78 02 0c f8 9d 16 6e 15 be 39 8c c2 9d 8f b8 78 32 4c 10 69 27 fa 66 c8 9f 7d 60 a3 63 51 08 fe d0 0a b0 7e 4f 7a f7 f8 23 03 f9 c0 54 dc 87 81 3b 32 97 17 7b 35 cd 51 7a c9 07 99 5e 60 09 b3 58 b2 19 36 6c ee 21 b5 2f 09 ef 4d d6 33 1e e1 da fe 00 c3 65 d2 4e e9 de b7 fc 2d 29 57 d9 2d fe 46 3f d1 1d 8a f9 17 72 c4 52 0c 21 8f af 4d 96 70 d7 b6 ce d8 8c d1 5b ba cd 2c f1 3f 87 12 d6 62 cf e9 c1 ae b7 67 33 d6 aa b1 fc fd 5d b4 be f3 84 56 aa 4d 63 0d 5f 18 6e 61 0f e6 48 39 8f 3e 12 cc b7 1a ae 19 54 ea 6f ad 9a 5b 50 13 df 21 7d 28 d9 a9 fb 8c 30 64 9f 31 68 fd 05 6d 41 d8 42 4f c4 6c 27 64 27 b7 17 03 03 00 45 5c 39 7f 88 66 d1 ac b6 0c 50 10 67 17 9c 0f 19 6c 00 1b c1 7e fe 76 9f 74 85 af 1b 1d 2e 1a e7 87 58 2e 18 6d 27 ae 04 7c d1 46 87 92 57 7e b6 16 5d 39 27 03 d2 2a 59 93 68 85 43 b1 9f b1 83 b6 38 d0 ab 6b '.Y.G.........[.&T..-..8^...!].....f..n/.........O{n.r...=Ro....f0. .{...kz  .p^@..F....eB;.M.[.....uG...I..q.81....C}A.n.d....E.J.t.$.Z.u3...L.....y.o&..&.Wz..M.....E...3..x7..:..%.&.....;.G..c.gL^s..`.!f...K...0/.j........QX.*1G.........L..75P.V..............C9..aM.d....>.R.S....A...$...U~t.C.].q_.....8Enz..|2.[y...J...q.^7.V..Xk_?/'Z.....8.`X.9.........5b..;.W.........C'.....C..qt2..!..].0B....v....W.2.o..5((.P_-y.......:JQ...v+?m..K..^bTQ.=......v{....4qN}.?...G'3.....8...d.a....{.S..#1D.cZ.O.Z.Q.X6...V...Qg.W..;.....%..&{.u.}]..f...`...^.j...9...$[8....Q.5Q..7..v..RF{......k.9.(.5<g.\..i..@DM.W5..T.@.5Kd.s.Hf.lw..l.c.u<...eD\bF. {l........!m.B.m....$.bW..$6.[...%.[......T\2.e........Q</.(.#aj7...u....(.V=.a..C....._N}.W..}.\..#...............2.b..F..Q......).. ./..T.O.f..KZ....p.rh...E...o..F.....&...hV..zw`+4.*..{..].h......(.......G.M...`....*...R.G....Y...k.U..B./.0b.....M.....Te..S.mo...........b.i.G.6...g}.(...e.......+.a`...R.]d...).i......O...$..~tz.....#...9.:.9...x.....n..9.....x2L.i'.f..}`.cQ.....~Oz..#...T...;2..{5.Qz...^`..X..6l.!./..M.3......e.N....-)W.-.F?.....r.R.!..M.p......[..,.?...b.....g3.....]....V.Mc._.na..H9.>......T.o..[P..!}(....0d.1h..mA.BO.l'd'.....E\9..f....P.g....l...~.v.t........X..m'..|.F..W~..]9'..*Y.h.C.....8..k'
I0331 14:44:56.084090762   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0331 14:44:56.084138766   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0331 14:44:56.084283682   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_fin  - !!!!!!
I0331 14:44:56.084295023   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_end_of_ear  - !!!!!!
I0331 14:44:56.084296128   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_client_enc  - !!!!!!
I0331 14:44:56.084297173   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_client_cer  - !!!!!!
I0331 14:44:56.084298207   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client complete_second  - !!!!!!
I0331 14:44:56.084309796   86276 ssl_transport_security.cc:227]                        LOOP -            TLS 1.3 client done  - !!!!!!
I0331 14:44:56.084311225   86276 ssl_transport_security.cc:227]                        LOOP - TLS client finish_client_hands  - !!!!!!
I0331 14:44:56.084313998   86276 ssl_transport_security.cc:227]                        LOOP -                TLS client done  - !!!!!!
I0331 14:44:56.084315170   86276 ssl_transport_security.cc:227]              HANDSHAKE DONE -                TLS client done  - !!!!!!
I0331 14:44:56.084318850   86276 tcp_posix.cc:1823]                    WRITE 0x2423ad0 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.084321183   86276 tcp_posix.cc:1827]                    WRITE DATA: 14 03 03 00 01 01 17 03 03 00 45 b6 a7 34 84 05 b9 34 95 05 c1 8b 7a 3e 2a 8f d8 48 57 9e 57 3e 80 24 ff 18 be d5 70 50 cf 63 45 47 ba 93 00 e0 bb fe 44 67 00 17 00 6e e2 6e a2 3c 96 1e 0a 6e f7 1b 0d f6 da 48 e9 69 16 ac 09 c3 4a cc b5 32 '..........E..4...4....z>*..HW.W>.$....pP.cEG......Dg...n.n.<...n.....H.i....J..2'
I0331 14:44:56.084334373   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.084369935   86276 security_context.cc:271]              grpc_auth_context_add_cstring_property(ctx=0x1b35060, name=transport_security_type, value=ssl)
I0331 14:44:56.084372269   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_subject, value=CN=*.spot.robot,OU=Spot Platform Engineering,O=Boston Dynamics,C=US, value_length=67)
I0331 14:44:56.084373730   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_common_name, value=*.spot.robot, value_length=12)
I0331 14:44:56.084376324   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_pem_cert, value=-----BEGIN CERTIFICATE-----
MIIDxzCCAq+gAwIBAgIVANWnZtwkwjC8wTaBkxmLfRhJofm7MA0GCSqGSIb3DQEB
CwUAMGsxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAg
BgNVBAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxHjAcBgNVBAMMFVNwb3Qg
UGxhdGZvcm0gQ0EgMjAyMjAeFw0yMjA3MTkxNzU4NTZaFw0yNDA3MTgxNzU4NTZa
MGIxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAgBgNV
BAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxFTATBgNVBAMMDCouc3BvdC5y
b2JvdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANWpA4OqRrYoyDIQ
c4ytA9dtKoKcOUN3QZ7mQOKm1wv25pttxFFNWAQ3hSuzIAKCtMdozojCdSBuNd45
gmvGc7rajBE9pFn4mktRGOx5bjKyY78oF60PySykXoPX2vgpgY+8F/euxAG4WTLl
lJXBFviaDiVr8V+zyJhXN25aYifAS6tkursd7Ye0fBitkT3XRMfbDNEYr+0KFR/Q
PtNrrBXH3HGksEV6oKuvVvE+AR92FNzo0jpwNZ3TT+QDFgBLjcOeDFHEQalNFQow
gXxX9LUGMR2Wjewj6E3L7EUS2suini93uCxhO1KksnLJ0oyxhuw5D7DCPeEkdjW2
5Z5a3RMCAwEAAaNrMGkwHQYDVR0OBBYEFKL7G8+M2M2mbJXL3/0uzr5xRKOIMAwG
A1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADApBgNVHREEIjAgggwqLnNwb3Qu
cm9ib3SCECouYXBpLnNwb3Qucm9ib3QwDQYJKoZIhvcNAQELBQADggEBAD4Nq/LZ
kRVrOG6GtcaKr7sd2A7t8l1YOoumQBaVsVwAi96UH352I0gbw4rNuBzLOeZ7ooi/
emf9LWiXfEnXxSj4yDp4Oy74OHaRqKLcEvWpqhhQxCZ3Z86HS9dCrbZd/RZPrOBZ
hMpkbbKSdpgGvtnhJGG2RXxiZsbR9883rekvdZlsVLf+QJbK9QaAT/h9odK0oyX6
c3Q53EpDrYzHR04nENFWFKv1i5fgd/YS0PNbw+T9QdkCC2rkqQnq3j6wH4Enm13P
X1CG/iaU5l4yEFf0S2FHmj7TIwSJnqJIvQ87dG2WlSB6pIlxaEFOE6trld+IzvNZ
Ye1+2fSZVY2aZXk=
-----END CERTIFICATE-----
, value_length=1371)
I0331 14:44:56.084379614   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_subject_alternative_name, value=*.spot.robot, value_length=12)
I0331 14:44:56.084380859   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=peer_dns, value=*.spot.robot, value_length=12)
I0331 14:44:56.084382023   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_subject_alternative_name, value=*.api.spot.robot, value_length=16)
I0331 14:44:56.084383165   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=peer_dns, value=*.api.spot.robot, value_length=16)
I0331 14:44:56.084385187   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=x509_pem_cert_chain, value=-----BEGIN CERTIFICATE-----
MIIDxzCCAq+gAwIBAgIVANWnZtwkwjC8wTaBkxmLfRhJofm7MA0GCSqGSIb3DQEB
CwUAMGsxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAg
BgNVBAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxHjAcBgNVBAMMFVNwb3Qg
UGxhdGZvcm0gQ0EgMjAyMjAeFw0yMjA3MTkxNzU4NTZaFw0yNDA3MTgxNzU4NTZa
MGIxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAgBgNV
BAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxFTATBgNVBAMMDCouc3BvdC5y
b2JvdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANWpA4OqRrYoyDIQ
c4ytA9dtKoKcOUN3QZ7mQOKm1wv25pttxFFNWAQ3hSuzIAKCtMdozojCdSBuNd45
gmvGc7rajBE9pFn4mktRGOx5bjKyY78oF60PySykXoPX2vgpgY+8F/euxAG4WTLl
lJXBFviaDiVr8V+zyJhXN25aYifAS6tkursd7Ye0fBitkT3XRMfbDNEYr+0KFR/Q
PtNrrBXH3HGksEV6oKuvVvE+AR92FNzo0jpwNZ3TT+QDFgBLjcOeDFHEQalNFQow
gXxX9LUGMR2Wjewj6E3L7EUS2suini93uCxhO1KksnLJ0oyxhuw5D7DCPeEkdjW2
5Z5a3RMCAwEAAaNrMGkwHQYDVR0OBBYEFKL7G8+M2M2mbJXL3/0uzr5xRKOIMAwG
A1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADApBgNVHREEIjAgggwqLnNwb3Qu
cm9ib3SCECouYXBpLnNwb3Qucm9ib3QwDQYJKoZIhvcNAQELBQADggEBAD4Nq/LZ
kRVrOG6GtcaKr7sd2A7t8l1YOoumQBaVsVwAi96UH352I0gbw4rNuBzLOeZ7ooi/
emf9LWiXfEnXxSj4yDp4Oy74OHaRqKLcEvWpqhhQxCZ3Z86HS9dCrbZd/RZPrOBZ
hMpkbbKSdpgGvtnhJGG2RXxiZsbR9883rekvdZlsVLf+QJbK9QaAT/h9odK0oyX6
c3Q53EpDrYzHR04nENFWFKv1i5fgd/YS0PNbw+T9QdkCC2rkqQnq3j6wH4Enm13P
X1CG/iaU5l4yEFf0S2FHmj7TIwSJnqJIvQ87dG2WlSB6pIlxaEFOE6trld+IzvNZ
Ye1+2fSZVY2aZXk=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEXTCCAkWgAwIBAgIMAQzHwwo8aWal9WfkMA0GCSqGSIb3DQEBCwUAMEkxCzAJ
BgNVBAYTAlVTMRgwFgYDVQQKEw9Cb3N0b24gRHluYW1pY3MxIDAeBgNVBAMTF0Jv
c3RvbiBEeW5hbWljcyBSb290IENBMB4XDTIxMDYwMTAwMDAwMFoXDTI5MDUwMTAw
MDAwMFowazELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0Jvc3RvbiBEeW5hbWljczEi
MCAGA1UECwwZU3BvdCBQbGF0Zm9ybSBFbmdpbmVlcmluZzEeMBwGA1UEAwwVU3Bv
dCBQbGF0Zm9ybSBDQSAyMDIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAve3NgwN9PDl1j0jX1sJxZujG4WAyYw3xhvXZ5NBZcYA8vbQ3jPyUZDbc77MJ
xAPRnSRLpYnpJdcudjjeHOcR1qyi8pc9kXqU+GGH5kwuMp8Cb8BQ4bJhrHDiQ0pP
hMI1FdWATsLxJHPA+ZDqZYBo/HJHupuVdhpkngUyDLV5SfS0HRWEJPRqfDHbW/YS
fGk23qbcmTpWMf2GSnFdOJaxx2izqbi71iaQM8J+TSuyVOiwUCdZWH8YIrGD62ia
Ud8lrc1JIzHUR8n8ljx/cyU6lLMEfOAgAnnq8ZIj16suumd2hFGQmIzVuBBjhZr6
e+RfSGLPNiFuvDQ12e/RJH/KpwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAYYwDwYD
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAi9oFBxAatB6AcYH9w3t2
zUqt9g/mNVXZqYT/GaIyu5eiXFebw1bHuD0LJEph/uyNPpiduDPiBr5ogob98pgN
dWSd+hX91Chnf3YG0kelmT2aXu3B+DDtriSXwTn3PvEcO7Hgboxepqb05sPs6In4
OMzdScXbsak2oF8M3bOuMJfHdmRdUaHfqtRwLK0vxc3LbM3uJOy8C3SEEB3g0hXH
McEX9haVZOMl9P9imwoBDF0OX5Ixt2tTa53ttb2OWgDG8mL4Q2syXrr68XzhjCtr
/7YQ7WKD4RlvnMQd82JsfSKqPUzdWVwjdjjI2wYYgp6EmGXxgvAQ7bLdQfl6oQWv
V+hoSdpukVbamGJ13moc04mNc5pJlc8qpbsr4mudLbtNWwVWLwGsWnpVF/4Po+Np
pzf5c9JCZK1+1xClLxkU/4f+D568Gvn4kU7SBafc7/ljxekRRf1Pb7nwPDCa4Fpv
kNBDugRuaVMYvUlU8hhJpiI+gSX86WhfQkii6EbfQAIHzcnhnuFVNfs/x6wzq2in
yQSF3E6kAMqk25EMzze1tgKrhFdNhcJy8dvSzrp5dpjf0S7nEacAIq3V0vPmBa1a
CsdICXks1TTw/GyXl4G8GKzFP+PMSTjIK6kWv6SExyQj1SVWkZoddJv3tNIRFeDg
qb5rvVEiCpB4/fWcNlxqIWY=
-----END CERTIFICATE-----
, value_length=2945)
I0331 14:44:56.084391544   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=security_level, value=TSI_PRIVACY_AND_INTEGRITY, value_length=25)
I0331 14:44:56.084392762   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x1b35060, name=ssl_session_reused, value=false, value_length=5)
I0331 14:44:56.084393988   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x1b35060, name=x509_subject_alternative_name)
I0331 14:44:56.084395004   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7d90)
I0331 14:44:56.084395943   86276 security_context.cc:156]              grpc_auth_context_set_peer_identity_property_name(ctx=0x1b35060, name=x509_subject_alternative_name)
I0331 14:44:56.084408843   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x1b35060, name=x509_pem_cert)
I0331 14:44:56.084409960   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7fb0)
I0331 14:44:56.084418053   86276 handshaker.cc:92]                     handshake_manager 0x1b75b80: error=OK shutdown=0 index=3, args={endpoint=0x25ad680, args={grpc.auth_context=0x1b35060, grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=auth.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1fba4d0, grpc.internal.channelz_security=0x196a5f0, grpc.internal.event_engine=0x1b91d50, grpc.internal.security_connector=0x1bcd0c0, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=auth.spot.robot}, read_buffer=0x1d473c0 (length=0), exit_early=0}
I0331 14:44:56.084420337   86276 handshaker.cc:124]                    handshake_manager 0x1b75b80: handshaking complete -- scheduling on_handshake_done with error=OK
I0331 14:44:56.084421867   86276 timer_generic.cc:443]                 TIMER 0x1b75be8: CANCEL pending=true
I0331 14:44:56.084428409   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.084447080   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485070 now 1423 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.084448526   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.084451617   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL]
I0331 14:44:56.084453177   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> WRITING+MORE [INITIAL_WRITE]
I0331 14:44:56.084455102   86276 timer_generic.cc:342]                 TIMER 0x156cdd0: SET 21407 now 1423 call 0x156ce08[0x7f3f081e6900]
I0331 14:44:56.084456199   86276 timer_generic.cc:378]                   .. add to shard 0 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.084459346   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.084460821   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.084462567   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.084463816   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485070 now 1423 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.084464811   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.084467906   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING+MORE -> WRITING [begin write in current thread]
I0331 14:44:56.084469729   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 50 52 49 20 2a 20 48 54 54 50 2f 32 2e 30 0d 0a 0d 0a 53 4d 0d 0a 0d 0a 'PRI * HTTP/2.0....SM....'
I0331 14:44:56.084471519   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 24 04 00 00 00 00 00 00 02 00 00 00 00 00 03 00 00 00 00 00 04 00 3f ff ff 00 05 00 3f ff ff 00 06 00 00 20 00 fe 03 00 00 00 01 '..$.....................?.....?...... .......'
I0331 14:44:56.084473142   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 04 08 00 00 00 00 00 00 3f 00 00 '..........?..'
I0331 14:44:56.084476097   86276 tcp_posix.cc:1823]                    WRITE 0x2423ad0 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.084478066   86276 tcp_posix.cc:1827]                    WRITE DATA: 17 03 03 00 63 39 4b 86 5b 5a 23 2a 70 cf 6e 2a e3 bf e1 fd 79 c6 f6 97 a0 00 7d 69 87 e0 76 63 16 77 ab 15 a3 32 b5 aa 89 db ed a2 6d a5 61 ea 3c 68 bf 8c 42 c0 57 b3 36 0d 31 af 7d 3c 0d e6 59 e8 cf 7e 3d a7 f2 c5 25 6b 7c f8 03 24 21 eb 36 a9 55 0f 8a 5b d8 7c a6 df 5e 5e 3c c5 a8 44 10 e5 79 e5 05 56 f3 b0 '....c9K.[Z#*p.n*....y.....}i..vc.w...2......m.a.<h..B.W.6.1.}<..Y..~=...%k|..$!.6.U..[.|..^^<..D..y..V..'
I0331 14:44:56.084482941   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.084484281   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> IDLE [finish writing]
I0331 14:44:56.089526435   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.089546816   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.089556044   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x25ad6c8 0x7f3f0840e980:0x25ad680
I0331 14:44:56.089557536   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.089563312   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 00 4a 02 10 f8 f6 9a 6f 24 1e c3 53 a0 21 df fa 1e 27 35 7d e3 6a e6 3a 80 be 79 6b 67 7c d2 ce 7a 8f 8c bd 21 70 a7 9c 12 eb 35 0e 8a fe 1b 0e 35 36 b1 e8 35 1e 6a e9 3c 87 9e 05 dc 9b ed 63 f2 78 c9 2e 97 53 f8 e8 b3 65 e2 12 '....J.....o$..S.!...'5}.j.:..ykg|..z...!p....5.....56..5.j.<......c.x...S...e..'
I0331 14:44:56.089591785   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.089594438   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.089597087   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.089600468   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485075 now 1428 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.089601934   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.090445942   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.090454035   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.090472569   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x25ad6c8 0x7f3f0840e980:0x25ad680
I0331 14:44:56.090474036   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.090478780   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 00 4a d4 68 24 07 77 ef 15 4a a5 b9 f8 97 f5 e4 4f 62 6b a9 49 d9 d4 8b 10 e7 47 b8 77 0d 67 25 80 85 87 8d 15 86 c0 a9 fa 7d ec 3d 88 22 34 e9 8c c2 fc 69 3e 32 33 c8 a6 7b cd 71 fa 3e 65 9c 2c 83 17 fb ae 46 5d 53 66 fc cc 14 17 03 03 00 42 63 61 33 c4 29 f6 a4 df 1b 41 0a e0 6c 19 f5 04 ae 90 92 30 34 71 a2 4a 53 09 e6 06 94 71 32 ed f9 22 89 4b e1 f0 6e ca 24 e5 24 97 87 9b 2b 98 74 1e 80 5a 82 24 9d ee 90 c2 ea 59 2b e7 10 29 92 ff '....J.h$.w..J......Obk.I.....G.w.g%.........}.=."4....i>23..{.q.>e.,....F]Sf.......Bca3.)....A..l......04q.JS....q2..".K..n.$.$...+.t..Z.$.....Y+..)..'
I0331 14:44:56.090499151   86276 secure_endpoint.cc:244]               READ 0x25ad680: 00 00 12 04 00 00 00 00 00 00 03 00 00 00 80 00 04 00 01 00 00 00 05 00 ff ff ff 00 00 04 08 00 00 00 00 00 7f ff 00 00 00 00 00 04 01 00 00 00 00 '.................................................'
I0331 14:44:56.090503637   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting MAX_CONCURRENT_STREAMS = 128
I0331 14:44:56.090505193   86276 frame_settings.cc:223]                0x25b7320[cli] adding 1 for initial_window change
I0331 14:44:56.090506197   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting INITIAL_WINDOW_SIZE = 65536
I0331 14:44:56.090507383   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting MAX_FRAME_SIZE = 16777215
I0331 14:44:56.090509437   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state IDLE -> WRITING [SETTINGS_ACK]
I0331 14:44:56.090511754   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.090513079   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.090514868   86276 timer_generic.cc:443]                 TIMER 0x156cdd0: CANCEL pending=true
I0331 14:44:56.090530588   86276 channel_stack.cc:114]                 CHANNEL_STACK: init subchannel
I0331 14:44:56.090531866   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter authority
I0331 14:44:56.090532652   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter client-auth-filter
I0331 14:44:56.090533609   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_size
I0331 14:44:56.090534333   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter http-client
I0331 14:44:56.090535205   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_decompress
I0331 14:44:56.090536035   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_compress
I0331 14:44:56.090536785   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter connected
D0331 14:44:56.090557325   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:11
D0331 14:44:56.090569159   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:12
D0331 14:44:56.090589727   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:13
I0331 14:44:56.090614085   86276 subchannel.cc:959]                    subchannel 0x259a600 {address=ipv4:192.168.8.9:443, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=auth.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1fba4d0, grpc.internal.event_engine=0x1e0bd60, grpc.internal.security_connector=0x1bcd0c0, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=auth.spot.robot}}: new connected subchannel at 0x21a0290
I0331 14:44:56.090619967   86276 chttp2_transport.cc:1763]             perform_transport_op[t=0x25b7320]:  START_CONNECTIVITY_WATCH:watcher=0x2528560:from=READY BIND_POLLSET_SET
I0331 14:44:56.090624800   86276 client_channel.cc:562]                chand=0x2597580: connectivity change for subchannel wrapper 0x20232b0 subchannel 0x259a600; hopping into work_serializer
I0331 14:44:56.090626972   86276 client_channel.cc:594]                chand=0x2597580: processing connectivity change in work serializer for subchannel wrapper 0x20232b0 subchannel 0x259a600 watcher=0x1dd3d90
I0331 14:44:56.090629977   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x19c3790] subchannel list 0x168f3b0 index 0 of 1 (subchannel 0x20232b0): connectivity changed: old_state=CONNECTING, new_state=READY, status=OK, shutting_down=0, pending_watcher=0x1dd3d90
I0331 14:44:56.090631843   86276 pick_first.cc:499]                    Pick First 0x19c3790 selected subchannel 0x20232b0
I0331 14:44:56.090633792   86276 client_channel.cc:895]                chand=0x2597580: update: state=READY status=(OK) picker=0x1d7c250
I0331 14:44:56.090636026   86276 connectivity_state.cc:160]            ConnectivityStateTracker client_channel[0x2597638]: CONNECTING -> READY (helper, OK)
I0331 14:44:56.090638660   86276 client_channel.cc:3108]               chand=0x2597580 lb_call=0x25a70c0: LB pick succeeded: subchannel=0x20232b0
I0331 14:44:56.090639757   86276 client_channel.cc:3028]               chand=0x2597580 lb_call=0x25a70c0: removing from queued picks list
I0331 14:44:56.090652871   86276 client_channel.cc:2963]               chand=0x2597580 lb_call=0x25a70c0: create subchannel_call=0x25b8050: error=OK
I0331 14:44:56.090654425   86276 client_channel.cc:2684]               chand=0x2597580 lb_call=0x25a70c0: starting 1 pending batches on subchannel_call=0x25b8050
I0331 14:44:56.090660161   86276 subchannel.cc:180]                    OP[authority:0x25b80d0]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.090663369   86276 promise_based_filter.cc:1135]         CLI[authority:0x025b80d0] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={}
D0331 14:44:56.090665621   86276 promise_based_filter.cc:1403]         CLI[authority:0x025b80d0] ClientCallData.MakeNextPromise has_promise=false sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.090667517   86276 promise_based_filter.cc:819]          CLI[authority:0x025b80d0] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.090669199   86276 promise_based_filter.cc:1464]         CLI[authority:0x025b80d0] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.090670519   86276 promise_based_filter.cc:881]          CLI[authority:0x025b80d0] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.090673700   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{:authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.090676170   86276 channel_stack.cc:256]                 OP[client-auth-filter:0x25b80e8]:  SEND_INITIAL_METADATA{:authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.090678449   86276 promise_based_filter.cc:1135]         CLI[client-auth-filter:0x025b80e8] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={}
I0331 14:44:56.090680347   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x1b35060, name=security_level)
I0331 14:44:56.090681937   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7920)
I0331 14:44:56.090684295   86276 plugin_credentials.cc:159]            plugin_credentials[0x220d5d0]: request 0x1fba140: invoking plugin
I0331 14:44:56.090964611   86306 plugin_credentials.cc:129]            plugin_credentials[0x220d5d0]: request 0x1fba140: plugin returned asynchronously
I0331 14:44:56.091013072   86276 plugin_credentials.cc:177]            plugin_credentials[0x220d5d0]: request 0x1fba140: plugin will return asynchronously
I0331 14:44:56.091023076   86276 security_context.cc:176]              grpc_auth_context_property_iterator(ctx=0x1b35060)
I0331 14:44:56.091024246   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091025086   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091025836   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091026578   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091027321   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091028064   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091028811   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091029561   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091030318   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091031064   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091031847   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091032588   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091033521   86276 security_context.cc:176]              grpc_auth_context_property_iterator(ctx=0x1b35060)
I0331 14:44:56.091034349   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091035731   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091036502   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091037286   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091038096   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091038878   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091039747   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091040535   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091041340   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091042193   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091042991   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
I0331 14:44:56.091043812   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7950)
D0331 14:44:56.091047943   86276 promise_based_filter.cc:819]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.091052467   86276 promise_based_filter.cc:1403]         CLI[client-auth-filter:0x025b80e8] ClientCallData.MakeNextPromise has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.091053988   86276 promise_based_filter.cc:1464]         CLI[client-auth-filter:0x025b80e8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.091056895   86276 promise_based_filter.cc:881]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.091062083   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{:authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091065416   86276 channel_stack.cc:256]                 OP[message_size:0x25b8100]:  SEND_INITIAL_METADATA{:authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091068381   86276 channel_stack.cc:256]                 OP[http-client:0x25b8118]:  SEND_INITIAL_METADATA{:authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.091070196   86276 promise_based_filter.cc:1135]         CLI[http-client:0x025b8118] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={} recv_initial_metadata=INITIAL
D0331 14:44:56.091072218   86276 promise_based_filter.cc:1403]         CLI[http-client:0x025b8118] ClientCallData.MakeNextPromise has_promise=false sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_WAITING_FOR_LATCH
D0331 14:44:56.091074154   86276 promise_based_filter.cc:819]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_AND_GOT_LATCH
D0331 14:44:56.091075824   86276 promise_based_filter.cc:1464]         CLI[http-client:0x025b8118] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_AND_GOT_LATCH
D0331 14:44:56.091077252   86276 promise_based_filter.cc:881]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.091081412   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091084915   86276 channel_stack.cc:256]                 OP[message_decompress:0x25b8130]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091088133   86276 channel_stack.cc:256]                 OP[message_compress:0x25b8148]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091092496   86276 channel_stack.cc:256]                 OP[connected:0x25b8160]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091096588   86276 chttp2_transport.cc:1458]             perform_stream_op[s=0x25b8820; op=0x18c3298]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.091099404   86276 promise_based_filter.cc:819]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={}
D0331 14:44:56.091100711   86276 promise_based_filter.cc:1464]         CLI[client-auth-filter:0x025b80e8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={}
D0331 14:44:56.091101834   86276 promise_based_filter.cc:881]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run: poll=<<pending>>
I0331 14:44:56.091103401   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.091105759   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485076 now 1429 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.091107147   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.091109119   86276 connectivity_state.cc:123]            ConnectivityStateTracker client_transport[0x25b75f0]: add watcher 0x2528560
I0331 14:44:56.091113189   86276 chttp2_transport.cc:1196]             perform_stream_op_locked[s=0x25b8820; op=0x18c3298]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA; on_complete = 0x25b8628
I0331 14:44:56.091114946   86276 chttp2_transport.cc:1176]             --metadata--
I0331 14:44:56.091116567   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2)
I0331 14:44:56.091117839   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::authority: auth.spot.robot
I0331 14:44:56.091118783   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::path: /bosdyn.api.AuthService/GetAuthToken
I0331 14:44:56.091123197   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:WaitForReady: false
I0331 14:44:56.091124288   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:te: trailers
I0331 14:44:56.091125265   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:content-type: application/grpc
I0331 14:44:56.091126167   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::scheme: https
I0331 14:44:56.091127072   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:grpc-accept-encoding: identity, deflate, gzip
I0331 14:44:56.091128261   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::method: POST
I0331 14:44:56.091129859   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:authorization: Bearer None
I0331 14:44:56.091130697   86276 chttp2_transport.cc:1176]             --metadata--
I0331 14:44:56.091132497   86276 stream_lists.cc:127]                  0x25b7320[0][cli]: add to waiting_for_concurrency
I0331 14:44:56.091133661   86276 stream_lists.cc:73]                   0x25b7320[0][cli]: pop from waiting_for_concurrency
I0331 14:44:56.091134712   86276 chttp2_transport.cc:1055]             HTTP:CLI: Transport 0x25b7320 allocating new grpc_chttp2_stream 0x25b8820 to id 1
I0331 14:44:56.091136712   86276 stream_lists.cc:127]                  0x25b7320[1][cli]: add to writable
I0331 14:44:56.091137928   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> WRITING+MORE [START_NEW_STREAM]
I0331 14:44:56.091141153   86276 chttp2_transport.cc:1128]             complete_closure_step: t=0x25b7320 0x25b8628 refs=3 flags=0x0001 desc=op->on_complete err=OK write_state=WRITING+MORE
I0331 14:44:56.091143522   86276 stream_lists.cc:73]                   0x25b7320[1][cli]: pop from writable
I0331 14:44:56.091144705   86276 writing.cc:436]                       W:0x25b7320 CLIENT[1] im-(sent,send)=(0,1)
I0331 14:44:56.091149752   86276 chttp2_transport.cc:1128]             complete_closure_step: t=0x25b7320 0x25b8628 refs=2 flags=0x0001 desc=send_initial_metadata_finished err=OK write_state=WRITING+MORE
I0331 14:44:56.091151940   86276 chttp2_transport.cc:1128]             complete_closure_step: t=0x25b7320 0x25b8628 refs=1 flags=0x0001 desc=send_trailing_metadata_finished err=OK write_state=WRITING+MORE
I0331 14:44:56.091153163   86276 chttp2_transport.cc:1128]             complete_closure_step: t=0x25b7320 0x25b8628 refs=0 flags=0x0001 desc=on_write_finished_cb err=OK write_state=WRITING+MORE
I0331 14:44:56.091154408   86276 stream_lists.cc:127]                  0x25b7320[1][cli]: add to writing
I0331 14:44:56.091155680   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING+MORE -> WRITING [begin write in current thread]
I0331 14:44:56.091157677   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 00 04 01 00 00 00 00 '.........'
I0331 14:44:56.091158844   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 fc 01 04 00 00 00 01 40 05 '.........@.'
I0331 14:44:56.091160017   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 3a 70 61 74 68 ':path'
I0331 14:44:56.091160910   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 24 '$'
I0331 14:44:56.091162392   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 2f 62 6f 73 64 79 6e 2e 61 70 69 2e 41 75 74 68 53 65 72 76 69 63 65 2f 47 65 74 41 75 74 68 54 6f 6b 65 6e '/bosdyn.api.AuthService/GetAuthToken'
I0331 14:44:56.091163529   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 40 0a '@.'
I0331 14:44:56.091164523   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 3a 61 75 74 68 6f 72 69 74 79 ':authority'
I0331 14:44:56.091165948   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 0f 61 75 74 68 2e 73 70 6f 74 2e 72 6f 62 6f 74 83 87 40 0c '.auth.spot.robot..@.'
I0331 14:44:56.091167176   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 63 6f 6e 74 65 6e 74 2d 74 79 70 65 'content-type'
I0331 14:44:56.091168234   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 10 '.'
I0331 14:44:56.091169307   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 67 72 70 63 'application/grpc'
I0331 14:44:56.091170453   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 40 02 '@.'
I0331 14:44:56.091171296   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 74 65 'te'
I0331 14:44:56.091172129   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 08 '.'
I0331 14:44:56.091173017   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 74 72 61 69 6c 65 72 73 'trailers'
I0331 14:44:56.091174447   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 40 14 '@.'
I0331 14:44:56.091175526   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 67 72 70 63 2d 61 63 63 65 70 74 2d 65 6e 63 6f 64 69 6e 67 'grpc-accept-encoding'
I0331 14:44:56.091176572   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 17 '.'
I0331 14:44:56.091177591   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 69 64 65 6e 74 69 74 79 2c 20 64 65 66 6c 61 74 65 2c 20 67 7a 69 70 'identity, deflate, gzip'
I0331 14:44:56.091178608   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 40 0a '@.'
I0331 14:44:56.091179533   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 75 73 65 72 2d 61 67 65 6e 74 'user-agent'
I0331 14:44:56.091180551   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 30 '0'
I0331 14:44:56.091181999   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 67 72 70 63 2d 70 79 74 68 6f 6e 2f 31 2e 35 31 2e 33 20 67 72 70 63 2d 63 2f 32 39 2e 30 2e 30 20 28 6c 69 6e 75 78 3b 20 63 68 74 74 70 32 29 'grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2)'
I0331 14:44:56.091183682   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 0d 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 0b 42 65 61 72 65 72 20 '..authorization.Bearer '
I0331 14:44:56.091184928   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 4e 6f 6e 65 00 00 04 08 00 00 00 00 01 00 00 00 05 00 00 57 00 01 00 'None...............W...'
I0331 14:44:56.091186052   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 01 00 00 00 00 52 '.......R'
I0331 14:44:56.091187762   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 0a 36 0a 0b 08 a8 d4 9c a1 06 10 80 e8 c5 20 12 27 48 65 6c 6c 6f 53 70 6f 74 43 6c 69 65 6e 74 67 50 31 36 3a 68 65 6c 6c 6f 5f 73 70 6f 74 2e 70 79 2d 38 36 32 37 36 12 06 72 61 64 65 63 6f 1a 10 72 61 64 65 63 6f 62 6c 61 63 6b 73 74 6f 6e 65 '.6............ .'HelloSpotClientgP16:hello_spot.py-86276..radeco..radecoblackstone'
I0331 14:44:56.091189410   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 04 08 00 00 00 00 00 00 00 00 05 '.............'
I0331 14:44:56.091196578   86276 tcp_posix.cc:1823]                    WRITE 0x2423ad0 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.091202276   86276 tcp_posix.cc:1827]                    WRITE DATA: 17 03 03 01 99 74 5a bd 15 71 2a aa 9f 5d 6e 23 4a 70 b8 9d 4d 25 de 3c 8b c7 6b ca 46 d2 88 0b 75 fa e2 b1 f3 e8 15 e9 18 78 68 94 9a 05 8a bc 5b 85 ae 4d 84 e2 f0 6b 4f 50 ae d8 e9 ae 12 35 8b 1d fb 08 82 d0 77 93 4f e7 3c 86 d8 d6 73 8a fe 42 e0 aa 26 1c dc 08 86 35 6f 48 d4 91 df 15 fe 39 ff 97 2a ac 71 62 b1 f6 e3 2c 4d fc bd d2 34 1e e6 d6 f6 c2 95 80 9f 2b f7 10 14 3b 81 7e 86 58 20 6e 19 fd 17 50 2e b6 e8 7e 87 60 d3 3f bd 68 af 77 3f 29 00 fb fd 12 82 d4 80 bb aa 18 61 25 fd 39 7a 7c ea 75 91 9f 00 75 67 f2 03 b5 a3 a8 73 23 36 37 3b 62 1c 38 77 4a 83 28 f1 f2 9f 84 57 c3 2b a8 d3 f4 9a 5a 35 06 f6 12 74 3d d1 c0 12 a2 6f a8 35 4b fd 07 42 2d f7 47 0c f3 f4 7e 75 f8 3f 89 66 00 27 88 a3 15 46 af ce 0e b3 f6 ab 56 7b c5 d1 db 21 e1 11 f5 81 ee f8 25 e3 a2 64 be 84 ad 9f 21 22 15 dd 32 3f 87 6f 94 0d f4 95 5d 0e 7f 4d 04 61 c3 e9 bf 61 18 13 6d 1b 2f 51 e2 42 a2 79 92 49 35 41 f3 be cb 08 70 dc e3 c1 00 db f7 94 8d 3d 2b 2e 78 ff ce fe 1c 5a 89 46 7b c7 90 9e 53 48 97 8e c3 9f 03 ab b7 81 47 41 ba 82 9e 51 11 c8 b3 14 b8 a3 75 1f 37 1e fb dd cc c5 30 d6 69 1c 97 43 e0 2a 5c 48 37 d0 bf 0d 42 9c a8 7d 0b 91 44 77 8a de 38 57 60 31 63 9b c3 ae 4f 6c 43 0a c2 8f ae 1a 3c ca 6d 7f 9e 1a d5 1b ed aa 5a c0 96 60 aa cd 5d '.....tZ..q*..]n#Jp..M%.<..k.F...u........xh.....[..M...kOP.....5......w.O.<...s..B..&....5oH.....9..*.qb...,M...4........+...;.~.X n...P...~.`.?.h.w?)..........a%.9z|.u...ug.....s#67;b.8wJ.(....W.+....Z5...t=....o.5K..B-.G...~u.?.f.'...F......V{...!......%..d....!"..2?.o....]..M.a...a..m./Q.B.y.I5A....p........=+.x....Z.F{...SH........GA...Q......u.7.....0.i..C.*\H7...B..}..Dw..8W`1c...OlC.....<.m.......Z..`..]'
I0331 14:44:56.091217466   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.091219014   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> IDLE [finish writing]
I0331 14:44:56.091220538   86276 stream_lists.cc:73]                   0x25b7320[1][cli]: pop from writing
I0331 14:44:56.091224834   86276 retry_filter.cc:1880]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0 batch_data=0x18c3280: got on_complete, error=OK, batch= SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: auth.spot.robot, :path: /bosdyn.api.AuthService/GetAuthToken, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer None} SEND_MESSAGE:flags=0x00000000:len=82 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.091227028   86276 retry_filter.cc:2538]                 chand=0x1905610 calld=0x25a5ef0: completed pending batch at index 0
I0331 14:44:56.095480322   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.095499300   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.095509384   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x25ad6c8 0x7f3f0840e980:0x25ad680
I0331 14:44:56.095511125   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.095516284   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 00 1e 6e 37 fc 50 7f 2a 61 3b aa 9e e2 65 a4 cd ab fc 5a 1d ad 94 78 aa 27 06 67 a9 26 d4 b6 01 '.....n7.P.*a;...e....Z...x.'.g.&...'
I0331 14:44:56.095531241   86276 secure_endpoint.cc:244]               READ 0x25ad680: 00 00 04 08 00 00 00 00 01 00 ff 00 00 '.............'
I0331 14:44:56.095537589   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.095540024   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.095543062   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.095550988   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485081 now 1434 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.095552861   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.253187571   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.253222429   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.253243601   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x25ad6c8 0x7f3f0840e980:0x25ad680
I0331 14:44:56.253248360   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.253287932   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 04 33 d8 72 55 88 c3 c5 21 54 3a 27 f9 29 7c 2b aa 54 f7 5d 19 ff 98 49 a3 0a 62 50 09 4d 94 5b 2f 1c a7 17 57 c9 81 0a 30 49 5d 3f 64 65 58 26 fb ca d1 12 74 cb 5c 2c e6 8a 44 ee 89 84 72 a1 79 ca 3e db ef 0b 87 c2 04 5d 69 fd 6e ed f5 8b da 40 5a 18 6e b4 68 23 1f 85 76 57 50 f2 f6 1f 46 4a d3 b1 4c c7 ac f8 e6 f7 e4 fd 3f 24 b3 a8 fa b2 1b 8f 7a e6 b3 20 da 53 3c e3 a1 6d fc 0a 02 ea c5 85 53 30 7d 5f 99 3e b0 fd 92 d8 33 36 06 1a 76 7f 35 14 46 95 02 a2 7c 3b 7a 95 77 e7 cf ea 5a 0e 1f 02 e2 38 e5 e9 d8 6e e6 49 44 6a fd 19 93 28 ca 37 77 d5 fe 75 0f 1b d7 86 bc 82 45 92 3c 34 8f 53 d7 80 33 c2 18 cb eb bc 4c 10 09 28 81 9f 08 c4 20 17 30 c9 cb 4e 53 6b 12 1e 60 80 60 28 76 df b9 1f 52 07 4f 3b 0f 84 ba 37 4d de 15 d1 77 ae 35 ec 66 d0 98 6f 10 b6 ad 0c 5e ed a2 d4 d0 86 4a cb cc e8 e0 b4 4f 28 c6 c4 8a 11 21 b5 6c 6d b6 0c b5 d6 4c 21 e1 33 cb 62 bc 09 ad 10 ee 6d 69 6c 3f 2f cf 9f fc 7c 5c 5d 59 d1 7d 8b 08 56 8b 1d da 9d 92 01 07 c8 6f ca b5 f5 43 da 2f 82 43 0f 13 8a b4 c1 b9 f3 04 45 cd ab 40 f6 02 53 df 21 0a be 14 ae bc d0 9b 85 86 2b 35 55 4e 05 81 97 a7 49 f6 67 a4 0f 48 e0 82 49 be e4 a3 e0 74 d1 b8 ca ca a1 96 07 bf 2a 5f 4a 63 6d a9 a6 83 99 a3 10 39 dc 9b 92 84 84 0f 37 7f 50 23 43 8c 4a d9 13 47 65 7e 9e 6e 5f 1c a8 66 1e b0 89 2a d0 a0 9d 55 d3 6c 14 ff b9 ae 29 b9 fb 2e 3a b9 9f b0 86 db 06 59 a1 a5 89 0b ee fd 8a ee 37 f1 84 96 8e 40 d9 eb 83 86 4b 15 88 a6 67 0d 50 ed a4 e2 e0 70 05 9f 20 d1 58 e1 e7 c8 32 7b 85 3a 91 8f 1e a2 01 ce 15 71 d1 75 5a 81 81 3c 5e 0a 8a 30 c6 63 91 3b 2e 39 b2 a1 a4 9b e5 67 69 37 81 53 25 93 b5 dc fd 99 f4 7f ce 23 cc 5c 3c 46 c0 74 e8 a3 1a a6 44 92 91 bf f2 fb a3 bd e8 46 b7 59 14 2a c0 c4 de 53 0b f5 3a e0 df f2 60 70 5d 8c 74 83 64 e4 4e 1d 42 54 cf 44 82 ee 00 35 18 39 4d 7b a9 54 fe 9d 33 d4 1a 9d e5 23 8a 21 7c fc 3d 52 20 a5 f7 68 88 d1 fd 80 11 3a 4d af ec f7 cb 4d ff 75 c2 fa 0d 2d b8 19 fc 79 1d 5d c4 6d 5c 14 d4 af b5 ad 6f 73 2c fb a4 ef 52 e2 95 79 ff d9 e0 84 29 ff 65 cf 6d 9e c2 63 67 3f 6f be a3 03 80 f6 bb df e0 1a 2f be 3b 60 ae b8 f9 86 7e c8 b9 e5 c6 16 f8 21 15 88 22 3e 07 5b 95 47 9e fd 24 98 9e 94 95 6b d9 ee 9b c2 d2 99 a2 ea f5 bd 7e 12 44 e4 23 a4 34 9b 18 8f f8 7f d9 7d f3 cf d1 4e f6 7d 74 d1 02 55 ec 95 3c f2 b8 2e d6 cb d2 ef 24 16 65 44 80 e2 f3 2d 15 ac 4e 08 61 bb ed e4 43 6d 23 bb 0c 58 da 5f ec 2b 04 4d fb 9a 5f e4 5c 2d 19 6d 11 19 1b 6f 9d 9e f8 3c 67 84 d2 68 c4 0f 94 c7 e8 18 14 13 97 49 0d 2e f6 76 62 9c bf 36 26 a6 27 f3 2e 6c 6d c3 45 21 5b ac 37 fe c5 c9 dd 53 32 d1 d8 df 34 6f 94 b0 53 19 6f 1f a8 01 12 50 97 39 42 98 92 53 97 dd 4f 67 c7 5c a4 b7 88 eb 40 4a cf a2 bb a0 ba 5f 87 8c 9a de 85 89 0d a8 b5 3e 71 87 11 74 3d 8c 41 91 df 0d c4 68 66 77 c5 6f 16 2f 54 95 c3 37 1a 8c f9 a7 32 e2 89 5e 5c 35 68 c5 57 c3 20 46 f8 3f 4e b7 fb ef d3 17 d2 50 20 81 5a 1c 62 dd 38 2a 76 80 c5 25 d9 2e a9 1b b9 47 93 52 ff d6 da 15 dd 7c 79 d8 bb bd 8d 72 10 80 f5 9b af 4b 69 9c ff b2 9a ec f3 a8 e9 19 08 9f 18 4e 60 49 c8 fc 28 9b cd 04 29 b9 6a fa 8a 1a 40 df d6 f8 b4 54 00 f7 87 f0 33 b0 14 ef ae cd 30 b0 28 8f d4 27 90 73 1f 61 d7 33 1b b1 e2 98 b3 6c 8f a3 5f 27 75 fc 68 16 3b c3 44 19 68 68 73 5c a4 34 1d b6 69 7b 31 84 69 f2 f0 69 c0 cb d0 2b 5b c4 55 a5 36 8d 37 85 fe 40 4e a8 b8 2d 17 03 03 00 26 fd 79 a9 cb db 25 9c f5 20 51 84 a6 ae c6 aa d9 bd 16 06 24 9e 69 d7 76 b3 e6 c4 18 f4 c7 16 f0 9c ff d1 12 3c 46 '....3.rU...!T:'.)|+.T.]...I..bP.M.[/...W...0I]?deX&....t.\,..D...r.y.>......]i.n....@Z.n.h#..vWP...FJ..L.......?$......z.. .S<..m......S0}_.>....36..v.5.F...|;z.w...Z....8...n.IDj...(.7w..u......E.<4.S..3.....L..(.... .0..NSk..`.`(v...R.O;...7M...w.5.f..o....^.....J.....O(....!.lm....L!.3.b.....mil?/...|\]Y.}..V........o...C./.C........E..@..S.!.........+5UN....I.g..H..I....t........*_Jcm......9......7.P#C.J..Ge~.n_..f...*...U.l....)...:......Y........7....@....K...g.P....p.. .X...2{.:.......q.uZ..<^..0.c.;.9.....gi7.S%........#.\<F.t....D........F.Y.*...S..:...`p].t.d.N.BT.D...5.9M{.T..3....#.!|.=R ..h.....:M....M.u...-...y.].m\.....os,...R..y....).e.m..cg?o........./.;`....~......!..">.[.G..$....k..........~.D.#.4......}...N.}t..U..<.......$.eD...-..N.a...Cm#..X._.+.M.._.\-.m...o...<g..h.........I...vb..6&.'..lm.E![.7....S2...4o..S.o....P.9B..S..Og.\....@J....._.........>q..t=.A....hfw.o./T..7....2..^\5h.W. F.?N......P .Z.b.8*v..%.....G.R.....|y....r.....Ki............N`I..(...).j...@....T....3.....0.(..'.s.a.3.....l.._'u.h.;.D.hhs\.4..i{1.i..i...+[.U.6.7..@N..-....&.y...%.. Q.........$.i.v............<F'
I0331 14:44:56.253363780   86276 secure_endpoint.cc:244]               READ 0x25ad680: 00 00 7a 01 04 00 00 00 01 88 76 89 aa 63 55 e5 80 ae 20 2e 2f 61 96 c3 61 be 94 64 2a 68 1d 8a 08 02 65 40 bd 71 a7 ae 08 4a 62 d1 bf 5f 8b 1d 75 d0 62 0d 26 3d 4c 4d 65 64 00 8a 9a ca c8 b1 6a 21 e4 35 53 7f 83 9b d9 ab 00 8e 9a ca c8 b0 c8 42 d6 95 8b 51 0f 21 aa 9b 90 34 85 a9 26 4f af a9 0b 2d 03 49 7e a6 f6 6a ff 00 8b 19 08 5a d2 b1 6a 21 e4 35 53 7f 8a 34 85 a9 26 4f af a9 bd 9a bf 00 03 96 00 00 00 00 00 01 01 00 00 03 91 1f 8b 08 00 00 00 00 00 00 03 9d 53 bb 6e e3 46 14 85 5d 2c 1c 27 85 e1 d2 55 90 26 40 00 2b 7c c8 da 30 9d 2c 89 14 b9 12 65 49 36 87 64 13 70 66 b8 22 a5 e1 63 45 52 d4 b0 da 72 91 6f 48 93 2e 5d ba fc 41 fe 60 f3 03 49 13 60 fb b4 c9 1d 6a bd b1 bd 48 93 4a 98 cb 7b cf 3d f7 9c a3 d3 3f 8e 4e 7b a7 9f 9e fc f4 f6 87 1f 9f 9d bd fe f3 d7 cf cf bf 1c 87 8c 65 cb 3c 2b 07 2c 0e d3 72 75 23 f7 be 8d 44 ed bb 02 8a 9d 9c 5f 7e d3 53 9e f7 ce 3f 3b f9 eb 37 31 f5 ee dd eb ef 8f 2f ee 5f 7f ff fe cb db e3 2f 8e 4f 8e be 7a 73 74 aa 94 3c 0f 3b ab 2c 5b b1 30 c8 e3 a2 43 b2 e4 6b 9c 15 94 a7 1d 78 77 8c b0 ec 57 65 74 9b 6d c2 74 11 be aa c2 a2 3c 5f fc 6f 42 cf b6 01 0d 49 76 71 76 f8 c5 2c 20 9b a2 cc d2 f0 ec e8 e2 e7 4f 42 6e 49 a1 db 8f 67 b1 f5 c2 91 e7 f1 64 60 45 d8 20 e2 ad df 35 a6 6c c7 96 d6 81 a6 dc 73 e7 f1 6c 3d 52 66 c3 3e 9f 0d 57 f2 74 68 16 66 c2 1a c2 cd 9e 99 da 35 56 e7 e5 7c 33 2f a7 b7 23 6e 0f fb f5 74 38 12 60 2c 1c f7 ef e7 9a 69 33 52 0f 73 b9 14 2c ff 73 6e 6f 37 5e 6d c6 75 8c 13 2b 31 d7 d9 de 5e af ea e9 7a d5 b5 6f fb 1c 30 9f 12 96 89 e2 70 e8 8b 49 a2 6f 7c 64 ef da 59 c3 51 7c 54 c3 ee 7e 61 a6 d7 8c c4 66 0f 71 6b 83 15 7b 1b a0 ab 54 f4 10 f5 7a 47 07 f2 da 43 52 89 91 b3 09 d0 a8 c4 86 d6 7e 0b 90 1c f9 ca 9d c0 07 8e 54 cc 03 6f 5d a6 86 a6 7a 68 bf 9d b8 36 23 a9 9f 7b 87 1e 8e 15 4b 60 e5 fe 00 fa de df e5 29 7a 39 41 fb dc 57 22 e9 7e a7 e7 3a 12 e6 32 f7 dd 85 4c 92 ae 98 2d 7c a4 37 fe 52 e0 cb 11 4e 58 4d d1 3e a2 06 db e1 f8 09 96 0b 7c c5 ad 82 7b a2 c5 87 ba 06 dc f5 ea b0 77 91 63 74 57 12 95 55 1e 17 78 8b 9c 24 ce 1a 38 f3 b0 c5 5f 00 ee a8 f4 52 27 f1 93 03 8e 6f 30 0e 9a 49 58 b5 ae 26 ae c5 7c 85 35 74 6c fd bb 3f d9 ef 60 77 31 41 94 07 68 5e 0a ad 69 c2 d6 2d df d4 62 b0 9f 03 46 e5 73 b9 f1 5d 4b 09 90 cd 0e fa 6b e9 04 78 e1 44 93 3c 17 78 29 ed ad 0d 31 34 69 82 ec 08 2f 65 05 fa 9b 00 69 d5 41 17 0b ee b3 41 13 3f 02 4d c5 5d 15 35 f4 35 6d ef a2 3b 92 ec 37 13 a4 c5 81 b8 67 3c 6d 83 4a dd 45 d6 de 00 be e0 f1 fc 29 7e 4d c7 99 a8 a5 90 8b 3a 18 c8 95 e7 7a 8f f9 27 7b f0 cf a9 c8 63 0f 1b d8 2b 1d ee 7b e8 a3 2e c3 9d bb a7 b9 21 ea 02 f4 13 de e8 32 e4 22 a7 e3 4d 9b 7b a8 ef c8 47 59 b0 77 18 3c 24 0a 03 bd cd 36 5b 9e cb 0a ac e8 9b 87 b8 81 e1 ac 03 de ce 32 9c da 3b 12 cb 35 56 18 e8 f1 b1 ce 8f 32 9c 38 12 05 3f 02 fe c1 6b b1 03 32 af 1d 32 63 e8 57 e0 4b e4 0f 20 7f 88 e6 82 fb 03 6f ee ef 2f 03 d7 fe e0 cb 43 7c e0 15 e1 f1 7b cd 55 2b 27 63 f1 bf 12 df 64 46 92 51 09 f8 1c fa 62 d7 95 3a fb 6c e6 39 d7 db 4b bf 6f df 29 4e d4 30 9a ae 47 93 92 5c f3 dc ba 79 39 8d 56 97 f2 96 2c 23 6f d4 5d 25 dd a6 19 74 f9 ac 1a 25 16 d5 d3 62 f0 5c 95 55 73 75 5d cd 51 f1 72 a7 dd ac 34 a3 47 d5 57 d2 b6 5f ff 03 b2 16 34 69 9a 05 00 00 00 00 0c 01 05 00 00 00 01 00 88 9a ca c8 b2 12 34 da 8f 01 30 '..z.......v..cU... ./a..a..d*h....e@.q...Jb.._..u.b.&=LMed......j!.5S............B...Q.!...4..&O...-.I~..j.....Z..j!.5S..4..&O..............................S.n.F..],.'...U.&@.+|..0.,....eI6.d.pf."..cER...r.oH..]..A.`..I.`....j...H.J..{.=....?.N{....................e.<+.,..ru#...D......_~.S...?;..71....../._....../.O..zst..<.;.,[.0...C..k.....xw...Wet.m.t.....<_.oB....Ivqv.., .........OBnI...g......d`E. ...5.l......s..l=Rf.>..W.th.f.......5V..|3/..#n...t8.`,.....i3R.s..,.sno7^m.u..+1...^...z..o..0.....p..I.o|d..Y.Q|T..~a....f.qk..{...T...zG...CR.........~.........T..o]...zh...6#..{....K`.......)z9A..W".~..:..2...L...-|.7.R...NXM.>........|...{.........w.ctW..U..x..$..8..._....R'....o0..IX..&..|.5tl..?..`w1A..h^..i..-..b...F.s..]K.....k..x.D.<.x)...14i.../e....i.A....A.?.M.].5.5m..;..7.....g<m.J.E.......)~M......:....z..'{....c...+..{........!......2."..M.{...GY.w.<$....6[..............2..;..5V......2.8..?...k..2..2c.W.K.. ......o../.....C|....{.U+'c....dF.Q....b..:.l.9..K.o.)N.0..G..\...y9.V...,#o.]%...t...%...b.\.Usu].Q.r...4.G.W.._....4i....................4...0'
I0331 14:44:56.253400053   86276 parsing.cc:602]                       parsing initial_metadata
D0331 14:44:56.253410814   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: :status: 200
D0331 14:44:56.253420052   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: server: nginx/1.20.2
D0331 14:44:56.253431715   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: date: Fri, 31 Mar 2023 18:48:22 GMT
D0331 14:44:56.253438741   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: content-type: application/grpc
D0331 14:44:56.253447960   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: grpc-encoding: gzip
D0331 14:44:56.253456699   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: grpc-accept-encoding: identity, deflate, gzip
D0331 14:44:56.253464464   86276 hpack_parser.cc:1052]                 HTTP:1:HDR:CLI: accept-encoding: identity,gzip
I0331 14:44:56.253473120   86276 bdp_estimator.h:52]                   bdp[ipv4:192.168.8.9:443]:sched acc=0 est=65536
I0331 14:44:56.253478756   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state IDLE -> WRITING [BDP_PING]
I0331 14:44:56.253489983   86276 stream_lists.cc:127]                  0x25b7320[1][cli]: add to writable
I0331 14:44:56.253493463   86276 parsing.cc:608]                       parsing trailing_metadata
D0331 14:44:56.253500155   86276 hpack_parser.cc:1052]                 HTTP:1:TRL:CLI: grpc-status: 0
I0331 14:44:56.253504961   86276 stream_lists.cc:95]                   0x25b7320[1][cli]: remove from writable
I0331 14:44:56.253511781   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.253517001   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
D0331 14:44:56.253529436   86276 promise_based_filter.cc:1327]         CLI[http-client:0x025b8118] ClientCallData.RecvInitialMetadataReady has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={} recv_initial_metadata=HOOKED_AND_GOT_LATCH
D0331 14:44:56.253536453   86276 promise_based_filter.cc:819]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={} recv_initial_metadata=COMPLETE_AND_GOT_LATCH
D0331 14:44:56.253544712   86276 promise_based_filter.cc:1464]         CLI[http-client:0x025b8118] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={} recv_initial_metadata=COMPLETE_AND_SET_LATCH
D0331 14:44:56.253550773   86276 promise_based_filter.cc:881]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.253557265   86276 promise_based_filter.cc:819]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={} recv_initial_metadata=COMPLETE_AND_SET_LATCH
D0331 14:44:56.253564790   86276 promise_based_filter.cc:1464]         CLI[http-client:0x025b8118] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={} recv_initial_metadata=RESPONDED
D0331 14:44:56.253569132   86276 promise_based_filter.cc:881]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run: poll=<<pending>>
I0331 14:44:56.253575351   86276 retry_filter.cc:1424]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0 batch_data=0x18c3280: got recv_initial_metadata_ready, error=OK
I0331 14:44:56.253580422   86276 retry_filter.cc:2556]                 chand=0x1905610 calld=0x25a5ef0: committing retries
I0331 14:44:56.253584127   86276 retry_filter.cc:2359]                 chand=0x1905610 calld=0x25a5ef0: destroying send_initial_metadata
I0331 14:44:56.253588975   86276 retry_filter.cc:2368]                 chand=0x1905610 calld=0x25a5ef0: destroying send_messages[0]
I0331 14:44:56.253593863   86276 retry_filter.cc:2378]                 chand=0x1905610 calld=0x25a5ef0: destroying send_trailing_metadata
I0331 14:44:56.253598663   86276 retry_filter.cc:817]                  chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: retry state no longer needed; moving LB call to parent and unreffing the call attempt
I0331 14:44:56.253603373   86276 retry_filter.cc:2538]                 chand=0x1905610 calld=0x25a5ef0: invoking recv_initial_metadata_ready for pending batch at index 0
I0331 14:44:56.253694565   86276 retry_filter.cc:1523]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0 batch_data=0x18c3280: got recv_message_ready, error=OK
I0331 14:44:56.253699738   86276 retry_filter.cc:2538]                 chand=0x1905610 calld=0x25a5ef0: invoking recv_message_ready for pending batch at index 0
D0331 14:44:56.253716877   86276 promise_based_filter.cc:1514]         CLI[http-client:0x025b8118] ClientCallData.RecvTrailingMetadataReady error=OK md=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
D0331 14:44:56.253722461   86276 promise_based_filter.cc:819]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={} recv_initial_metadata=RESPONDED
D0331 14:44:56.253727092   86276 promise_based_filter.cc:1464]         CLI[http-client:0x025b8118] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={} recv_initial_metadata=RESPONDED
D0331 14:44:56.253734525   86276 promise_based_filter.cc:881]          CLI[http-client:0x025b8118] ClientCallData.PollContext.Run: poll=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
D0331 14:44:56.253742791   86276 promise_based_filter.cc:1514]         CLI[client-auth-filter:0x025b80e8] ClientCallData.RecvTrailingMetadataReady error=OK md=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
D0331 14:44:56.253747534   86276 promise_based_filter.cc:819]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={}
D0331 14:44:56.253752456   86276 promise_based_filter.cc:1464]         CLI[client-auth-filter:0x025b80e8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={}
D0331 14:44:56.253758601   86276 promise_based_filter.cc:881]          CLI[client-auth-filter:0x025b80e8] ClientCallData.PollContext.Run: poll=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
D0331 14:44:56.253765533   86276 promise_based_filter.cc:1514]         CLI[authority:0x025b80d0] ClientCallData.RecvTrailingMetadataReady error=OK md=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
D0331 14:44:56.253771441   86276 promise_based_filter.cc:819]          CLI[authority:0x025b80d0] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={}
D0331 14:44:56.253775883   86276 promise_based_filter.cc:1464]         CLI[authority:0x025b80d0] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=COMPLETE captured={}
D0331 14:44:56.253781652   86276 promise_based_filter.cc:881]          CLI[authority:0x025b80d0] ClientCallData.PollContext.Run: poll=PeerString: ipv4:192.168.8.9:443, grpc-status: 0, GrpcStatusFromWire: true
I0331 14:44:56.253789208   86276 client_channel.cc:2890]               chand=0x2597580 lb_call=0x25a70c0: got recv_trailing_metadata_ready: error=OK call_attempt_tracer_=(nil) lb_subchannel_call_tracker_=(nil) failure_error_=OK
I0331 14:44:56.253794364   86276 retry_filter.cc:1717]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0 batch_data=0x18c3280: got recv_trailing_metadata_ready, error=OK
I0331 14:44:56.253800001   86276 retry_filter.cc:1744]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: call finished, status=OK server_pushback=N/A is_lb_drop=0 stream_network_state=N/A
I0331 14:44:56.253804778   86276 retry_filter.cc:2538]                 chand=0x1905610 calld=0x25a5ef0: invoking recv_trailing_metadata_ready for pending batch at index 0
I0331 14:44:56.253809499   86276 retry_filter.cc:2483]                 chand=0x1905610 calld=0x25a5ef0: clearing pending batch
I0331 14:44:56.253813826   86276 retry_filter.cc:1352]                 chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: destroying batch 0x18c3280
I0331 14:44:56.253818174   86276 retry_filter.cc:751]                  chand=0x1905610 calld=0x25a5ef0 attempt=0x25a65a0: destroying call attempt
I0331 14:44:56.253825389   86276 client_channel.cc:2235]               chand=0x2597580 calld=0x2598be0: got recv_trailing_metadata_ready: error=OK service_config_call_data=0x2598e00
D0331 14:44:56.253830783   86276 call.cc:857]                          set_final_status CLI
D0331 14:44:56.253834386   86276 call.cc:858]                          OK
I0331 14:44:56.253844187   86276 completion_queue.cc:698]              cq_end_op_for_next(cq=0x1e4e120, tag=0x7f3f06c60180, error=OK, done=0x7f3f08423590, done_arg=0x2598d30, storage=0x2598d78)
I0331 14:44:56.253851313   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.253859717   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485239 now 1592 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.253864691   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.253874040   86276 writing.cc:178]                       CLIENT: Ping sent [ipv4:192.168.8.9:443]: 2/2
I0331 14:44:56.253878188   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> WRITING [begin write in current thread]
I0331 14:44:56.253884707   86276 secure_endpoint.cc:401]               WRITE 0x25ad680: 00 00 08 06 00 00 00 00 00 00 00 00 00 00 00 00 00 '.................'
I0331 14:44:56.253899959   86276 tcp_posix.cc:1823]                    WRITE 0x2423ad0 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.253906462   86276 tcp_posix.cc:1827]                    WRITE DATA: 17 03 03 00 22 c5 52 97 f5 71 54 32 5b 48 34 83 19 53 9b 66 5d 69 41 50 dd 78 e5 bb 22 72 df ed 0e 71 9b 38 38 8e 6d '....".R..qT2[H4..S.f]iAP.x.."r...q.88.m'
I0331 14:44:56.253945246   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.253950771   86276 chttp2_transport.cc:756]              W:0x25b7320 CLIENT [ipv4:192.168.8.9:443] state WRITING -> IDLE [finish writing]
I0331 14:44:56.253957162   86276 chttp2_transport.cc:2448]             ipv4:192.168.8.9:443: Start BDP ping err=OK
I0331 14:44:56.253960788   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.253966410   86276 bdp_estimator.h:65]                   bdp[ipv4:192.168.8.9:443]:start acc=918 est=65536
I0331 14:44:56.253971178   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.253975915   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485239 now 1592 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.253979932   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.253989847   86276 completion_queue.cc:1060]             RETURN_EVENT[0x1e4e120]: OP_COMPLETE: tag:0x7f3f06c60180 OK
I0331 14:44:56.254044842   86276 metadata_array.cc:36]                 grpc_metadata_array_destroy(array=0x7f3f06c511f8)
I0331 14:44:56.254065117   86276 metadata_array.cc:36]                 grpc_metadata_array_destroy(array=0x7f3f06c4b0b0)
I0331 14:44:56.254091681   86276 call.cc:774]                          grpc_call_unref(c=0x2597e90)
I0331 14:44:56.254096786   86276 client_channel.cc:3002]               chand=0x2597580 lb_call=0x25a70c0: cancelling queued pick: error=OK self=0x25247e0 calld->pick_canceller=(nil)
I0331 14:44:56.254105337   86276 retry_filter.cc:2359]                 chand=0x1905610 calld=0x25a5ef0: destroying send_initial_metadata
I0331 14:44:56.254109270   86276 retry_filter.cc:2378]                 chand=0x1905610 calld=0x25a5ef0: destroying send_trailing_metadata
I0331 14:44:56.254131889   86276 completion_queue.cc:1393]             grpc_completion_queue_shutdown(cq=0x1e4e120)
I0331 14:44:56.254136488   86276 completion_queue.cc:1398]             grpc_completion_queue_destroy(cq=0x1e4e120)
I0331 14:44:56.254139456   86276 completion_queue.cc:1393]             grpc_completion_queue_shutdown(cq=0x1e4e120)
I0331 14:44:56.259987118   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.260000989   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.260004724   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.260012933   86276 ssl_credentials.cc:127]               grpc_ssl_credentials_create(pem_root_certs=-----BEGIN CERTIFICATE-----
MIIFOzCCAyOgAwIBAgIMAbE7jK/3TT5eMnR3MA0GCSqGSIb3DQEBDQUAMEkxCzAJ
BgNVBAYTAlVTMRgwFgYDVQQKEw9Cb3N0b24gRHluYW1pY3MxIDAeBgNVBAMTF0Jv
c3RvbiBEeW5hbWljcyBSb290IENBMB4XDTE4MDUwMTAwMDAwMFoXDTI5MDUwMTAw
MDAwMFowSTELMAkGA1UEBhMCVVMxGDAWBgNVBAoTD0Jvc3RvbiBEeW5hbWljczEg
MB4GA1UEAxMXQm9zdG9uIER5bmFtaWNzIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQDY2n0C0JNzgyMMJz/tzLdHwxEhUO6q+gX+tjRj9U4h
USlpphmJnHQwKCa53ADgT58zpJh/e+zWavTEMdYHEjSdISva5c6EhJ1EOGCYd9M/
zjFx41yvI8AgXYCLGSZUZqp8EuWo4Dj//7/gpHx278y20jSkb7G/RaZamdvt9FX1
uMQIcGpdYGPjs+qV8vCH2fnH8GoLXedHElvaWu8WC8a6ooXyk0nrTCUmS0lBwvd9
hjSU29dmJj65gvwPMbhJA4MM0tnikz/rvUlEnjuZGeqQdoH4fwIkN/uWu5ZJKyhZ
wksWaCZUXmqmLQ3sS0HkBzez7tLYSTKmjG7BbPQ7E2eFfD8cCi2wka83ahKEYL77
+3iuhfoTGcdOwm8TKD0tTDOojb/27R5XKJX7515pHfhV1U00jbZ6VpLrv3iaU28D
rgl/niL+epa7hbCmgW+oAo1QPtGrn1+eEF4QhDPScjqSHeohIaQU4rLjrRcKnfiP
PWQrxqV1Le+aJUPnqj4gOBIY8Oq61uT7k8UdIT7MivALs3+vEPJ21BYljDvMsOUm
mIzMPNo98AxAQByUYetgDEfDyObhoMcJGbadYiNdD4+foCk/8JfStMSckP2UTscS
Hq8NNmHf8ssp7Voj1t/hWh1UiRv12ii+3FSUPLH2liZVrL/zUP9MMoZVy1YogQkV
qwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQ0FAAOCAgEAL1koxdNUVsCaDrQWGcxpO3WyuW6FVYn6G+KAsnSlqaJU
pGI77MLGrNMGCb/NkeprvrSaDMWmnfyYSYlQQIDPE1whH85hyrV1FuAy7Xt6ZSV6
oVEl83t0yViIiVuAxPBQ72682pWG1a24d9Joa2hk8oNL4MO7zNfjh6JSAy0Tsyu7
oz7rULMCCYwSzpQv3c2/gY1vEGEMxYDmpy1ym+G2MzwfJtWYmVJdrxZi3GH9i56M
wyLae8RC6QPwN+5hSy22di2VViEu59d+Pm3/HrDQwjEWUVSwP9EMEByIP+K6n+Bp
6566Utt8ezDT1poym85kqceVn8xU2aLeZelsJXNGqmLrYVdjZOC543Q8NzLnki1p
k2RL+Eld8dRe+q3aOv0HLxc8QZbWz1Bk2IlRnyZBpElAQrkyYZ4gZALoQVTLv7HC
0nLus0zaJvkfaZmwYEQnVbEFOJrQYgDbWtYFSueKzfGFX6uBY3G3gze3YMewcEuW
GrHeSPlZ2LS4lFNSONyHzT4rkf3bj9P7SnHWgvdVKO9k748StfDf/IoIqPgnUA76
Vc2K4FgvFKVAu2VMBdhdoysUbFrUF6a0e/QqPe/YRsCfTt+QoI+iZq2JezHrqzMq
//JVcAMX4mDfYcL9KhfCqHJlR30h5EmlOZaod9Oj+LvsD9NeeX2RcxlW1aURkMQ=
-----END CERTIFICATE-----
, pem_key_cert_pair=(nil), verify_options=(nil), reserved=(nil))
I0331 14:44:56.260018321   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.260019746   86276 plugin_credentials.cc:211]            grpc_metadata_credentials_create_from_plugin(reserved=(nil))
I0331 14:44:56.260021563   86276 composite_credentials.cc:165]         grpc_composite_channel_credentials_create(channel_creds=0x21a8b10, call_creds=0x1acfc60, reserved=(nil))
I0331 14:44:56.260023088   86276 credentials.cc:37]                    grpc_channel_credentials_release(creds=0x21a8b10)
I0331 14:44:56.260024276   86276 credentials.cc:43]                    grpc_call_credentials_release(creds=0x1acfc60)
I0331 14:44:56.260026063   86276 chttp2_connector.cc:344]              grpc_secure_channel_create(target=192.168.8.9:443, creds=0x1c64590, args=0x7f3f06c607a0)
D0331 14:44:56.260035884   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:11
I0331 14:44:56.260062113   86276 channel_stack.cc:114]                 CHANNEL_STACK: init CLIENT_CHANNEL
I0331 14:44:56.260063336   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter client-channel
I0331 14:44:56.260075753   86276 client_channel.cc:995]                chand=0x25a6650: creating client_channel for channel stack 0x25a65d0
I0331 14:44:56.260091949   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.260094783   86276 credentials.cc:37]                    grpc_channel_credentials_release(creds=0x1c64590)
I0331 14:44:56.260191691   86276 completion_queue.cc:510]              grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0331 14:44:56.260200248   86276 client_channel.cc:1837]               chand=0x25a6650 calld=0x2598be0: created call
I0331 14:44:56.260203963   86276 timer_generic.cc:342]                 TIMER 0x2598d38: SET 31599 now 1598 call 0x2598d70[0x7f3f081c5990]
I0331 14:44:56.260205457   86276 timer_generic.cc:378]                   .. add to shard 19 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.260209279   86276 metadata_array.cc:31]                 grpc_metadata_array_init(array=0x7f3f06c511f8)
I0331 14:44:56.260210278   86276 metadata_array.cc:31]                 grpc_metadata_array_init(array=0x7f3f06c4b0b0)
I0331 14:44:56.260213082   86276 call.cc:2956]                         grpc_call_start_batch(call=0x2597e90, ops=0x223fce0, nops=6, tag=0x7f3f06c60c20, reserved=(nil))
I0331 14:44:56.260216479   86276 call.cc:1365]                         ops[0]: SEND_INITIAL_METADATA(nil)
I0331 14:44:56.260217806   86276 call.cc:1365]                         ops[1]: SEND_MESSAGE ptr=0x1adc6f0
I0331 14:44:56.260218778   86276 call.cc:1365]                         ops[2]: SEND_CLOSE_FROM_CLIENT
I0331 14:44:56.260220029   86276 call.cc:1365]                         ops[3]: RECV_INITIAL_METADATA ptr=0x7f3f06c511f8
I0331 14:44:56.260221080   86276 call.cc:1365]                         ops[4]: RECV_MESSAGE ptr=0x7f3f043e41a0
I0331 14:44:56.260222358   86276 call.cc:1365]                         ops[5]: RECV_STATUS_ON_CLIENT metadata=0x7f3f06c4b0b0 status=0x7f3f06c4b0c8 details=0x7f3f06c4b0d0
I0331 14:44:56.260230029   86276 call.cc:805]                          OP[client-channel:0x2598bc0]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30100m, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.260232091   86276 client_channel.cc:1993]               chand=0x25a6650 calld=0x2598be0: adding pending batch at index 0
I0331 14:44:56.260233422   86276 client_channel.cc:1945]               chand=0x25a6650 calld=0x2598be0: grabbing resolution mutex to apply service config
I0331 14:44:56.260234890   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x25a6708]: get current state: IDLE
I0331 14:44:56.260236233   86276 client_channel.cc:2294]               chand=0x25a6650 calld=0x2598be0: triggering exit idle
I0331 14:44:56.260237254   86276 client_channel.cc:2343]               chand=0x25a6650 calld=0x2598be0: queuing to wait for resolution
I0331 14:44:56.260238340   86276 client_channel.cc:2155]               chand=0x25a6650 calld=0x2598be0: adding to resolver queued picks list
I0331 14:44:56.260239863   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x25a6708]: get current state: IDLE
I0331 14:44:56.260241537   86276 client_channel.cc:1504]               chand=0x25a6650: starting name resolution
I0331 14:44:56.260245468   86276 polling_resolver.cc:63]               [polling resolver 0x25b9b20] created
I0331 14:44:56.260248100   86276 connectivity_state.cc:160]            ConnectivityStateTracker client_channel[0x25a6708]: IDLE -> CONNECTING (started resolving, OK)
D0331 14:44:56.260251187   86276 grpc_ares_wrapper.cc:1033]            (c-ares resolver) request:0x1c63aa0 c-ares grpc_dns_lookup_hostname_ares_impl name=192.168.8.9:443, default_port=https
I0331 14:44:56.260258455   86276 grpc_ares_wrapper.cc:552]             (c-ares resolver) request:0x1c63aa0 c-ares address sorting: input[0]=192.168.8.9:443
I0331 14:44:56.260280320   86276 grpc_ares_wrapper.cc:552]             (c-ares resolver) request:0x1c63aa0 c-ares address sorting: output[0]=192.168.8.9:443
D0331 14:44:56.260281682   86276 dns_resolver_ares.cc:118]             (c-ares resolver) resolver:0x25b9b20 Started resolving hostnames. hostname_request_:0x1c63aa0
I0331 14:44:56.260282957   86276 polling_resolver.cc:253]              [polling resolver 0x25b9b20] starting resolution, request_=0x1bdfcf0
I0331 14:44:56.260284089   86276 client_channel.cc:1517]               chand=0x25a6650: created resolver=0x25b9b20
D0331 14:44:56.260286193   86276 dns_resolver_ares.cc:396]             (c-ares resolver) resolver:0x1bdfcf0 OnResolved() proceeding
I0331 14:44:56.260288491   86276 polling_resolver.cc:137]              [polling resolver 0x25b9b20] request complete
I0331 14:44:56.260289809   86276 polling_resolver.cc:142]              [polling resolver 0x25b9b20] returning result: addresses=<1 addresses>, service_config=<null>
I0331 14:44:56.260291432   86276 client_channel.cc:1173]               chand=0x25a6650: got resolver result
I0331 14:44:56.260292995   86276 client_channel.cc:1235]               chand=0x25a6650: resolver returned no service config. Using default service config for channel.
I0331 14:44:56.260298477   86276 client_channel.cc:1417]               chand=0x25a6650: using service config: "{}"
I0331 14:44:56.260299438   86276 client_channel.cc:1431]               chand=0x25a6650: using ConfigSelector (nil)
I0331 14:44:56.260302184   86276 client_channel.cc:1380]               chand=0x25a6650: created new LB policy 0x1e95b60
I0331 14:44:56.260303191   86276 client_channel.cc:1362]               chand=0x25a6650: Updating child policy 0x1e95b60
I0331 14:44:56.260304896   86276 child_policy_handler.cc:236]          [child_policy_handler 0x1e95b60] creating new child policy pick_first
I0331 14:44:56.260306912   86276 pick_first.cc:177]                    Pick First 0x1d79080 created.
I0331 14:44:56.260308173   86276 child_policy_handler.cc:299]          [child_policy_handler 0x1e95b60] created new LB policy "pick_first" (0x1d79080)
I0331 14:44:56.260310056   86276 child_policy_handler.cc:256]          [child_policy_handler 0x1e95b60] updating child policy 0x1d79080
I0331 14:44:56.260311710   86276 pick_first.cc:268]                    Pick First 0x1d79080 received update with 1 addresses
I0331 14:44:56.260313901   86276 subchannel_list.h:367]                [PickFirstSubchannelList 0x1d79080] Creating subchannel list 0x1ae50b0 for 1 subchannels
I0331 14:44:56.260390251   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.260398237   86276 client_channel.cc:441]                chand=0x25a6650: creating subchannel wrapper 0x1e4bdb0 for subchannel 0x25ab340
I0331 14:44:56.260401576   86276 subchannel_list.h:386]                [PickFirstSubchannelList 0x1d79080] subchannel list 0x1ae50b0 index 0: Created subchannel 0x1e4bdb0 for address 192.168.8.9:443
I0331 14:44:56.260403052   86276 subchannel_list.h:316]                [PickFirstSubchannelList 0x1d79080] subchannel list 0x1ae50b0 index 0 of 1 (subchannel 0x1e4bdb0): starting watch
I0331 14:44:56.260405540   86276 client_channel.cc:895]                chand=0x25a6650: update: state=CONNECTING status=(OK) picker=0x254e650
I0331 14:44:56.260408612   86276 client_channel.cc:1442]               chand=0x25a6650: switching to ConfigSelector (nil)
I0331 14:44:56.260412687   86276 channel_stack.cc:114]                 CHANNEL_STACK: init DynamicFilters
I0331 14:44:56.260413661   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter retry_filter
I0331 14:44:56.260418996   86276 connectivity_state.cc:183]            ConnectivityStateTracker client_channel[0x25a6708]: get current state: CONNECTING
I0331 14:44:56.260420660   86276 client_channel.cc:2169]               chand=0x25a6650 calld=0x2598be0: applying service config to call
I0331 14:44:56.260422070   86276 client_channel.cc:2140]               chand=0x25a6650 calld=0x2598be0: removing from resolver queued picks list
I0331 14:44:56.260424130   86276 polling_resolver.cc:172]              [polling resolver 0x25b9b20] result status from channel: OK
I0331 14:44:56.260427990   86276 client_channel.cc:562]                chand=0x25a6650: connectivity change for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340; hopping into work_serializer
I0331 14:44:56.260429615   86276 client_channel.cc:594]                chand=0x25a6650: processing connectivity change in work serializer for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340 watcher=0x2530140
I0331 14:44:56.260432761   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x1d79080] subchannel list 0x1ae50b0 index 0 of 1 (subchannel 0x1e4bdb0): connectivity changed: old_state=N/A, new_state=IDLE, status=OK, shutting_down=0, pending_watcher=0x2530140
I0331 14:44:56.260440108   86276 handshaker.cc:66]                     handshake_manager 0x1af5c10: adding handshaker tcp_connect [0x1dedf50] at index 0
I0331 14:44:56.260442612   86276 handshaker.cc:66]                     handshake_manager 0x1af5c10: adding handshaker http_connect [0x25ba700] at index 1
I0331 14:44:56.260455478   86276 ssl_transport_security.cc:227]             HANDSHAKE START -       TLS client start_connect  - !!!!!!
I0331 14:44:56.260500715   86276 ssl_transport_security.cc:227]                        LOOP -    TLS client enter_early_data  - !!!!!!
I0331 14:44:56.260502475   86276 ssl_transport_security.cc:227]                        LOOP -   TLS client read_server_hello  - !!!!!!
I0331 14:44:56.260505945   86276 handshaker.cc:66]                     handshake_manager 0x1af5c10: adding handshaker security [0x25abb80] at index 2
I0331 14:44:56.260507947   86276 timer_generic.cc:342]                 TIMER 0x1af5c78: SET 21599 now 1599 call 0x1af5cb0[0x7f3f08452650]
I0331 14:44:56.260509844   86276 timer_generic.cc:378]                   .. add to shard 20 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.260518389   86276 handshaker.cc:92]                     handshake_manager 0x1af5c10: error=OK shutdown=0 index=0, args={endpoint=(nil), args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=api.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1c64590, grpc.internal.event_engine=0x1e67820, grpc.internal.security_connector=0x2509880, grpc.internal.subchannel_pool=0x18c5070, grpc.internal.tcp_handshaker_bind_endpoint_to_pollset=1, grpc.internal.tcp_handshaker_resolved_address=ipv4:192.168.8.9:443, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=api.spot.robot}, read_buffer=0x25ab000 (length=0), exit_early=0}
I0331 14:44:56.260521220   86276 handshaker.cc:138]                    handshake_manager 0x1af5c10: calling handshaker tcp_connect [0x1dedf50] at index 0
I0331 14:44:56.260558285   86276 tcp_client_posix.cc:378]              CLIENT_CONNECT: ipv4:192.168.8.9:443: asynchronously connecting fd 0x2140ab0
I0331 14:44:56.260560590   86276 timer_generic.cc:342]                 TIMER 0x19ed310: SET 21599 now 1599 call 0x19ed348[0x7f3f08354c10]
I0331 14:44:56.260561883   86276 timer_generic.cc:378]                   .. add to shard 3 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.260564791   86276 client_channel.cc:2372]               chand=0x25a6650 calld=0x2598be0: creating dynamic call stack on channel_stack=0x2071d70
I0331 14:44:56.260568128   86276 retry_filter.cc:2088]                 chand=0x2071d40 calld=0x25c5160: created call
I0331 14:44:56.260569958   86276 client_channel.cc:2068]               chand=0x25a6650 calld=0x2598be0: starting 1 pending batches on dynamic_call=0x25c5100
I0331 14:44:56.260571532   86276 client_channel.cc:562]                chand=0x25a6650: connectivity change for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340; hopping into work_serializer
I0331 14:44:56.260572835   86276 client_channel.cc:594]                chand=0x25a6650: processing connectivity change in work serializer for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340 watcher=0x2530140
I0331 14:44:56.260574616   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x1d79080] subchannel list 0x1ae50b0 index 0 of 1 (subchannel 0x1e4bdb0): connectivity changed: old_state=IDLE, new_state=CONNECTING, status=OK, shutting_down=0, pending_watcher=0x2530140
I0331 14:44:56.260576699   86276 client_channel.cc:895]                chand=0x25a6650: update: state=CONNECTING status=(OK) picker=0x1e4be70
I0331 14:44:56.260583844   86276 dynamic_filters.cc:81]                OP[retry_filter:0x25c5140]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.260585886   86276 retry_filter.cc:2416]                 chand=0x2071d40 calld=0x25c5160: adding pending batch at index 0
I0331 14:44:56.260587734   86276 retry_filter.cc:2291]                 chand=0x2071d40 calld=0x25c5160: creating call attempt
I0331 14:44:56.260597213   86276 client_channel.cc:2560]               chand=0x25a6650 lb_call=0x25c6330: created
I0331 14:44:56.260598438   86276 retry_filter.cc:722]                  chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: created attempt, lb_call=0x25c6330
I0331 14:44:56.260599964   86276 retry_filter.cc:1102]                 chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: constructing retriable batches
I0331 14:44:56.260601786   86276 retry_filter.cc:1331]                 chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: creating batch 0x249d150
I0331 14:44:56.260605364   86276 retry_filter.cc:2000]                 chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: starting calld->send_messages[0]
I0331 14:44:56.260609060   86276 retry_filter.cc:899]                  chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: adding batch (start replayable pending batch on call attempt):  SEND_INITIAL_METADATA{:path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.260611133   86276 retry_filter.cc:1112]                 chand=0x2071d40 calld=0x25c5160 attempt=0x25c5810: starting 1 retriable batches on lb_call=0x25c6330
I0331 14:44:56.260614572   86276 client_channel.cc:2710]               chand=0x25a6650 lb_call=0x25c6330: batch started from above:  SEND_INITIAL_METADATA{:path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA, call_attempt_tracer_=(nil)
I0331 14:44:56.260616443   86276 client_channel.cc:2612]               chand=0x25a6650 lb_call=0x25c6330: adding pending batch at index 0
I0331 14:44:56.260617838   86276 client_channel.cc:2824]               chand=0x25a6650 lb_call=0x25c6330: grabbing data plane mutex to perform pick
I0331 14:44:56.260619381   86276 client_channel.cc:3144]               chand=0x25a6650 lb_call=0x25c6330: LB pick queued
I0331 14:44:56.260620320   86276 client_channel.cc:3040]               chand=0x25a6650 lb_call=0x25c6330: adding to queued picks list
I0331 14:44:56.260622462   86276 client_channel.cc:2113]               chand=0x25a6650 calld=0x2598be0: cancelling resolver queued pick: error=OK self=0x25247e0 calld->resolver_pick_canceller=(nil)
I0331 14:44:56.265793479   86276 completion_queue.cc:948]              grpc_completion_queue_next(cq=0x25a6f00, deadline=gpr_timespec { tv_sec: 1680288296, tv_nsec: 465790686, clock_type: 1 }, reserved=(nil))
I0331 14:44:56.265810790   86276 tcp_posix.cc:1112]                    TCP:0x2423ad0 got_read: OK
I0331 14:44:56.265814029   86276 tcp_posix.cc:874]                     TCP:0x2423ad0 do_read
I0331 14:44:56.265821922   86276 tcp_posix.cc:810]                     TCP:0x2423ad0 call_cb 0x25ad6c8 0x7f3f0840e980:0x25ad680
I0331 14:44:56.265824518   86276 tcp_posix.cc:812]                     READ 0x2423ad0 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.265828557   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 00 22 9f ff 24 20 8e c8 85 e6 60 06 63 68 13 a6 cb 44 1a 0e bb fa ac ba 98 92 92 7e e9 02 51 9b a1 8b ac a3 '...."..$ ....`.ch...D.........~..Q.....'
I0331 14:44:56.265838771   86276 secure_endpoint.cc:244]               READ 0x25ad680: 00 00 08 06 01 00 00 00 00 00 00 00 00 00 00 00 00 '.................'
I0331 14:44:56.265844228   86276 timer_generic.cc:443]                 TIMER 0x25b7f80: CANCEL pending=true
I0331 14:44:56.265846924   86276 tcp_posix.cc:669]                     TCP:0x2423ad0 notify_on_read
I0331 14:44:56.265849801   86276 chttp2_transport.cc:2472]             ipv4:192.168.8.9:443: Complete BDP ping err=OK
I0331 14:44:56.265855660   86276 bdp_estimator.cc:50]                  bdp[ipv4:192.168.8.9:443]:complete acc=918 est=65536 dt=0.011883 bw=0.618007Mbs bw_est=0.000000Mbs
I0331 14:44:56.265861185   86276 timer_generic.cc:342]                 TIMER 0x25b7ec8: SET 1704 now 1604 call 0x25b7e00[0x7f3f081eff70]
I0331 14:44:56.265864209   86276 timer_generic.cc:378]                   .. add to shard 30 with queue_deadline_cap=2404 => is_first_timer=true
I0331 14:44:56.265867012   86276 timer_generic.cc:401]                   .. old shard min_deadline=2405
I0331 14:44:56.265872187   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.265875143   86276 timer_generic.cc:342]                 TIMER 0x25b7f80: SET 2147485251 now 1604 call 0x25b7f00[0x7f3f081efb70]
I0331 14:44:56.265877898   86276 timer_generic.cc:378]                   .. add to shard 10 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.265952733   86280 timer_manager.cc:204]                 wait ended: was_timed:0 kicked:1
I0331 14:44:56.265976410   86280 timer_generic.cc:697]                 TIMER CHECK BEGIN: now=1604 next=9223372036854775807 tls_min=0 glob_min=1704
I0331 14:44:56.265978643   86280 timer_generic.cc:722]                 TIMER CHECK END: r=1; next=1704
I0331 14:44:56.265979803   86280 timer_manager.cc:188]                 sleep for a 100 milliseconds
I0331 14:44:56.266261783   86276 tcp_client_posix.cc:173]              CLIENT_CONNECT: ipv4:192.168.8.9:443: on_writable: error=OK
I0331 14:44:56.266263867   86276 timer_generic.cc:443]                 TIMER 0x19ed310: CANCEL pending=true
I0331 14:44:56.266276111   86276 executor.cc:293]                      EXECUTOR (default-executor) try to schedule 0x1dee030 (short) to thread 0
I0331 14:44:56.266291561   86276 tcp_client_posix.cc:134]              CLIENT_CONNECT: ipv4:192.168.8.9:443: on_alarm: error=CANCELLED
I0331 14:44:56.266426891   86278 executor.cc:242]                      EXECUTOR (default-executor) [0]: execute
I0331 14:44:56.266436377   86278 executor.cc:121]                      EXECUTOR (default-executor) run 0x1dee030
I0331 14:44:56.266445108   86278 handshaker.cc:92]                     handshake_manager 0x1af5c10: error=OK shutdown=0 index=1, args={endpoint=0x2019e60, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=api.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1c64590, grpc.internal.event_engine=0x1e67820, grpc.internal.security_connector=0x2509880, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=api.spot.robot}, read_buffer=0x25ab000 (length=0), exit_early=0}
I0331 14:44:56.266449804   86278 handshaker.cc:138]                    handshake_manager 0x1af5c10: calling handshaker http_connect [0x25ba700] at index 1
I0331 14:44:56.266454356   86278 handshaker.cc:92]                     handshake_manager 0x1af5c10: error=OK shutdown=0 index=2, args={endpoint=0x2019e60, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=api.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1c64590, grpc.internal.event_engine=0x1e67820, grpc.internal.security_connector=0x2509880, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=api.spot.robot}, read_buffer=0x25ab000 (length=0), exit_early=0}
I0331 14:44:56.266456463   86278 handshaker.cc:138]                    handshake_manager 0x1af5c10: calling handshaker security [0x25abb80] at index 2
I0331 14:44:56.266459676   86278 tcp_posix.cc:1823]                    WRITE 0x2019e60 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.266465543   86278 tcp_posix.cc:1827]                    WRITE DATA: 16 03 01 02 00 01 00 01 fc 03 03 af a0 bc 2d bf 86 61 d2 e6 5c 45 74 50 e6 de 52 54 0c c2 88 7e 9c 5f 3b 5e d5 ae 4f 8c 69 99 bb 20 c3 af f3 32 0a de 50 a1 f3 d6 42 93 88 4f 3b e1 f7 72 56 d7 65 02 c3 50 88 4e 8f 44 50 de 05 10 00 0e 13 01 13 02 13 03 c0 2b c0 2c c0 2f c0 30 01 00 01 a5 00 00 00 13 00 11 00 00 0e 61 70 69 2e 73 70 6f 74 2e 72 6f 62 6f 74 00 17 00 00 ff 01 00 01 00 00 0a 00 04 00 02 00 17 00 0b 00 02 01 00 00 23 00 00 00 10 00 0e 00 0c 08 67 72 70 63 2d 65 78 70 02 68 32 00 0d 00 14 00 12 04 03 08 04 04 01 05 03 08 05 05 01 08 06 06 01 02 01 33 74 00 00 00 33 00 47 00 45 00 17 00 41 04 a3 b9 95 fb 2e 07 1a eb da 68 db 20 e5 29 b0 87 a5 54 e3 d8 d9 ff e6 6d a1 01 4e d2 a2 89 80 72 3b f5 2c 83 dc 60 ec 33 73 75 dd 8b 93 e0 a4 04 8a db dd fd eb 29 f8 ae 19 59 da 68 d6 35 c5 3e 00 2d 00 02 01 01 00 2b 00 05 04 03 04 03 03 00 15 00 e7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 '..............-..a..\EtP..RT...~._;^..O.i.. ...2..P...B..O;..rV.e..P.N.DP............+.,./.0.............api.spot.robot........................#.........grpc-exp.h2........................3t...3.G.E...A..........h. .)...T.....m..N....r;.,..`.3su...........)...Y.h.5.>.-.....+..................................................................................................................................................................................................................................................'
I0331 14:44:56.266480590   86278 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.266482319   86278 tcp_posix.cc:669]                     TCP:0x2019e60 notify_on_read
I0331 14:44:56.266483834   86278 executor.cc:221]                      EXECUTOR (default-executor) [0]: step (sub_depth=1)
I0331 14:44:56.273300783   86276 tcp_posix.cc:1112]                    TCP:0x2019e60 got_read: OK
I0331 14:44:56.273314820   86276 tcp_posix.cc:874]                     TCP:0x2019e60 do_read
I0331 14:44:56.273322016   86276 tcp_posix.cc:810]                     TCP:0x2019e60 call_cb 0x25abd28 0x7f3f0840fca0:0x25abb80
I0331 14:44:56.273323265   86276 tcp_posix.cc:812]                     READ 0x2019e60 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.273334490   86276 tcp_posix.cc:818]                     READ DATA: 16 03 03 00 9b 02 00 00 97 03 03 7b 0a d2 ea af 3e 70 b7 5c b2 4d d6 5c a1 b6 b9 0b 4c aa 05 ee 18 78 7e c6 0d 4a bc a5 80 5e e5 20 c3 af f3 32 0a de 50 a1 f3 d6 42 93 88 4f 3b e1 f7 72 56 d7 65 02 c3 50 88 4e 8f 44 50 de 05 10 13 02 00 00 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 82 0f 97 15 c7 75 34 1e 06 00 b3 7f 04 2f 8c d0 8b 92 27 ee be 8f c1 9e 70 67 93 06 ad 35 8a 49 e3 05 d1 f3 b3 0f 44 c0 77 6c b3 1a 79 05 bc e7 0b e5 a3 4f 68 e7 94 13 2a 91 7f 1a 75 cf 96 2c 14 03 03 00 01 01 17 03 03 00 34 31 3c b2 e0 af 31 dd 4b 3d 5b be 6a 58 77 5f 04 6b 0d c7 cf 0c 92 44 c1 34 76 00 67 af 72 fa e4 1e d9 04 d7 c5 54 50 8e 87 5d f1 72 64 85 e6 5c 51 98 3e 4d 17 03 03 08 4f 2d 2e 20 13 ca f8 61 18 22 c8 63 df 04 fc f1 0b e2 54 cc bc 3c df 73 0b da 75 61 d8 c6 07 25 0f 65 67 9b 3e f5 c9 2c b8 11 fe b3 93 57 04 d0 55 96 86 73 29 4f 0c 02 28 7d 35 fd 58 c7 41 43 c0 83 92 f4 b8 d1 1d 14 5b 01 d7 09 99 ce 83 76 98 11 4e 5e 76 86 80 48 9a f1 3b 46 ab 97 47 ee 51 93 08 0b 3b 3e dc be d5 62 f8 29 43 fa 87 23 be cf 6d dc b5 53 dd 5b 78 6c ad 83 a2 9b 3d 10 8a e2 12 6e c8 65 1a 4e 67 86 e5 44 19 ce f0 6b e6 1c a2 02 a8 b4 e9 07 73 5c 3d 30 72 6d b2 0f 69 2b b9 4b 25 c3 7f f8 7e f1 ed 4a ca ce 2d 53 bb a5 f3 23 77 27 12 26 e6 ef 97 45 2f 43 24 97 ee 1d 10 86 8f 74 11 40 b0 e1 7a c2 d9 ac 68 b7 83 75 5d 18 7e 85 49 5a ec 46 79 68 a0 07 ae f8 72 87 5f b8 eb ba 96 15 e9 72 d4 82 40 d1 32 73 12 0d 8e 23 b1 4f a5 ad e2 17 36 8c 97 51 77 26 a3 a2 14 24 95 d2 a9 98 5d ef 73 33 ca de 1c 5c 74 0d 49 66 58 a5 8f e7 20 19 61 71 77 00 6e e6 0b a1 48 bf f7 60 81 6b 7a fa 9d 89 59 cc 52 39 ad c5 95 93 c3 a9 a0 36 58 09 8b e2 73 8b bd 3d 7d d6 f8 70 54 dd 07 27 3d 27 b2 72 bf 3b 24 ce 82 db d7 ca cd 20 5c 16 0e 0e 5e 4d 1a 43 28 31 a6 20 b5 35 c9 61 81 6f 56 54 12 3f e5 7f 54 dc bb d5 3b 24 58 a5 c4 c4 71 f1 51 af 43 dd 44 30 28 34 94 f2 9c df cc 62 71 7b 2e 43 d4 71 73 39 5d ca c5 38 8a 90 56 ab 26 a3 c9 db 44 12 aa 1f de 56 a6 a5 20 fc ab db 97 f7 3b e6 0b 4a c0 db 76 72 6a 98 49 75 2e 7b 45 48 52 d0 d8 08 4c 9f cf f7 ae ec 25 f5 86 39 d7 11 fc 6f 74 77 17 57 06 1c 1b 4b 12 f8 87 ae 83 a2 e3 22 d2 f6 d5 96 9c 35 3d fc 01 6a ad 13 48 a0 98 c9 06 e8 36 1d 53 07 80 dd 18 8a d9 cf a8 3d c9 6f cf ba d7 30 c8 d2 34 17 31 9f 71 18 fa d7 4c 31 12 33 43 2d b2 2e cd 52 4b 1a e3 80 a0 df 83 d9 ea e8 b3 39 e2 dc 64 f9 37 c8 32 69 4a 43 b8 d4 13 0c f5 bb 32 a8 78 f3 44 ff 5f 5f f6 78 13 32 30 b8 87 9d 6c 9a f8 14 00 d6 5e a5 9d 3e de 8b 98 ed 1c ce 80 2e ca d7 66 1f db 88 b3 f5 e6 3e 4e 28 19 a0 ec c6 4d 4c 24 c5 fb c0 c9 bd 7e 3b 75 66 3e 34 19 77 0b 51 7e 43 7e 0a bd b2 c2 7a 8e cc ab 82 3f d4 f9 1f a7 5a f4 08 de d4 8c 40 c3 e0 f1 82 94 67 2b f1 23 2b ac 9f 8e 0e df df bb 18 e8 6d 87 95 69 04 4b 83 01 21 b1 d5 69 7a 76 5a b0 98 df 84 d0 57 38 4c c3 78 7f e1 e2 57 44 25 3a 56 6d 87 85 e5 74 7e a0 e3 d5 2c 0a 5d 9f 32 72 ff 2c 50 f2 73 1d 5c 8b 39 ff 91 61 a9 fc a6 2f ae c4 5f ce b9 30 59 00 c9 84 1a a8 e4 7a 7e ac 22 ad 3f 77 63 21 0f 87 49 b1 d8 ae 2a 4e 59 66 cc 31 7a 37 2e 05 51 d1 16 15 1a 42 12 d0 23 19 15 24 d2 50 be 16 60 9f 07 61 da b8 d9 a4 e1 0b 37 4e 66 42 82 0e 6b 94 2f 36 be 37 93 0b 9b 35 d4 d3 97 bf 69 79 45 71 27 63 10 41 9f f1 53 af db c8 4a 44 82 ab 08 5f 61 cb b6 39 0d 43 2d 94 f8 80 09 d5 40 ce 20 f3 0d 75 16 1a 17 20 b2 4b 35 b0 8e 65 e8 8a 56 d7 31 9d 40 f6 64 91 54 22 06 e1 c6 70 33 d6 88 7d 35 81 ab ef a7 af ca 40 5b 60 0e f5 aa a7 73 31 a6 b4 3c d0 94 32 32 cf da e0 f2 a0 bb ae 46 87 4a 3e 88 38 63 08 f1 1c 9d fb 11 b9 ea dd a4 ee d0 6c 36 98 8e 0b d1 7c 9a 0a 46 32 a8 7a 8e a2 7c 27 4e 1c 04 08 69 16 96 79 96 8c 2a 0d 89 54 7b 3c 97 cc 78 fa 83 a0 6e a5 32 3a 21 36 c7 ec 67 b8 e2 83 11 61 50 2a eb e9 46 dc fd 3a 59 8a dd 5c 88 a1 8a fd a7 6c 0e e3 67 67 ac 86 96 91 c3 5d d8 31 86 4a ec a3 80 ea 3c b2 de 06 5a 61 89 58 20 6e d4 7b 78 28 5b 1a bb 7f 3e ee 38 2f 72 2b 5f d5 b9 73 05 43 45 ac 30 c8 b3 86 a1 6d 64 1b ee 5d 80 48 0d ba 8b f3 8f 18 d6 82 5b 96 95 f6 bb 05 e3 d8 89 91 85 1e 00 70 e6 8a 27 ca 6b b2 4a 02 bf 87 65 0c 75 9e e5 ad 5e 9f 26 10 81 87 3a 04 30 45 99 15 78 8f 0c 85 33 c7 9d 2e 11 1d 4b cf b5 2b 97 20 d4 84 e4 9d 68 f5 2f 57 c4 c8 a5 48 e7 2c cf 77 92 de d8 89 cd 05 26 31 ea 78 c0 36 73 84 f6 0a 55 b0 e0 ab 89 3d 20 60 26 01 13 ee 42 bd 70 49 3d 33 c9 f8 9f 8d 0f 83 00 29 e8 04 e4 f8 a3 6b ee 8e eb ae 89 2c 53 e2 28 dc d4 44 a2 32 f4 ad a4 c7 8a 17 62 ac '...........{....>p.\.M.\....L....x~..J...^. ...2..P...B..O;..rV.e..P.N.DP.......O.+.....3.E...A......u4....../....'.....pg...5.I......D.wl..y......Oh...*...u..,..........41<...1.K=[.jXw_.k.....D.4v.g.r.......TP..].rd..\Q.>M....O-. ...a.".c......T..<.s..ua...%.eg.>..,.....W..U..s)O..(}5.X.AC........[......v..N^v..H..;F..G.Q...;>...b.)C..#..m..S.[xl....=....n.e.Ng..D...k........s\=0rm..i+.K%...~..J..-S...#w'.&...E/C$......t.@..z...h..u].~.IZ.Fyh....r._......r..@.2s...#.O....6..Qw&...$....].s3...\t.IfX... .aqw.n...H..`.kz...Y.R9.......6X...s..=}..pT..'='.r.;$...... \...^M.C(1. .5.a.oVT.?..T...;$X...q.Q.C.D0(4.....bq{.C.qs9]..8..V.&...D....V.. .....;..J..vrj.Iu.{EHR...L.....%..9...otw.W...K.......".....5=..j..H.....6.S........=.o...0..4.1.q...L1.3C-...RK..........9..d.7.2iJC......2.x.D.__.x.20...l.....^..>..........f......>N(....ML$.....~;uf>4.w.Q~C~....z....?....Z.....@.....g+.#+.........m..i.K..!..izvZ.....W8L.x...WD%:Vm...t~...,.].2r.,P.s.\.9..a.../.._..0Y......z~.".?wc!..I...*NYf.1z7..Q....B..#..$.P..`..a......7NfB..k./6.7...5....iyEq'c.A..S...JD..._a..9.C-.....@. ..u... .K5..e..V.1.@.d.T"...p3..}5......@[`....s1..<..22.......F.J>.8c............l6....|..F2.z..|'N...i..y..*..T{<..x...n.2:!6..g....aP*..F..:Y..\.....l..gg.....].1.J....<...Za.X n.{x([...>.8/r+_..s.CE.0....md..].H........[............p..'.k.J...e.u...^.&...:.0E..x...3.....K..+. ....h./W...H.,.w......&1.x.6s...U....= `&...B.pI=3.......).....k.....,S.(..D.2......b.'
I0331 14:44:56.273354691   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_hello_retr  - !!!!!!
I0331 14:44:56.273361405   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_hel  - !!!!!!
I0331 14:44:56.273436508   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_encrypted_  - !!!!!!
I0331 14:44:56.273443506   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_certificat  - !!!!!!
I0331 14:44:56.273446042   86276 tcp_posix.cc:1112]                    TCP:0x2019e60 got_read: OK
I0331 14:44:56.273447259   86276 tcp_posix.cc:874]                     TCP:0x2019e60 do_read
I0331 14:44:56.273448689   86276 tcp_posix.cc:669]                     TCP:0x2019e60 notify_on_read
I0331 14:44:56.278745662   86276 tcp_posix.cc:1112]                    TCP:0x2019e60 got_read: OK
I0331 14:44:56.278764612   86276 tcp_posix.cc:874]                     TCP:0x2019e60 do_read
I0331 14:44:56.278783858   86276 tcp_posix.cc:810]                     TCP:0x2019e60 call_cb 0x25abd28 0x7f3f0840fca0:0x25abb80
I0331 14:44:56.278785061   86276 tcp_posix.cc:812]                     READ 0x2019e60 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.278796452   86276 tcp_posix.cc:818]                     READ DATA: 10 d0 a0 89 24 d7 33 f2 ef 92 d9 91 55 be 68 0b 26 fe 4b d7 2f c4 ad 9b 9e 33 e2 f2 75 13 86 44 93 a3 b6 79 26 f4 a0 3a ed c7 7a 83 25 8c 51 e8 af aa 4c 7d 10 36 94 9e a4 2f 65 cd 2e 33 ca c6 27 ad c5 be a3 a9 e3 60 39 99 c3 1c ef 69 58 27 09 0e ee 84 60 cc 2f 5b fb 80 91 50 be 01 a5 d4 12 92 83 30 70 b9 5e c1 56 a4 8d 49 f8 a4 70 fe 26 98 e7 26 c9 a6 e9 1f 60 4a 51 dc dc 42 9b 59 c0 de 01 08 33 62 24 4a a8 6c be 5e ee 78 b3 37 bc 3b c6 b0 f5 1a 5b d4 36 53 f2 7e a3 d9 b8 be 61 7b fc 72 18 ab 65 74 8f 71 cc b3 ed 21 1c a1 7f 37 e1 55 43 32 9e 54 79 cb 5b c6 f7 d4 68 62 30 ee 10 98 ac da 51 7d 4c a8 9e 29 53 7e c6 be 63 bb c8 07 2d 40 fa af f3 c1 72 31 64 ff 0d bb 87 e4 2a c5 85 93 36 2f 2d ef 53 51 90 82 53 7c f9 0b 71 29 a6 f8 1e e5 80 af eb e0 da a1 f1 1c 56 ff e9 29 7a 16 0b 11 24 90 02 66 e7 e1 c6 90 a2 85 42 00 fb 31 05 73 2e d4 19 dd 5b 50 20 f3 e1 90 8f 9d 80 36 67 e6 a5 41 f3 c5 f7 69 6a 74 b7 c4 05 67 fe d9 b6 b4 08 ed 69 50 e9 5f dc 40 4e 6f 10 1b e7 4d cd c6 3c 4c e4 4b fa c7 3a fc 1d 8c 78 39 88 23 59 37 6f 51 80 a8 4d 19 f1 81 e3 fd 68 b0 3a 5b 46 6d e7 1c a1 3e de 34 6f d6 74 fd 71 1a 63 6a 0b 70 c7 07 4c 4f b0 96 05 0f 91 9b 48 d4 4c a4 02 51 ae 5f 89 72 69 e3 bf 16 43 73 74 67 ef 2c b9 de 50 75 93 74 4b e3 29 9d 03 83 82 7f 28 2b de c9 f0 dc bd ea 90 79 1c 48 54 e1 69 94 6b d9 5a 26 e0 8a 33 ed bc d2 71 53 31 5c 68 72 cf 95 8e 51 29 2d 68 48 a1 ef f1 5b 8d 3c 11 f6 9e 35 aa ee 7d 5b 0f 02 a0 53 09 a5 cc 6a 50 4b e2 ba 60 94 3b 8d dd 7f 41 2e 63 c7 10 f7 38 d7 71 83 e5 c5 5e 1c c6 5b bb c4 d0 55 dc 72 58 5f 40 a9 dc 6b 45 65 39 51 61 d6 fd 1f 25 3f 0f 1d 6b 25 04 a4 19 f9 3a c2 2e b8 b6 db f8 8f dc 0d 79 7b f8 74 ea fc d0 c4 53 42 4e cb 26 f1 b5 51 5d 15 bc 3e 50 54 08 79 08 0c 25 87 82 f6 c4 01 54 00 ae ae 5b 8e 59 a6 80 04 0d 80 f0 fd b0 c0 5e 5d 55 50 d1 fb 3c 2e 5b 85 7f 43 df ac a9 a8 d1 d8 d9 4e 3b 0e 37 af 1a fa 58 0c d9 e8 0e a6 97 0e 06 0a 74 da e0 b7 d7 7b 17 b5 59 30 ba 3c 10 97 cc 80 1c 98 d4 db 33 e7 b0 a1 19 60 3e 9f 6c 7d 5e cb a0 bb a3 c5 51 62 57 0a 9d 80 e2 6e 82 9c 4e 94 71 2b 4b 58 30 ca 58 db e6 79 72 ee 2c 90 e8 27 82 8b 92 04 10 62 ca 31 84 38 ef e0 46 a9 20 c2 f5 a1 cd 1a 61 76 00 ca ee 1a 09 ab 9a ce 41 28 b4 df a8 dd 7f c3 25 65 c7 0c c8 da 43 71 9e df 65 98 31 78 ad 93 c5 bc 8d 72 fa 64 b4 10 bc 13 f2 d8 09 3d 27 2a 2d 62 77 f7 6f ae 68 23 be fb c1 90 e2 4b ba 22 ba 7b 69 39 dc e7 dd 23 95 ed 3a 39 52 cb 78 b7 ba 27 52 f4 2f b5 42 f8 c1 ed bc 78 32 cb 99 0f a2 0a 00 42 a2 21 1b ab e6 bf 6e bf f0 1a f6 4b 7d 4b b8 23 7a 75 ec ee 43 b0 7c 55 92 6c 9b 9e aa c5 9f 36 d1 33 ac fa 94 b4 91 9e a2 ab 80 07 b8 25 5b de 05 1c 51 67 cc d2 18 6b 54 40 53 0e 25 b3 61 a8 85 36 1c 19 91 df a1 df 8c 28 48 fd bd 66 3c 36 e0 b8 b1 b1 66 15 d9 61 7f 17 03 03 01 19 fd 47 22 a3 78 99 9e d3 cd 29 ce 56 8a 11 7a 69 18 bf 49 4a ff db b7 fe 08 12 3c cb 8e a4 49 00 30 36 94 3b 13 ed 10 3a 57 87 8b 4c 9e a2 9e fa ae df 6f e2 1f e8 23 7c 2e 4c 14 6d 97 9f 18 3b c7 46 e9 4d e3 d7 a7 1c 2e 81 fb 4a 3c 10 f9 1a 61 7d 8e 72 8e a9 ec 45 9a 11 e8 01 00 c2 ea 4d a9 4c 88 a1 88 48 91 8a 04 6a 40 e5 7d bf ca 73 4b aa 93 55 6d 5a 8b 81 82 06 21 5e a3 3e 4c 3e 4d 98 b3 af 4a bf 2a 91 21 aa 18 71 d9 fc 80 b1 09 c0 8e 5b 40 40 25 66 ef f2 99 1c c1 f8 19 fc 69 4f 94 ed 96 76 88 95 16 be c8 ee ac d3 2f c7 d5 9a 68 66 65 87 6f 54 94 e0 ec 6c 7d b3 e1 96 5d a1 03 2f 2e ad f7 11 1d c8 9d bb b8 04 54 1e 06 8c 63 d9 69 4c d3 1d 21 56 e7 e4 a6 c5 62 f7 8b 4f 89 20 22 98 b4 9c 12 8d 7c 73 1e b2 17 2a e0 81 9c f8 51 4c a4 c7 7a 1d 4d 23 d9 d4 91 21 15 13 60 a5 cf 63 1a 2d 55 58 11 a8 49 b4 99 a0 db 56 80 58 d7 ad 16 e0 66 17 03 03 00 45 73 ff 56 d2 7e ae a5 61 49 bb e6 09 4a 22 0b 9c ed f4 ae db 22 76 07 c3 79 de 7d 7d 95 30 08 b7 3a f9 7b 86 5b 74 59 da b8 de bc 5e f6 ee f9 1d 6f f3 b9 eb 86 29 78 39 80 34 68 c8 3a 0c 5b c4 24 a0 90 66 d5 '....$.3.....U.h.&.K./....3..u..D...y&..:..z.%.Q...L}.6.../e..3..'......`9....iX'....`./[...P.......0p.^.V..I..p.&..&....`JQ..B.Y....3b$J.l.^.x.7.;....[.6S.~....a{.r..et.q...!...7.UC2.Ty.[...hb0.....Q}L..)S~..c...-@....r1d.....*...6/-.SQ..S|..q)............V..)z...$..f......B..1.s....[P ......6g..A...ijt...g......iP._.@No...M..<L.K..:...x9.#Y7oQ..M.....h.:[Fm...>.4o.t.q.cj.p..LO......H.L..Q._.ri...Cstg.,..Pu.tK.).....(+.......y.HT.i.k.Z&..3...qS1\hr...Q)-hH...[.<...5..}[...S...jPK..`.;...A.c...8.q...^..[...U.rX_@..kEe9Qa...%?..k%....:.........y{.t....SBN.&..Q]..>PT.y..%.....T...[.Y.........^]UP..<.[..C.......N;.7...X.........t....{..Y0.<........3....`>.l}^.....QbW....n..N.q+KX0.X..yr.,..'.....b.1.8..F. .....av........A(......%e....Cq..e.1x.....r.d.......='*-bw.o.h#.....K.".{i9...#..:9R.x..'R./.B....x2......B.!....n....K}K.#zu..C.|U.l.....6.3...........%[...Qg...kT@S.%.a..6.......(H..f<6....f..a.......G".x....).V..zi..IJ......<...I.06.;...:W..L......o...#|.L.m...;.F.M.......J<...a}.r...E.......M.L...H...j@.}..sK..UmZ....!^.>L>M...J.*.!..q.......[@@%f........iO...v......../...hfe.oT...l}...]../..........T...c.iL..!V....b..O. ".....|s...*....QL..z.M#...!..`..c.-UX..I....V.X....f....Es.V.~..aI...J"......"v..y.}}.0..:.{.[tY....^....o....)x9.4h.:.[.$..f.'
I0331 14:44:56.278818486   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0331 14:44:56.278870650   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0331 14:44:56.279022035   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client read_server_fin  - !!!!!!
I0331 14:44:56.279034865   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_end_of_ear  - !!!!!!
I0331 14:44:56.279036035   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_client_enc  - !!!!!!
I0331 14:44:56.279037133   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client send_client_cer  - !!!!!!
I0331 14:44:56.279038195   86276 ssl_transport_security.cc:227]                        LOOP - TLS 1.3 client complete_second  - !!!!!!
I0331 14:44:56.279052027   86276 ssl_transport_security.cc:227]                        LOOP -            TLS 1.3 client done  - !!!!!!
I0331 14:44:56.279053767   86276 ssl_transport_security.cc:227]                        LOOP - TLS client finish_client_hands  - !!!!!!
I0331 14:44:56.279056923   86276 ssl_transport_security.cc:227]                        LOOP -                TLS client done  - !!!!!!
I0331 14:44:56.279058108   86276 ssl_transport_security.cc:227]              HANDSHAKE DONE -                TLS client done  - !!!!!!
I0331 14:44:56.279062445   86276 tcp_posix.cc:1823]                    WRITE 0x2019e60 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.279064745   86276 tcp_posix.cc:1827]                    WRITE DATA: 14 03 03 00 01 01 17 03 03 00 45 d7 26 8c 3c e7 2c 89 1d bd e9 08 1c df 59 ce e7 9e 53 f1 f9 24 2a f3 ad 6e 8e f0 32 2c 11 de 9b 2d 5e 3e ee f5 96 1d 30 4f b6 a5 dd 25 d1 f9 be 00 be 31 5a 3f 88 d1 70 9e 47 8f 30 b6 8e bb d0 1b 15 fb d3 07 '..........E.&.<.,.......Y...S..$*..n..2,...-^>....0O...%.....1Z?..p.G.0.........'
I0331 14:44:56.279078196   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.279115866   86276 security_context.cc:271]              grpc_auth_context_add_cstring_property(ctx=0x2423a90, name=transport_security_type, value=ssl)
I0331 14:44:56.279118171   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_subject, value=CN=*.spot.robot,OU=Spot Platform Engineering,O=Boston Dynamics,C=US, value_length=67)
I0331 14:44:56.279119712   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_common_name, value=*.spot.robot, value_length=12)
I0331 14:44:56.279122243   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_pem_cert, value=-----BEGIN CERTIFICATE-----
MIIDxzCCAq+gAwIBAgIVANWnZtwkwjC8wTaBkxmLfRhJofm7MA0GCSqGSIb3DQEB
CwUAMGsxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAg
BgNVBAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxHjAcBgNVBAMMFVNwb3Qg
UGxhdGZvcm0gQ0EgMjAyMjAeFw0yMjA3MTkxNzU4NTZaFw0yNDA3MTgxNzU4NTZa
MGIxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAgBgNV
BAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxFTATBgNVBAMMDCouc3BvdC5y
b2JvdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANWpA4OqRrYoyDIQ
c4ytA9dtKoKcOUN3QZ7mQOKm1wv25pttxFFNWAQ3hSuzIAKCtMdozojCdSBuNd45
gmvGc7rajBE9pFn4mktRGOx5bjKyY78oF60PySykXoPX2vgpgY+8F/euxAG4WTLl
lJXBFviaDiVr8V+zyJhXN25aYifAS6tkursd7Ye0fBitkT3XRMfbDNEYr+0KFR/Q
PtNrrBXH3HGksEV6oKuvVvE+AR92FNzo0jpwNZ3TT+QDFgBLjcOeDFHEQalNFQow
gXxX9LUGMR2Wjewj6E3L7EUS2suini93uCxhO1KksnLJ0oyxhuw5D7DCPeEkdjW2
5Z5a3RMCAwEAAaNrMGkwHQYDVR0OBBYEFKL7G8+M2M2mbJXL3/0uzr5xRKOIMAwG
A1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADApBgNVHREEIjAgggwqLnNwb3Qu
cm9ib3SCECouYXBpLnNwb3Qucm9ib3QwDQYJKoZIhvcNAQELBQADggEBAD4Nq/LZ
kRVrOG6GtcaKr7sd2A7t8l1YOoumQBaVsVwAi96UH352I0gbw4rNuBzLOeZ7ooi/
emf9LWiXfEnXxSj4yDp4Oy74OHaRqKLcEvWpqhhQxCZ3Z86HS9dCrbZd/RZPrOBZ
hMpkbbKSdpgGvtnhJGG2RXxiZsbR9883rekvdZlsVLf+QJbK9QaAT/h9odK0oyX6
c3Q53EpDrYzHR04nENFWFKv1i5fgd/YS0PNbw+T9QdkCC2rkqQnq3j6wH4Enm13P
X1CG/iaU5l4yEFf0S2FHmj7TIwSJnqJIvQ87dG2WlSB6pIlxaEFOE6trld+IzvNZ
Ye1+2fSZVY2aZXk=
-----END CERTIFICATE-----
, value_length=1371)
I0331 14:44:56.279125541   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_subject_alternative_name, value=*.spot.robot, value_length=12)
I0331 14:44:56.279126931   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=peer_dns, value=*.spot.robot, value_length=12)
I0331 14:44:56.279128152   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_subject_alternative_name, value=*.api.spot.robot, value_length=16)
I0331 14:44:56.279129353   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=peer_dns, value=*.api.spot.robot, value_length=16)
I0331 14:44:56.279131417   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=x509_pem_cert_chain, value=-----BEGIN CERTIFICATE-----
MIIDxzCCAq+gAwIBAgIVANWnZtwkwjC8wTaBkxmLfRhJofm7MA0GCSqGSIb3DQEB
CwUAMGsxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAg
BgNVBAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxHjAcBgNVBAMMFVNwb3Qg
UGxhdGZvcm0gQ0EgMjAyMjAeFw0yMjA3MTkxNzU4NTZaFw0yNDA3MTgxNzU4NTZa
MGIxCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9Cb3N0b24gRHluYW1pY3MxIjAgBgNV
BAsMGVNwb3QgUGxhdGZvcm0gRW5naW5lZXJpbmcxFTATBgNVBAMMDCouc3BvdC5y
b2JvdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANWpA4OqRrYoyDIQ
c4ytA9dtKoKcOUN3QZ7mQOKm1wv25pttxFFNWAQ3hSuzIAKCtMdozojCdSBuNd45
gmvGc7rajBE9pFn4mktRGOx5bjKyY78oF60PySykXoPX2vgpgY+8F/euxAG4WTLl
lJXBFviaDiVr8V+zyJhXN25aYifAS6tkursd7Ye0fBitkT3XRMfbDNEYr+0KFR/Q
PtNrrBXH3HGksEV6oKuvVvE+AR92FNzo0jpwNZ3TT+QDFgBLjcOeDFHEQalNFQow
gXxX9LUGMR2Wjewj6E3L7EUS2suini93uCxhO1KksnLJ0oyxhuw5D7DCPeEkdjW2
5Z5a3RMCAwEAAaNrMGkwHQYDVR0OBBYEFKL7G8+M2M2mbJXL3/0uzr5xRKOIMAwG
A1UdEwEB/wQCMAAwDwYDVR0PAQH/BAUDAwegADApBgNVHREEIjAgggwqLnNwb3Qu
cm9ib3SCECouYXBpLnNwb3Qucm9ib3QwDQYJKoZIhvcNAQELBQADggEBAD4Nq/LZ
kRVrOG6GtcaKr7sd2A7t8l1YOoumQBaVsVwAi96UH352I0gbw4rNuBzLOeZ7ooi/
emf9LWiXfEnXxSj4yDp4Oy74OHaRqKLcEvWpqhhQxCZ3Z86HS9dCrbZd/RZPrOBZ
hMpkbbKSdpgGvtnhJGG2RXxiZsbR9883rekvdZlsVLf+QJbK9QaAT/h9odK0oyX6
c3Q53EpDrYzHR04nENFWFKv1i5fgd/YS0PNbw+T9QdkCC2rkqQnq3j6wH4Enm13P
X1CG/iaU5l4yEFf0S2FHmj7TIwSJnqJIvQ87dG2WlSB6pIlxaEFOE6trld+IzvNZ
Ye1+2fSZVY2aZXk=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEXTCCAkWgAwIBAgIMAQzHwwo8aWal9WfkMA0GCSqGSIb3DQEBCwUAMEkxCzAJ
BgNVBAYTAlVTMRgwFgYDVQQKEw9Cb3N0b24gRHluYW1pY3MxIDAeBgNVBAMTF0Jv
c3RvbiBEeW5hbWljcyBSb290IENBMB4XDTIxMDYwMTAwMDAwMFoXDTI5MDUwMTAw
MDAwMFowazELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0Jvc3RvbiBEeW5hbWljczEi
MCAGA1UECwwZU3BvdCBQbGF0Zm9ybSBFbmdpbmVlcmluZzEeMBwGA1UEAwwVU3Bv
dCBQbGF0Zm9ybSBDQSAyMDIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAve3NgwN9PDl1j0jX1sJxZujG4WAyYw3xhvXZ5NBZcYA8vbQ3jPyUZDbc77MJ
xAPRnSRLpYnpJdcudjjeHOcR1qyi8pc9kXqU+GGH5kwuMp8Cb8BQ4bJhrHDiQ0pP
hMI1FdWATsLxJHPA+ZDqZYBo/HJHupuVdhpkngUyDLV5SfS0HRWEJPRqfDHbW/YS
fGk23qbcmTpWMf2GSnFdOJaxx2izqbi71iaQM8J+TSuyVOiwUCdZWH8YIrGD62ia
Ud8lrc1JIzHUR8n8ljx/cyU6lLMEfOAgAnnq8ZIj16suumd2hFGQmIzVuBBjhZr6
e+RfSGLPNiFuvDQ12e/RJH/KpwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAYYwDwYD
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAi9oFBxAatB6AcYH9w3t2
zUqt9g/mNVXZqYT/GaIyu5eiXFebw1bHuD0LJEph/uyNPpiduDPiBr5ogob98pgN
dWSd+hX91Chnf3YG0kelmT2aXu3B+DDtriSXwTn3PvEcO7Hgboxepqb05sPs6In4
OMzdScXbsak2oF8M3bOuMJfHdmRdUaHfqtRwLK0vxc3LbM3uJOy8C3SEEB3g0hXH
McEX9haVZOMl9P9imwoBDF0OX5Ixt2tTa53ttb2OWgDG8mL4Q2syXrr68XzhjCtr
/7YQ7WKD4RlvnMQd82JsfSKqPUzdWVwjdjjI2wYYgp6EmGXxgvAQ7bLdQfl6oQWv
V+hoSdpukVbamGJ13moc04mNc5pJlc8qpbsr4mudLbtNWwVWLwGsWnpVF/4Po+Np
pzf5c9JCZK1+1xClLxkU/4f+D568Gvn4kU7SBafc7/ljxekRRf1Pb7nwPDCa4Fpv
kNBDugRuaVMYvUlU8hhJpiI+gSX86WhfQkii6EbfQAIHzcnhnuFVNfs/x6wzq2in
yQSF3E6kAMqk25EMzze1tgKrhFdNhcJy8dvSzrp5dpjf0S7nEacAIq3V0vPmBa1a
CsdICXks1TTw/GyXl4G8GKzFP+PMSTjIK6kWv6SExyQj1SVWkZoddJv3tNIRFeDg
qb5rvVEiCpB4/fWcNlxqIWY=
-----END CERTIFICATE-----
, value_length=2945)
I0331 14:44:56.279137717   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=security_level, value=TSI_PRIVACY_AND_INTEGRITY, value_length=25)
I0331 14:44:56.279139069   86276 security_context.cc:250]              grpc_auth_context_add_property(ctx=0x2423a90, name=ssl_session_reused, value=false, value_length=5)
I0331 14:44:56.279140597   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x2423a90, name=x509_subject_alternative_name)
I0331 14:44:56.279141729   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7640)
I0331 14:44:56.279142801   86276 security_context.cc:156]              grpc_auth_context_set_peer_identity_property_name(ctx=0x2423a90, name=x509_subject_alternative_name)
I0331 14:44:56.279162638   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x2423a90, name=x509_pem_cert)
I0331 14:44:56.279163778   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7860)
I0331 14:44:56.279172535   86276 handshaker.cc:92]                     handshake_manager 0x1af5c10: error=OK shutdown=0 index=3, args={endpoint=0x25cc160, args={grpc.auth_context=0x2423a90, grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=api.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1c64590, grpc.internal.channelz_security=0x25bc010, grpc.internal.event_engine=0x2054cf0, grpc.internal.security_connector=0x2509880, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=api.spot.robot}, read_buffer=0x25ab000 (length=0), exit_early=0}
I0331 14:44:56.279174944   86276 handshaker.cc:124]                    handshake_manager 0x1af5c10: handshaking complete -- scheduling on_handshake_done with error=OK
I0331 14:44:56.279176732   86276 timer_generic.cc:443]                 TIMER 0x1af5c78: CANCEL pending=true
I0331 14:44:56.279179723   86276 init.cc:147]                          grpc_init(void)
I0331 14:44:56.279190819   86276 timer_generic.cc:342]                 TIMER 0x25d6a60: SET 2147485264 now 1617 call 0x25d69e0[0x7f3f081efb70]
I0331 14:44:56.279192259   86276 timer_generic.cc:378]                   .. add to shard 6 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.279195779   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL]
I0331 14:44:56.279197409   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state WRITING -> WRITING+MORE [INITIAL_WRITE]
I0331 14:44:56.279199283   86276 timer_generic.cc:342]                 TIMER 0x1b88b20: SET 21599 now 1617 call 0x1b88b58[0x7f3f081e6900]
I0331 14:44:56.279200640   86276 timer_generic.cc:378]                   .. add to shard 21 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.279205050   86276 timer_generic.cc:443]                 TIMER 0x25d6a60: CANCEL pending=true
I0331 14:44:56.279206827   86276 tcp_posix.cc:669]                     TCP:0x2019e60 notify_on_read
I0331 14:44:56.279208779   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.279210113   86276 timer_generic.cc:342]                 TIMER 0x25d6a60: SET 2147485264 now 1617 call 0x25d69e0[0x7f3f081efb70]
I0331 14:44:56.279211230   86276 timer_generic.cc:378]                   .. add to shard 6 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.279214681   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state WRITING+MORE -> WRITING [begin write in current thread]
I0331 14:44:56.279216994   86276 secure_endpoint.cc:401]               WRITE 0x25cc160: 50 52 49 20 2a 20 48 54 54 50 2f 32 2e 30 0d 0a 0d 0a 53 4d 0d 0a 0d 0a 'PRI * HTTP/2.0....SM....'
I0331 14:44:56.279218756   86276 secure_endpoint.cc:401]               WRITE 0x25cc160: 00 00 24 04 00 00 00 00 00 00 02 00 00 00 00 00 03 00 00 00 00 00 04 00 3f ff ff 00 05 00 3f ff ff 00 06 00 00 20 00 fe 03 00 00 00 01 '..$.....................?.....?...... .......'
I0331 14:44:56.279220358   86276 secure_endpoint.cc:401]               WRITE 0x25cc160: 00 00 04 08 00 00 00 00 00 00 3f 00 00 '..........?..'
I0331 14:44:56.279223569   86276 tcp_posix.cc:1823]                    WRITE 0x2019e60 (peer=ipv4:192.168.8.9:443)
D0331 14:44:56.279225615   86276 tcp_posix.cc:1827]                    WRITE DATA: 17 03 03 00 63 6c e6 f0 26 5b 69 71 84 0e 60 60 c0 dc b4 1d c9 34 3c b4 fd a6 ec 52 14 d3 d4 6e 69 0c 45 45 1d 03 79 36 fc 9d 68 85 e5 38 24 18 85 cf 60 d3 84 25 2c fb 5e 48 6a d1 e6 74 68 58 7e 98 b6 93 16 62 79 19 26 9d 6e ce 9d 1c 9c 1f 49 d4 30 1e 6c a6 38 b3 55 c3 33 95 c1 f7 92 d4 0f 52 19 c8 42 0e a6 b6 '....cl..&[iq..``.....4<....R...ni.EE..y6..h..8$...`..%,.^Hj..thX~....by.&.n.....I.0.l.8.U.3......R..B...'
I0331 14:44:56.279230967   86276 tcp_posix.cc:1871]                    write: OK
I0331 14:44:56.279232457   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state WRITING -> IDLE [finish writing]
I0331 14:44:56.290369200   86276 tcp_posix.cc:1112]                    TCP:0x2019e60 got_read: OK
I0331 14:44:56.290382341   86276 tcp_posix.cc:874]                     TCP:0x2019e60 do_read
I0331 14:44:56.290404171   86276 tcp_posix.cc:810]                     TCP:0x2019e60 call_cb 0x25cc1a8 0x7f3f0840e980:0x25cc160
I0331 14:44:56.290405953   86276 tcp_posix.cc:812]                     READ 0x2019e60 (peer=ipv4:192.168.8.9:443) error=OK
D0331 14:44:56.290411138   86276 tcp_posix.cc:818]                     READ DATA: 17 03 03 00 4a 1b b2 4b 39 4a 3d 89 99 4f d1 82 76 ef 7d cd 86 57 26 b4 aa e3 1d 40 65 a3 f8 c5 21 e3 af 75 6a 20 cd ae 39 f8 e5 92 f1 d8 ab 00 a0 c6 b4 62 61 62 65 80 f6 f3 6e 2c ab 48 95 4f 38 eb 2a b1 10 e5 e7 06 c9 b7 8f e2 3f 53 e1 17 03 03 00 4a fd 37 49 01 51 16 d6 a3 25 4b 31 12 cb c6 ff 9e ad ef a3 4c 38 66 fb 7f 74 25 f9 bc 2d 6e bf eb 21 48 f3 9f 14 98 79 5d 4e 6d 01 11 09 fc 48 ea 5f ad 93 7a ec bb a4 98 3c 65 ca 34 84 dd 80 10 58 9a 7b 45 b5 ce 17 c9 26 3b 17 03 03 00 42 60 79 01 ba 40 98 50 de e7 27 ec 88 d9 0d 5d 6d f3 24 5f be cd c5 9e 3b d3 0e 72 a9 d3 8a 16 a3 b7 ae 18 57 85 e3 da 1f e5 c6 c2 4b 56 b1 56 ad 0c b0 8c f6 e0 68 ef 9d b2 54 cd db 87 73 2a b4 90 f5 '....J..K9J=..O..v.}..W&....@e...!..uj ..9..........babe...n,.H.O8.*.........?S.....J.7I.Q...%K1........L8f..t%..-n..!H....y]Nm....H._..z....<e.4....X.{E....&;....B`y..@.P..'....]m.$_....;..r........W.......KV.V......h...T...s*...'
I0331 14:44:56.290441364   86276 secure_endpoint.cc:244]               READ 0x25cc160: 00 00 12 04 00 00 00 00 00 00 03 00 00 00 80 00 04 00 01 00 00 00 05 00 ff ff ff 00 00 04 08 00 00 00 00 00 7f ff 00 00 00 00 00 04 01 00 00 00 00 '.................................................'
I0331 14:44:56.290447312   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting MAX_CONCURRENT_STREAMS = 128
I0331 14:44:56.290448837   86276 frame_settings.cc:223]                0x25d5e00[cli] adding 1 for initial_window change
I0331 14:44:56.290449818   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting INITIAL_WINDOW_SIZE = 65536
I0331 14:44:56.290450985   86276 frame_settings.cc:230]                CHTTP2:CLI:ipv4:192.168.8.9:443: got setting MAX_FRAME_SIZE = 16777215
I0331 14:44:56.290453187   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state IDLE -> WRITING [SETTINGS_ACK]
I0331 14:44:56.290456419   86276 timer_generic.cc:443]                 TIMER 0x25d6a60: CANCEL pending=true
I0331 14:44:56.290458707   86276 tcp_posix.cc:669]                     TCP:0x2019e60 notify_on_read
I0331 14:44:56.290460880   86276 timer_generic.cc:443]                 TIMER 0x1b88b20: CANCEL pending=true
I0331 14:44:56.290474117   86276 channel_stack.cc:114]                 CHANNEL_STACK: init subchannel
I0331 14:44:56.290476032   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter authority
I0331 14:44:56.290477122   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter client-auth-filter
I0331 14:44:56.290478125   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_size
I0331 14:44:56.290478886   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter http-client
I0331 14:44:56.290479734   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_decompress
I0331 14:44:56.290480496   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter message_compress
I0331 14:44:56.290481267   86276 channel_stack.cc:116]                 CHANNEL_STACK:   filter connected
D0331 14:44:56.290499431   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:21
D0331 14:44:56.290511282   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:22
D0331 14:44:56.290533040   86276 default_event_engine.cc:69]           (event_engine) DefaultEventEngine::0x15a3250 use_count:23
I0331 14:44:56.290561708   86276 subchannel.cc:959]                    subchannel 0x25ab340 {address=ipv4:192.168.8.9:443, args={grpc.client_channel_factory=0x1ad7e80, grpc.default_authority=api.spot.robot, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x1c64590, grpc.internal.event_engine=0x1e67820, grpc.internal.security_connector=0x2509880, grpc.internal.subchannel_pool=0x18c5070, grpc.max_receive_message_length=104857600, grpc.max_send_message_length=104857600, grpc.primary_user_agent=grpc-python/1.51.3, grpc.resource_quota=0x1f7a4a0, grpc.server_uri=dns:///192.168.8.9:443, grpc.ssl_target_name_override=api.spot.robot}}: new connected subchannel at 0x25d6f60
I0331 14:44:56.290567683   86276 chttp2_transport.cc:1763]             perform_transport_op[t=0x25d5e00]:  START_CONNECTIVITY_WATCH:watcher=0x24a4270:from=READY BIND_POLLSET_SET
I0331 14:44:56.290573507   86276 client_channel.cc:562]                chand=0x25a6650: connectivity change for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340; hopping into work_serializer
I0331 14:44:56.290575607   86276 client_channel.cc:594]                chand=0x25a6650: processing connectivity change in work serializer for subchannel wrapper 0x1e4bdb0 subchannel 0x25ab340 watcher=0x2530140
I0331 14:44:56.290578575   86276 subchannel_list.h:247]                [PickFirstSubchannelList 0x1d79080] subchannel list 0x1ae50b0 index 0 of 1 (subchannel 0x1e4bdb0): connectivity changed: old_state=CONNECTING, new_state=READY, status=OK, shutting_down=0, pending_watcher=0x2530140
I0331 14:44:56.290580521   86276 pick_first.cc:499]                    Pick First 0x1d79080 selected subchannel 0x1e4bdb0
I0331 14:44:56.290582532   86276 client_channel.cc:895]                chand=0x25a6650: update: state=READY status=(OK) picker=0x25baea0
I0331 14:44:56.290584824   86276 connectivity_state.cc:160]            ConnectivityStateTracker client_channel[0x25a6708]: CONNECTING -> READY (helper, OK)
I0331 14:44:56.290587479   86276 client_channel.cc:3108]               chand=0x25a6650 lb_call=0x25c6330: LB pick succeeded: subchannel=0x1e4bdb0
I0331 14:44:56.290588637   86276 client_channel.cc:3028]               chand=0x25a6650 lb_call=0x25c6330: removing from queued picks list
I0331 14:44:56.290598685   86276 client_channel.cc:2963]               chand=0x25a6650 lb_call=0x25c6330: create subchannel_call=0x25d7420: error=OK
I0331 14:44:56.290600209   86276 client_channel.cc:2684]               chand=0x25a6650 lb_call=0x25c6330: starting 1 pending batches on subchannel_call=0x25d7420
I0331 14:44:56.290607424   86276 subchannel.cc:180]                    OP[authority:0x25d74a0]:  SEND_INITIAL_METADATA{:path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.290610674   86276 promise_based_filter.cc:1135]         CLI[authority:0x025d74a0] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={}
D0331 14:44:56.290613254   86276 promise_based_filter.cc:1403]         CLI[authority:0x025d74a0] ClientCallData.MakeNextPromise has_promise=false sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.290615272   86276 promise_based_filter.cc:819]          CLI[authority:0x025d74a0] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.290617088   86276 promise_based_filter.cc:1464]         CLI[authority:0x025d74a0] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.290618427   86276 promise_based_filter.cc:881]          CLI[authority:0x025d74a0] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.290622085   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{:authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.290625614   86276 channel_stack.cc:256]                 OP[client-auth-filter:0x25d74b8]:  SEND_INITIAL_METADATA{:authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.290627252   86276 promise_based_filter.cc:1135]         CLI[client-auth-filter:0x025d74b8] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={}
I0331 14:44:56.290629260   86276 security_context.cc:210]              grpc_auth_context_find_properties_by_name(ctx=0x2423a90, name=security_level)
I0331 14:44:56.290630721   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e71d0)
I0331 14:44:56.290633572   86276 plugin_credentials.cc:159]            plugin_credentials[0x1acfc60]: request 0x1fba140: invoking plugin
I0331 14:44:56.301108320   86308 plugin_credentials.cc:129]            plugin_credentials[0x1acfc60]: request 0x1fba140: plugin returned asynchronously
I0331 14:44:56.301118225   86276 plugin_credentials.cc:177]            plugin_credentials[0x1acfc60]: request 0x1fba140: plugin will return asynchronously
I0331 14:44:56.301148798   86276 security_context.cc:176]              grpc_auth_context_property_iterator(ctx=0x2423a90)
I0331 14:44:56.301152040   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301153775   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301155191   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301156558   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301157839   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301159204   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301160606   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301161929   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301163237   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301164562   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301165869   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301167173   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301168810   86276 security_context.cc:176]              grpc_auth_context_property_iterator(ctx=0x2423a90)
I0331 14:44:56.301170182   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301172433   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301173951   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301175364   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301176787   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301178236   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301179743   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301181215   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301182634   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301184068   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301185420   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
I0331 14:44:56.301186829   86276 security_context.cc:184]              grpc_auth_property_iterator_next(it=0x7ffdbb2e7200)
D0331 14:44:56.301196536   86276 promise_based_filter.cc:819]          CLI[client-auth-filter:0x025d74b8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.301205995   86276 promise_based_filter.cc:1403]         CLI[client-auth-filter:0x025d74b8] ClientCallData.MakeNextPromise has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.301209826   86276 promise_based_filter.cc:1464]         CLI[client-auth-filter:0x025d74b8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata}
D0331 14:44:56.301214920   86276 promise_based_filter.cc:881]          CLI[client-auth-filter:0x025d74b8] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.301237543   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{:authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301249474   86276 channel_stack.cc:256]                 OP[message_size:0x25d74d0]:  SEND_INITIAL_METADATA{:authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301259116   86276 channel_stack.cc:256]                 OP[http-client:0x25d74e8]:  SEND_INITIAL_METADATA{:authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.301266122   86276 promise_based_filter.cc:1135]         CLI[http-client:0x025d74e8] StartBatch has_promise=false sent_initial_state=INITIAL recv_trailing_state=INITIAL captured={} recv_initial_metadata=INITIAL
D0331 14:44:56.301270070   86276 promise_based_filter.cc:1403]         CLI[http-client:0x025d74e8] ClientCallData.MakeNextPromise has_promise=false sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_WAITING_FOR_LATCH
D0331 14:44:56.301274725   86276 promise_based_filter.cc:819]          CLI[http-client:0x025d74e8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_AND_GOT_LATCH
D0331 14:44:56.301278525   86276 promise_based_filter.cc:1464]         CLI[http-client:0x025d74e8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=QUEUED recv_trailing_state=QUEUED captured={send_initial_metadata} recv_initial_metadata=HOOKED_AND_GOT_LATCH
D0331 14:44:56.301281124   86276 promise_based_filter.cc:881]          CLI[http-client:0x025d74e8] ClientCallData.PollContext.Run: poll=<<pending>>
D0331 14:44:56.301290990   86276 promise_based_filter.cc:270]          FLUSHER:forward batch:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301301952   86276 channel_stack.cc:256]                 OP[message_decompress:0x25d7500]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301312879   86276 channel_stack.cc:256]                 OP[message_compress:0x25d7518]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301324247   86276 channel_stack.cc:256]                 OP[connected:0x25d7530]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
I0331 14:44:56.301336396   86276 chttp2_transport.cc:1458]             perform_stream_op[s=0x25d7bf0; op=0x249d168]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA
D0331 14:44:56.301344169   86276 promise_based_filter.cc:819]          CLI[client-auth-filter:0x025d74b8] ClientCallData.PollContext.Run has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={}
D0331 14:44:56.301346684   86276 promise_based_filter.cc:1464]         CLI[client-auth-filter:0x025d74b8] ClientCallData.PollTrailingMetadata has_promise=true sent_initial_state=FORWARDED recv_trailing_state=FORWARDED captured={}
D0331 14:44:56.301348842   86276 promise_based_filter.cc:881]          CLI[client-auth-filter:0x025d74b8] ClientCallData.PollContext.Run: poll=<<pending>>
I0331 14:44:56.301351646   86276 chttp2_transport.cc:2617]             ipv4:192.168.8.9:443: Keepalive ping cancelled. Resetting timer.
I0331 14:44:56.301355160   86276 timer_generic.cc:342]                 TIMER 0x25d6a60: SET 2147485276 now 1629 call 0x25d69e0[0x7f3f081efb70]
I0331 14:44:56.301358035   86276 timer_generic.cc:378]                   .. add to shard 6 with queue_deadline_cap=2404 => is_first_timer=false
I0331 14:44:56.301362134   86276 connectivity_state.cc:123]            ConnectivityStateTracker client_transport[0x25d60d0]: add watcher 0x24a4270
I0331 14:44:56.301371083   86276 chttp2_transport.cc:1196]             perform_stream_op_locked[s=0x25d7bf0; op=0x249d168]:  SEND_INITIAL_METADATA{user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2), :authority: api.spot.robot, :path: /bosdyn.api.DirectoryService/ListServiceEntries, grpc-timeout: 30S, WaitForReady: false, te: trailers, content-type: application/grpc, :scheme: https, grpc-accept-encoding: identity, deflate, gzip, :method: POST, authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw} SEND_MESSAGE:flags=0x00000000:len=56 SEND_TRAILING_METADATA{} RECV_INITIAL_METADATA RECV_MESSAGE RECV_TRAILING_METADATA; on_complete = 0x25d79f8
I0331 14:44:56.301377080   86276 chttp2_transport.cc:1176]             --metadata--
I0331 14:44:56.301380044   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2)
I0331 14:44:56.301382359   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::authority: api.spot.robot
I0331 14:44:56.301384093   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::path: /bosdyn.api.DirectoryService/ListServiceEntries
I0331 14:44:56.301386266   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:grpc-timeout: 30S
I0331 14:44:56.301388239   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:WaitForReady: false
I0331 14:44:56.301390026   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:te: trailers
I0331 14:44:56.301391709   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:content-type: application/grpc
I0331 14:44:56.301393453   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::scheme: https
I0331 14:44:56.301394994   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:grpc-accept-encoding: identity, deflate, gzip
I0331 14:44:56.301396918   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::method: POST
I0331 14:44:56.301399346   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpYXQiOjE2ODAyODg1MDIsImlzcyI6InNwb3QtQkQtMTEyNDAwMDEiLCJleHAiOjE2ODAzMzE3MDIsImp0aSI6InNwb3QtQkQtMTEyNDAwMDExNzYwIiwibmJmIjoxNjgwMjg4NTAyLCJ0eXAiOiJKV1QiLCJ1c2VyIjoicmFkZWNvIiwibGV2ZWwiOjAsInBlciI6WyJkb2NraW5nIiwic3BvdC1jYW0tbWVkaWEtbG9nIiwiaW1hZ2UiLCJwb3dlciIsImF1dG93YWxrLXNlcnZpY2UiLCJyb2JvdC1pZCIsInNwb3QtY2FtLWxpZ2h0aW5nIiwiYXV0by1yZXR1cm4iLCJsZWFzZSIsIm1hbmlwdWxhdGlvbiIsInNwb3QtY2FtLXBvd2VyIiwicm9ib3QtY29tbWFuZCIsInRpbWUtc3luYyIsImRpcmVjdG9yeSIsImRhdGEtYnVmZmVyIiwiZGlyZWN0b3J5LXJlZ2lzdHJhdGlvbiIsImxvY2FsLWdyaWQtc2VydmljZSIsInJlY29yZGluZy1zZXJ2aWNlIiwibG9nLWFubm90YXRpb24iLCJzcG90LWNhbS12ZXJzaW9uIiwiYXJtLXN1cmZhY2UtY29udGFjdCIsIndvcmxkLW9iamVjdHMiLCJhdXRoIiwiZmF1bHQiLCJzcG90LWNhbS1wdHoiLCJncmFwaC1uYXYtc2VydmljZSIsImxpY2Vuc2UiLCJyb2JvdC1zdGF0ZSIsInNwb3QtY2FtLWF1ZGlvIiwic3BvdC1jYW0tc3RyZWFtLXF1YWxpdHkiLCJlc3RvcCIsInNwb3QtY2FtLWNvbXBvc2l0b3IiLCJwYXlsb2FkIiwic3BvdC1jaGVjayIsInNlbnNvci1wb2ludGluZy1zZXJ2aWNlIiwic3BvdC1jYW0tbmV0d29yayIsImRhdGEiLCJkb29yIiwicGF5bG9hZC1yZWdpc3RyYXRpb24iLCJyb2JvdC1taXNzaW9uIiwic3BvdC1jYW0taGVhbHRoIiwiZ3JpcHBlci1jYW1lcmEtcGFyYW0iXX0.xoOYVBr-ZANU2VhzldnjELtcBypJPfMhg-1rcShYE4gm4zzC4yOuEmJdFnsC7313IgBuQWsfv9Pg9G6d3q0rAw
I0331 14:44:56.301404739   86276 chttp2_transport.cc:1176]             --metadata--
I0331 14:44:56.301407952   86276 stream_lists.cc:127]                  0x25d5e00[0][cli]: add to waiting_for_concurrency
I0331 14:44:56.301410110   86276 stream_lists.cc:73]                   0x25d5e00[0][cli]: pop from waiting_for_concurrency
I0331 14:44:56.301411938   86276 chttp2_transport.cc:1055]             HTTP:CLI: Transport 0x25d5e00 allocating new grpc_chttp2_stream 0x25d7bf0 to id 1
I0331 14:44:56.301415376   86276 stream_lists.cc:127]                  0x25d5e00[1][cli]: add to writable
I0331 14:44:56.301418411   86276 chttp2_transport.cc:756]              W:0x25d5e00 CLIENT [ipv4:192.168.8.9:443] state WRITING -> WRITING+MORE [START_NEW_STREAM]
I0331 14:44:56.301423770   86276 chttp2_transport.cc:1128]             complete_closure_step: t=0x25d5e00 0x25d79f8 refs=3 flags=0x0001 desc=op->on_complete err=OK write_state=WRITING+MORE
I0331 14:44:56.301427913   86276 stream_lists.cc:73]                   0x25d5e00[1][cli]: pop from writable
I0331 14:44:56.301430099   86276 writing.cc:436]                       W:0x25d5e00 CLIENT[1] im-(sent,send)=(0,1)
....
LucioFranco commented 1 year ago
    HTTP:0:HDR:CLI:user-agent: grpc-python/1.51.3 grpc-c/29.0.0 (linux; chttp2)
I0331 14:44:56.091117839   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::authority: auth.spot.robot
I0331 14:44:56.091118783   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::path: /bosdyn.api.AuthService/GetAuthToken
I0331 14:44:56.091123197   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:WaitForReady: false
I0331 14:44:56.091124288   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:te: trailers
I0331 14:44:56.091125265   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:content-type: application/grpc
I0331 14:44:56.091126167   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::scheme: https
I0331 14:44:56.091127072   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:grpc-accept-encoding: identity, deflate, gzip
I0331 14:44:56.091128261   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI::method: POST
I0331 14:44:56.091129859   86276 chttp2_transport.cc:1180]             HTTP:0:HDR:CLI:authorization: Bearer None

So these are the headers being sent by the python client. I would try to replicate these exactly.

You can use https://github.com/hyperium/tonic/blob/master/examples/src/tower/client.rs#L79 this line here from this example to inject headers. Make sure to include all of them, except change grpc-accept-encoding: identity and see if that gets you any further.

7Towers commented 1 year ago

@LucioFranco We're close. I was working with a clone of that sample yesterday, also trying to inject header data. I'll paste what I did. The app panics when I add ":path" and ":authority" keys, I assume because of the of the ":" character?

It's an invalid header name, panics here:

thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/http-0.2.9/src/header/name.rs:1270:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/core/src/panicking.rs:64:14
   2: core::panicking::panic_bounds_check
             at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/core/src/panicking.rs:159:5
   3: http::header::name::HeaderName::from_static
             at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/http-0.2.9/src/header/name.rs:1270:13
   4: tonic::metadata::key::MetadataKey<VE>::from_static
             at ./tonic/tonic/src/metadata/key.rs:103:20
   5: <&str as tonic::metadata::map::into_metadata_key::Sealed<VE>>::append
             at ./tonic/tonic/src/metadata/map.rs:2092:23
   6: tonic::metadata::map::MetadataMap::append
             at ./tonic/tonic/src/metadata/map.rs:1096:9
   7: <main::libs::spot::robot_id::service::AuthSvc as tower_service::Service<http::request::Request<http_body::combinators::box_body::UnsyncBoxBody<bytes::bytes::Bytes,tonic::status::Status>>>>::call::{{closure}}
             at ./spot_lib/src/libs/spot/robot_id.rs:65:17

http-0.2.9/src/header/name.rs:1270:13 looks like:

pub const fn from_static(src: &'static str) -> HeaderName {
        let name_bytes = src.as_bytes();
        if let Some(standard) = StandardHeader::from_bytes(name_bytes) {
            return HeaderName{
                inner: Repr::Standard(standard),
            };
        }

        if name_bytes.len() == 0 || name_bytes.len() > super::MAX_HEADER_NAME_LEN || {
            let mut i = 0;
            loop {
                if i >= name_bytes.len() {
                    break false;
                } else if HEADER_CHARS_H2[name_bytes[i] as usize] == 0 {
                    break true;
                }
                i += 1;
            }
        } {
            ([] as [u8; 0])[0]; // Invalid header name
        }

I assume it's something to do with the MetadaKey, the key in the header map?

If I pass "path", and omit the ":", it doesn't panic, but I still receive the same 404 from the server.

Perhaps I'm going about this incorrectly...

/// Converts a static string to a `MetadataKey`.
    ///
    /// This function panics when the static string is a invalid metadata key.
    ///
    /// This function requires the static string to only contain lowercase
    /// characters, numerals and symbols, as per the HTTP/2.0 specification
    /// and header names internal representation within this library.

My implementation:

Box::pin(async move {
                // Do extra async work here...
                let mut mod_req = req.into_request();
                mod_req.metadata_mut().append(":path", "bosdyn.api.RobotIdService/GetRobotId".parse().unwrap());
                mod_req.metadata_mut().append(":authority", "id.spot.robot".parse().unwrap());
                mod_req.metadata_mut().append("content-type", "application/grpc".parse().unwrap());

                let response = inner.call(mod_req.into_inner()).await?;

                Ok(response)
            })

Following the examples from map.rs

# Examples
    ///
    /// ```
    /// # use tonic::metadata::*;
    /// let mut map = MetadataMap::new();
    /// assert!(map.insert("x-host", "world".parse().unwrap()).is_none());
    /// assert!(!map.is_empty());
    ///
    /// map.append("x-host", "earth".parse().unwrap());
    ///
    /// let values = map.get_all("x-host");
    /// let mut i = values.iter();
    /// assert_eq!("world", *i.next().unwrap());
    /// assert_eq!("earth", *i.next().unwrap());
LucioFranco commented 1 year ago

I would use the http types directly rather than the tonic ones. Since, at the tower level tonic communicates using the http types anyways. The metadata just gets converted into HeaderMap.

7Towers commented 1 year ago

@LucioFranco Do you mind clarifying?

If you mean the constant types provided by http, like

http::header::CONTENT_TYPE

They don't have constants for :auth or :path.

I checked those already. :/

LucioFranco commented 1 year ago

The ones leading with : are set via hyper for you, you only need to ensure the ones that don't lead with : are set.

7Towers commented 1 year ago

Ok, well, I may be at the end of this road. Of the metadata used in the other frameworks (referenced above).

Hyper appends:

:authority: auth.spot.robot
:path: /bosdyn.api.AuthService/GetAuthToken
:method: POST
:scheme: https

The next two are added elsewhere, not by me, but when I intercept the request in a service builder, I see te and content-type are present.

te: trailers
content-type: application/grpc
 { metadata: MetadataMap { headers: {"te": "trailers", "content-type": "application/grpc"} }, message: (), extensions: Extensions }

I'm assuming tonic handles the authorization, because TLS doesn't appear to be an issue. The client and server greet each other. So this line is taken care of.

authorization: Bearer None

That leaves these for me to add:

WaitForReady: false

Has capital letters, so I'm not able to add that (panics), and there aren't any constants for it.

if I manually append:

grpc-accept-encoding: identity

I still receive the same 404, unfortunately.

LucioFranco commented 1 year ago

Yeah, that is very very odd, I am not really sure what is going on. The only thing I can imagine would be it wants the additional accept encodings? Maybe the proxy is just being weird about what it wants to accept/route for. That or the input request in rust is different and somehow causing the server to return a 404 which isn't a normal grpc response.

7Towers commented 1 year ago

Thanks @LucioFranco.

I haven't given up, yet. When I print the request object I'm modifying in the service builder, I see this:

Request { metadata: MetadataMap { headers: {"grpc-accept-encoding": "identity, deflate, gzip"} }, message: Request { method: POST, uri: https://id.spot.robot/bosdyn.api.RobotIdService/GetRobotId, version: HTTP/2.0, headers: {"te": "trailers", "content-type": "application/grpc"}, body: UnsyncBoxBody }, extensions: Extensions }

I've modified the metadata map headers object, but the message request headers are a separate property. I also don't see :path or :authority at this point in the sequence, either. Where can I trace or print the headers before they're sent to the server? I don't see them in the trace logs anywhere, and want to double check they're being sent correctly.

G

LucioFranco commented 1 year ago

https://github.com/hyperium/tonic/blob/master/tonic/src/client/grpc.rs#L420 this is the function and the line before it gets sent to hyper. Here you can log the http request type which is the raw type that is sent to hyper.

7Towers commented 1 year ago

Thanks @LucioFranco.

When I log the request at that line, I see this:

request: Request { method: POST, uri: https://id.spot.robot/bosdyn.api.RobotIdService/GetRobotId, version: HTTP/2.0, headers: {"te": "trailers", "content-type": "application/grpc"}, body: UnsyncBoxBody }

I don't see :path, :authority in the header. Should I?

LucioFranco commented 1 year ago

No, that should get handled at a lower layer since those are h2 specific headers its all done at a later stage. Aka the h2 crate extracts the data from the uri type you see there in your log.

7Towers commented 1 year ago

Finally figured this one out. Solution: use the origin property in Channel, and add the origin the server expects. In my case, for an id request:

    let channel  = Channel::from_static(robot_address) // robot address is something like https://192.168.8.8:443
        .origin("https://id.spot.robot".parse().unwrap()) // <- this is the critical call
        .tls_config(tls)?
        .connect().await?;

Documentation for origin is:

 /// Override the `origin`, mainly useful when you are reaching a Server/LoadBalancer
    /// which serves multiple services at the same time.
    /// It will play the role of SNI (Server Name Indication).

I saw similar 404 errors from this server when using other gRPC libraries (like Go). When the origin wasn't properly set in the TLS layer. That sent me digging.

In the case of Tonic, I wasn't manually overriding the server name correctly. Even though the IP address was correct, and the TLS domain was correct, the TLS domain wasn't transferring to the gRPC call.

This server needs something like "https://id.spot.robot:443" + "/bosdyn.api.RobotIdService/GetRobotId" (the latter is added by the framework, not the user).

For those coming from or familiar with other languages that leverage gRPC:

In gRPC go, it's handled when you load the root TLS cert from a file, through the serverNameOverride parameter. This handles cert verification and seemingly passes the same origin in the http request.

func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) {...} // in tls.go

In gRPC python, you set the grpc.ssl_target_name_override variable, and pass it to the grpc.secure_channel method. It's handled something like this:

options = [('grpc.ssl_target_name_override', "auth.spot.robot")]
channel = grpc.secure_channel(target, credentials, options=options)

In gRPC C++, it's similar to python:

    grpc::ChannelArguments args;
    args.SetSslTargetNameOverride("id.spot.robot");
    auto channel_creds = grpc::SslCredentials(options);
    return grpc::CreateCustomChannel(address, channel_creds, args);

When using Tonic, you set the domain for the TLS only (id.spot.robot, in my case), afterwards you set the origin in the channel (https://id.spot.robot, in my case).

       let tls = ClientTlsConfig::new()
        .domain_name(domain) // id.spot.robot
        .ca_certificate(server_cert);

 let channel  = Channel::from_static(robot_address)
        .origin("https://id.spot.robot".parse().unwrap())
        .tls_config(tls)?
        .connect().await?;

Issue closed, with satisfaction.

Sollimann commented 1 year ago

@7Towers That's grit!! :rocket: Great work :mechanical_arm:

So the code I initially posted should instead be (?):

use tonic::metadata::MetadataValue;
use tonic::transport::{Certificate, Channel, ClientTlsConfig};
use tonic::Request;

// Import the required generated code (replace with your actual imports)
// use your_package::auth_service_client::AuthServiceClient;
// use your_package::{GetAuthTokenRequest, RequestHeader, Timestamp};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    const ENDPOINT: &str = "https://192.168.80.3:443";

    let certs = tokio::fs::read("./integrations/spot-integration/src/resources/robot.pem").await?;

    let token = &base64::encode(b"user:spot_password").to_string();
    let basic_token = format!("Basic {}", token);
    let header_value: MetadataValue<_> = basic_token.parse()?;

    let tls_config = ClientTlsConfig::new()
        .ca_certificate(Certificate::from_pem(certs.as_slice()))
        .domain_name("auth.spot.robot");

    let channel = Channel::from_static(ENDPOINT)
        .origin("https://id.spot.robot".parse().unwrap())  //  <----- Add origin here
        .tls_config(tls_config)?
        .connect().await?;

    let system_time_epoch = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap();
    let timestamp = Timestamp {
        seconds: (system_time_epoch.as_secs() as i64),
        nanos: 0,
    };
    let auth_token_request = GetAuthTokenRequest {
        header: Some(RequestHeader {
            request_timestamp: Some(timestamp),
            client_name: "client_name".to_string(),
            disable_rpc_logging: false,
        }),
        username: "user".to_string(),
        password: "spot_password".to_string(),
        ..Default::default()
    };

    let mut client =
        AuthServiceClient::<tonic::transport::Channel>::with_interceptor(channel, |mut req: Request<()>| {
            req.metadata_mut().insert("authorization", header_value.clone());
            req.metadata_mut()
                .insert("content-type", "application/grpc+proto".parse().unwrap());

            println!("metadata: {:?}", req.metadata());
            Ok(req)
        });

    println!("{:?}", &client);
    let response = client.get_auth_token(auth_token_request).await.unwrap();

    // auth_client.get_auth_token likely returns an tonic::Status Err, won't reach these statements
    println!("Status {}", response.get_ref().status);
    println!("Token {}", response.get_ref().token);
    Ok(())
}
7Towers commented 1 year ago

@Sollimann Slight correction. If you're connecting to the auth service, it should be:

   let channel = Channel::from_static(ENDPOINT)
        .origin("https://auth.spot.robot".parse().unwrap())  //  <----- Add origin here
        .tls_config(tls_config)?
        .connect().await?;

Why? I'd refer you to the developer docs: here

Below isn't a complete list (doesn't include the id.spot.robot authority, for example). From the link, above.

$ py.exe -3 -m bosdyn.client my-spot dir list
name                        type                                      authority               tokens
----------------------------------------------------------------------------------------------------
auth                        bosdyn.api.AuthService                    auth.spot.robot
directory                   bosdyn.api.DirectoryService               api.spot.robot          user
directory-registration      bosdyn.api.DirectoryRegistrationService   api.spot.robot          user
estop                       bosdyn.api.EstopService                   estop.spot.robot        user
graph-nav-service           bosdyn.api.graph_nav.GraphNavService      graph-nav.spot.robot    user