Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gRPC + Linkerd mirroring doesn't work #3002

Open
zack-littke-smith-ai opened this issue Jan 3, 2025 · 6 comments
Open

gRPC + Linkerd mirroring doesn't work #3002

zack-littke-smith-ai opened this issue Jan 3, 2025 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@zack-littke-smith-ai
Copy link

zack-littke-smith-ai commented Jan 3, 2025

Bug Description

We have several languages and golang and c++ appear to be working basically out of the box. However while our python services start and seem to run fine, they don't see any grpc traffic forwarded.

I tried a couple different approaches, running with python ... and compiling using cython (which we leverage to improve performance) to create an executable, but both hit this same root issue. Running file on the cythonized binary gives:

ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a83e70e25eebc70926938d868e78b474efaa369c, not stripped

Couldnt find any issues like this one, curious if this pattern-matches anything you've seen before. It's curious that it only happens to python. If it helps, we're compiling / running using bazel

Steps to Reproduce

I'm hoping this matches something you've seen before - our setup is quite complicated so a reproducible example might be tricky but can do this if it would be helpful

Backtrace

No response

mirrord layer logs

There are a lot, including what i feel is relevant:

On startup

�[2m2025-01-03T00:16:46.374178Z�[0m �[35mTRACE�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m�[1mtry_new�[0m�[2m:�[0m�[1moperator_installed�[0m�[2m:�[0m �[2mmirrord_operator::client::discovery�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mfalse
�[2m2025-01-03T00:16:47.231933Z�[0m �[34mDEBUG�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m �[2mmirrord_kube::api::kubernetes�[0m�[2m:�[0m OpenShift was not detected.
�[2m2025-01-03T00:16:49.225508Z�[0m �[35mTRACE�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m�[1mcreate_agent�[0m�[1m{�[0m�[3mtarget�[0m�[2m=�[0mTargetConfig { path: Some(Pod(PodTarget { pod: "...", container: Some("...") })), namespace: Some("...") } �[3mconfig�[0m�[2m=�[0mSome(LayerConfig { accept_invalid_certificates: None, skip_processes: None, skip_build_tools: true, connect_tcp: None, operator: None, kubeconfig: None, sip_binaries: None, target: TargetConfig { path: Some(Pod(PodTarget { pod: "...", container: Some("...") })), namespace: Some("...") }, agent: AgentConfig { log_level: "info", json_log: false, namespace: Some("..."), image: AgentImageConfig("ghcr.io/metalbear-co/mirrord:3.128.0"), image_pull_policy: "IfNotPresent", image_pull_secrets: None, ttl: 1, ephemeral: false, communication_timeout: None, startup_timeout: 60, network_interface: None, flush_connections: true, disabled_capabilities: None, tolerations: None, resources: None, check_out_of_pods: true, privileged: true, nftables: false, dns: AgentDnsConfig { timeout: None, attempts: None }, labels: None, annotations: None, node_selector: None, service_account: None }, container: ContainerConfig { cli_image: "ghcr.io/metalbear-co/mirrord-cli:3.128.0", cli_extra_args: [], cli_prevent_cleanup: false, cli_image_lib_path: "/opt/mirrord/lib/libmirrord_layer.so" }, feature: FeatureConfig { env: EnvConfig { include: None, exclude: None, override: None, load_from_process: None, unset: None, env_file: None, mapping: None }, fs: FsConfig { mode: Read, read_write: None, read_only: None, local: Some(Multiple([".*.runfiles/.*", ".*.runfiles_manifest$"])), not_found: None, mapping: None }, network: NetworkConfig { incoming: IncomingConfig { port_mapping: {}, ignore_localhost: false, ignore_ports: {}, mode: Mirror, http_filter: HttpFilterConfig { header_filter: None, path_filter: None, all_of: None, any_of: None, ports: PortList(Multiple([80, 8080])) }, listen_ports: {}, on_concurrent_steal: Abort, ports: None }, outgoing: OutgoingConfig { tcp: true, udp: true, ignore_localhost: false, filter: None, unix_streams: None }, dns: DnsConfig { enabled: true, filter: None } }, copy_target: CopyTargetConfig { enabled: false, scale_down: false }, hostname: true, split_queues: SplitQueuesConfig({}) }, telemetry: true, kube_context: None, internal_proxy: InternalProxyConfig { connect_tcp: None, client_tls_certificate: None, client_tls_key: None, start_idle_timeout: 60, idle_timeout: 5, socket_timeout: 31536000, log_level: None, log_destination: None, container_mode: false }, external_proxy: ExternalProxyConfig { tls_enable: true, tls_certificate: None, tls_key: None, start_idle_timeout: 60, idle_timeout: 5, log_level: None, log_destination: None }, use_proxy: true, experimental: ExperimentalConfig { tcp_ping4_mock: true, readlink: false, trust_any_certificate: true, enable_exec_hooks_linux: true, hide_ipv6_interfaces: false, disable_reuseaddr: false, use_dev_null: true, readonly_file_buffer: 0 } }) �[3mtls_cert�[0m�[2m=�[0mNone�[1m}�[0m�[2m:�[0m�[1mwait_for_agent_startup�[0m�[1m{�[0m�[3mpod_name�[0m�[2m=�[0m"mirrord-agent-rlinlprwbm-zkk7q" �[3mcontainer_name�[0m�[2m=�[0m"mirrord-agent"�[1m}�[0m�[2m:�[0m �[2mmirrord_kube::api::container::util�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(Some("3.128.0"))
�[2m2025-01-03T00:16:49.226078Z�[0m �[32m INFO�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m�[1mcreate_agent�[0m�[1m{�[0m�[3mtarget�[0m�[2m=�[0mTargetConfig { path: Some(Pod(PodTarget { pod: "...", container: Some("...") })), namespace: Some("...") } �[3mconfig�[0m�[2m=�[0mSome(LayerConfig { accept_invalid_certificates: None, skip_processes: None, skip_build_tools: true, connect_tcp: None, operator: None, kubeconfig: None, sip_binaries: None, target: TargetConfig { path: Some(Pod(PodTarget { pod: "...", container: Some("...") })), namespace: Some("...") }, agent: AgentConfig { log_level: "info", json_log: false, namespace: Some("..."), image: AgentImageConfig("ghcr.io/metalbear-co/mirrord:3.128.0"), image_pull_policy: "IfNotPresent", image_pull_secrets: None, ttl: 1, ephemeral: false, communication_timeout: None, startup_timeout: 60, network_interface: None, flush_connections: true, disabled_capabilities: None, tolerations: None, resources: None, check_out_of_pods: true, privileged: true, nftables: false, dns: AgentDnsConfig { timeout: None, attempts: None }, labels: None, annotations: None, node_selector: None, service_account: None }, container: ContainerConfig { cli_image: "ghcr.io/metalbear-co/mirrord-cli:3.128.0", cli_extra_args: [], cli_prevent_cleanup: false, cli_image_lib_path: "/opt/mirrord/lib/libmirrord_layer.so" }, feature: FeatureConfig { env: EnvConfig { include: None, exclude: None, override: None, load_from_process: None, unset: None, env_file: None, mapping: None }, fs: FsConfig { mode: Read, read_write: None, read_only: None, local: Some(Multiple([".*.runfiles/.*", ".*.runfiles_manifest$"])), not_found: None, mapping: None }, network: NetworkConfig { incoming: IncomingConfig { port_mapping: {}, ignore_localhost: false, ignore_ports: {}, mode: Mirror, http_filter: HttpFilterConfig { header_filter: None, path_filter: None, all_of: None, any_of: None, ports: PortList(Multiple([80, 8080])) }, listen_ports: {}, on_concurrent_steal: Abort, ports: None }, outgoing: OutgoingConfig { tcp: true, udp: true, ignore_localhost: false, filter: None, unix_streams: None }, dns: DnsConfig { enabled: true, filter: None } }, copy_target: CopyTargetConfig { enabled: false, scale_down: false }, hostname: true, split_queues: SplitQueuesConfig({}) }, telemetry: true, kube_context: None, internal_proxy: InternalProxyConfig { connect_tcp: None, client_tls_certificate: None, client_tls_key: None, start_idle_timeout: 60, idle_timeout: 5, socket_timeout: 31536000, log_level: None, log_destination: None, container_mode: false }, external_proxy: ExternalProxyConfig { tls_enable: true, tls_certificate: None, tls_key: None, start_idle_timeout: 60, idle_timeout: 5, log_level: None, log_destination: None }, use_proxy: true, experimental: ExperimentalConfig { tcp_ping4_mock: true, readlink: false, trust_any_certificate: true, enable_exec_hooks_linux: true, hide_ipv6_interfaces: false, disable_reuseaddr: false, use_dev_null: true, readonly_file_buffer: 0 } }) �[3mtls_cert�[0m�[2m=�[0mNone�[1m}�[0m�[2m:�[0m �[2mmirrord_kube::api::kubernetes�[0m�[2m:�[0m Created agent pod �[3magent_connect_info�[0m�[2m=�[0mAgentKubernetesConnectInfo { pod_name: "mirrord-agent-rlinlprwbm-zkk7q", agent_port: 53056, namespace: Some("..."), agent_version: Some("3.128.0") }
�[2m2025-01-03T00:16:49.226222Z�[0m �[35mTRACE�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m �[2mmirrord_kube::api::kubernetes::portforwarder�[0m�[2m:�[0m port-forward to pod AgentKubernetesConnectInfo { pod_name: "mirrord-agent-rlinlprwbm-zkk7q", agent_port: 53056, namespace: Some("..."), agent_version: Some("3.128.0") }
�[2m2025-01-03T00:16:49.474332Z�[0m �[35mTRACE�[0m �[1mstart�[0m�[2m:�[0m�[1mget_remote_env�[0m�[2m:�[0m �[2mmirrord::execution�[0m�[2m:�[0m Agent responded with the remote env �[3mremote_env�[0m�[2m=�[0m ...
�[2m2025-01-03T00:16:50.367974Z�[0m �[35mTRACE�[0m �[2mmirrord::execution�[0m�[2m:�[0m watch_stderr cancelled
�[2m2025-01-03T00:16:50.368064Z�[0m �[35mTRACE�[0m �[1mstart�[0m�[2m:�[0m�[1mcreate_and_connect�[0m�[2m:�[0m�[1mwrap_raw_connection�[0m�[2m:�[0m �[2mmirrord_kube::api�[0m�[2m:�[0m No more client messages, disconnecting
�[2m2025-01-03T00:16:50.392543Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::load�[0m�[2m:�[0m Loading into process: ..._ccbin invoked as ..._ccbin.
�[2m2025-01-03T00:16:50.398168Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer�[0m�[2m:�[0m hooked "close"
�[2m2025-01-03T00:16:50.398198Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer�[0m�[2m:�[0m hooked "__close_nocancel"
�[2m2025-01-03T00:16:50.398214Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.398220Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398225Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.398229Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398235Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.398239Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398244Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.398248Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398253Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.398257Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398269Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.398274Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398279Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.398283Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398289Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__close" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.398293Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__close" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398313Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer�[0m�[2m:�[0m hooked "fork"
�[2m2025-01-03T00:16:50.398326Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "socket"
�[2m2025-01-03T00:16:50.398338Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "recvfrom"
�[2m2025-01-03T00:16:50.398348Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "sendto"
�[2m2025-01-03T00:16:50.398358Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "recvmsg"
�[2m2025-01-03T00:16:50.398371Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "sendmsg"
�[2m2025-01-03T00:16:50.398383Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "bind"
�[2m2025-01-03T00:16:50.398393Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "listen"
�[2m2025-01-03T00:16:50.398404Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "connect"
�[2m2025-01-03T00:16:50.398418Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "fcntl"
�[2m2025-01-03T00:16:50.398429Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "dup"
�[2m2025-01-03T00:16:50.398440Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "dup2"
�[2m2025-01-03T00:16:50.398451Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "getpeername"
�[2m2025-01-03T00:16:50.398462Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "getsockname"
�[2m2025-01-03T00:16:50.398471Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "gethostname"
�[2m2025-01-03T00:16:50.398484Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "accept4"
�[2m2025-01-03T00:16:50.398495Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "dup3"
�[2m2025-01-03T00:16:50.398505Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "accept"
�[2m2025-01-03T00:16:50.398518Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "gethostbyname"
�[2m2025-01-03T00:16:50.398531Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "getaddrinfo"
�[2m2025-01-03T00:16:50.398543Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::socket::hooks�[0m�[2m:�[0m hooked "freeaddrinfo"
�[2m2025-01-03T00:16:50.398555Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::exec_hooks::hooks�[0m�[2m:�[0m hooked "execv"
�[2m2025-01-03T00:16:50.398566Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::exec_hooks::hooks�[0m�[2m:�[0m hooked "execve"
�[2m2025-01-03T00:16:50.398580Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "open"
�[2m2025-01-03T00:16:50.398587Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.398594Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398599Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.398603Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398608Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.398612Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398617Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.398622Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398627Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.398631Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398636Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.398640Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398645Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.398649Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398654Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "open64" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.398658Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "open64" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398671Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "openat"
�[2m2025-01-03T00:16:50.398678Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.398682Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398687Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.398691Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398696Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.398700Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398705Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.398709Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398714Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.398718Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398725Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.398730Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398735Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.398739Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398744Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "openat64" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.398748Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "openat64" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398760Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "read"
�[2m2025-01-03T00:16:50.398774Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "closedir"
�[2m2025-01-03T00:16:50.398785Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "dirfd"
�[2m2025-01-03T00:16:50.398799Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "pread"
�[2m2025-01-03T00:16:50.398810Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "readv"
�[2m2025-01-03T00:16:50.398820Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "preadv"
�[2m2025-01-03T00:16:50.398832Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "readlink"
�[2m2025-01-03T00:16:50.398843Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "mkdir"
�[2m2025-01-03T00:16:50.398855Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "mkdirat"
�[2m2025-01-03T00:16:50.398865Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "lseek"
�[2m2025-01-03T00:16:50.398876Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "write"
�[2m2025-01-03T00:16:50.398887Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "pwrite"
�[2m2025-01-03T00:16:50.398899Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "access"
�[2m2025-01-03T00:16:50.398909Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "faccessat"
�[2m2025-01-03T00:16:50.398919Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fsync"
�[2m2025-01-03T00:16:50.398930Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fdatasync"
�[2m2025-01-03T00:16:50.398942Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "realpath"
�[2m2025-01-03T00:16:50.398954Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "statx"
�[2m2025-01-03T00:16:50.398965Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "__xstat"
�[2m2025-01-03T00:16:50.398972Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.398976Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398981Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.398985Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.398992Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.398996Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399002Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.399006Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399011Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.399015Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399020Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.399024Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399029Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.399033Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399038Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__xstat64" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.399042Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__xstat64" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399054Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "__lxstat"
�[2m2025-01-03T00:16:50.399059Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.399064Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399069Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.399073Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399078Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.399082Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399087Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.399091Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399096Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.399100Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399105Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.399109Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399114Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.399120Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399125Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "__lxstat64" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.399129Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "__lxstat64" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399140Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "lstat"
�[2m2025-01-03T00:16:50.399150Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fstat"
�[2m2025-01-03T00:16:50.399160Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "stat"
�[2m2025-01-03T00:16:50.399171Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fstatat"
�[2m2025-01-03T00:16:50.399182Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fstatfs"
�[2m2025-01-03T00:16:50.399192Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "fdopendir"
�[2m2025-01-03T00:16:50.399203Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "readdir_r"
�[2m2025-01-03T00:16:50.399209Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.399213Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399218Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.399223Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399228Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.399232Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399237Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.399241Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399246Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.399250Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399255Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.399260Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399264Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.399269Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399274Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir64_r" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.399278Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir64_r" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399291Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "readdir64"
�[2m2025-01-03T00:16:50.399297Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libpython3.9.so.1.0", hooking
�[2m2025-01-03T00:16:50.399301Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libpython3.9.so.1.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399306Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libc.so.6", hooking
�[2m2025-01-03T00:16:50.399311Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libc.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399316Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libpthread.so.0", hooking
�[2m2025-01-03T00:16:50.399320Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libpthread.so.0" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399325Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libgcc_s.so.1", hooking
�[2m2025-01-03T00:16:50.399329Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libgcc_s.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399334Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "librt.so.1", hooking
�[2m2025-01-03T00:16:50.399338Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "librt.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399343Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libm.so.6", hooking
�[2m2025-01-03T00:16:50.399347Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libm.so.6" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399352Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libdl.so.2", hooking
�[2m2025-01-03T00:16:50.399356Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libdl.so.2" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399361Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m found "readdir" in "libutil.so.1", hooking
�[2m2025-01-03T00:16:50.399366Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::hooks�[0m�[2m:�[0m hook "readdir" in "libutil.so.1" failed with err Function already replaced
�[2m2025-01-03T00:16:50.399376Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m hooked "opendir"
�[2m2025-01-03T00:16:50.399756Z�[0m �[32m INFO�[0m ThreadId(02) �[2mmirrord_layer�[0m�[2m:�[0m Initializing mirrord-layer!
�[2m2025-01-03T00:16:50.399942Z�[0m �[34mDEBUG�[0m ThreadId(02) �[2mmirrord_layer�[0m�[2m:�[0m Loaded into executable �[3mexecutable�[0m�[2m=�[0mSome("...ccbin") �[3margs�[0m�[2m=�[0mSome(ExecuteArgs { exec_name: "...ccbin", invoked_as: "...ccbin", args: ["...ccbin", "--run_dir", "/rundir", "--resolved_workspace", "/root/workspace/workspace.pb.txt", "--log_level", "INFO"] }) �[3mpid�[0m�[2m=�[0m1177389 �[3mparent_pid�[0m�[2m=�[0m1171540 �[3menv_vars�[0m�[2m=�[0mVars { inner: ...
�[2m2025-01-03T00:16:50.401298Z�[0m �[35mTRACE�[0m ThreadId(02) �[2mmirrord_layer::file::hooks�[0m�[2m:�[0m path Success(
    "/home/zack/.cache/bazel/_bazel_zack/.../pyvenv.cfg",
) | open_options OpenOptionsInternal {
    read: true,
    write: false,
    append: false,
    truncate: false,
    create: false,
    create_new: false,
}

After the service begins, I repeatedly see this log. I expect the service to be serving on :10010

�[2m2025-01-03T00:18:08.421680Z�[0m �[35mTRACE�[0m ThreadId(03) �[2mmirrord_layer::socket::ops�[0m�[2m:�[0m in connect LazyLock(
    Mutex {
        data: {
            12: UserSocket {
                domain: 2,
                type_: 1,
                protocol: 0,
                state: Listening(
                    Bound {
                        requested_address: 0.0.0.0:10010,
                        address: 0.0.0.0:10010,
                    },
                ),
                kind: Tcp(
                    1,
                ),
            },
            16: UserSocket {
                domain: 1,
                type_: 524289,
                protocol: 0,
                state: Initialized,
                kind: Tcp(
                    524289,
                ),
            },
            9: UserSocket {
                domain: 2,
                type_: 524289,
                protocol: 0,
                state: Listening(
                    Bound {
                        requested_address: 0.0.0.0:9000,
                        address: 0.0.0.0:9000,
                    },
                ),
                kind: Tcp(
                    524289,
                ),
            },
            15: UserSocket {
                domain: 2,
                type_: 524289,
                protocol: 0,
                state: Connected(
                    Connected {
                        remote_address: Ip(
                            52.218.185.57:443,
                        ),
                        local_address: Ip(
                            10.10.39.115:42654,
                        ),
                        layer_address: Some(
                            Ip(
                                127.0.0.1:43875,
                            ),
                        ),
                    },
                ),
                kind: Tcp(
                    524289,
                ),
            },
            13: UserSocket {
                domain: 2,
                type_: 524289,
                protocol: 0,
                state: Connected(
                    Connected {
                        remote_address: Ip(
                            169.254.169.254:80,
                        ),
                        local_address: Ip(
                            10.10.39.115:59038,
                        ),
                        layer_address: Some(
                            Ip(
                                127.0.0.1:35321,
                            ),
                        ),
                    },
                ),
                kind: Tcp(
                    524289,
                ),
            },
            14: UserSocket {
                domain: 2,
                type_: 1,
                protocol: 0,
                state: Listening(
                    Bound {
                        requested_address: 0.0.0.0:10000,
                        address: 0.0.0.0:10000,
                    },
                ),
                kind: Tcp(
                    1,
                ),
            },
        },
        poisoned: false,
        ..
    },
)

mirrord intproxy logs

  2025-01-03T00:16:50.400598Z  INFO mirrord_intproxy::layer_initializer: new session, process_info: ProcessInfo { pid: 1177389, name: "..._ccbin", cmdline: ["..._ccbin", "--run_dir", "/rundir", "--resolved_workspace", "/root/workspace/workspace.pb.txt", "--log_level", "INFO"], loaded: true }
    at mirrord/intproxy/src/layer_initializer.rs:63

  2025-01-03T00:17:13.243504Z  INFO mirrord_intproxy::layer_initializer: new session, process_info: ProcessInfo { pid: 1177490, name: "uname", cmdline: ["uname", "-p"], loaded: true }
    at mirrord/intproxy/src/layer_initializer.rs:63

mirrord agent logs

agent ready - version 3.128.0
  2025-01-02T21:59:01.752731Z  WARN mirrord_agent::outgoing::udp: interceptor_task -> no messages left
    at mirrord/agent/src/outgoing/udp.rs:225 on ThreadId(7)

  2025-01-02T21:59:07.710225Z  WARN mirrord_agent::outgoing::udp: LayerUdpOutgoing::Write -> Failed with RemoteIO(
    RemoteIOError {
        raw_os_error: Some(
            111,
        ),
        kind: ConnectionRefused,
    },
)
    at mirrord/agent/src/outgoing/udp.rs:181 on ThreadId(9)

mirrord config

{
    "agent": {
        "privileged": true
    },
    "experimental": {
        "trust_any_certificate": true
    },
    "feature": {
        "fs": {
            "local": [
                ".*.runfiles\/.*",
                ".*.runfiles_manifest$"
            ]
        }
    }
}

mirrord CLI version

3.128.0

mirrord-agent version

3.128.0

mirrord-operator version (if relevant)

No response

plugin kind and version (if relevant)

No response

Your operating system and version

Ubuntu 22.04.2 LTS

Local process

ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a83e70e25eebc70926938d868e78b474efaa369c, not stripped

Local process version

No response

Additional Info

No response

@zack-littke-smith-ai zack-littke-smith-ai added the bug Something isn't working label Jan 3, 2025
Copy link

linear bot commented Jan 3, 2025

@aviramha
Copy link
Member

aviramha commented Jan 5, 2025

Hi,
Can you share your mirrord.json please?
I think this might be solvable using this config:

{
  "feature": {
    "network": {
      "outgoing": {
        "ignore_localhost": true
      }
    }
  }
}

if that doesn't solve - feel free to book a debug session with me here: https://calendar.app.google/JihFZSDkbe8etmt37

@zack-littke-smith-ai
Copy link
Author

My mirrord.json is extremely minimal, just tells bazel to resolve runfiles locally rather than remotely:

{
    "feature": {
        "fs": {
            "local": [
                ".*.runfiles\/.*",
                ".*.runfiles_manifest$"
            ]
        }
    }
}

Tried to add your suggestion but still not seeing traffic forwarded. Scheduled a slot at 1pm PST Wednesday, thanks for your help!

@zack-littke-smith-ai
Copy link
Author

Checking more closely with some c++ services as well, i believe our service mesh (linkerd) is potentially causing issues here, im noticing that traffic to unmeshed pods is being forwarded properly, but i dont see traffic from meshed pods

@aviramha aviramha changed the title ConnectionRefused when running local python service gRPC + Linkerd mirroring doesn't work Jan 8, 2025
@aviramha
Copy link
Member

aviramha commented Jan 8, 2025

Debugged with the user- stealing works, mirroring doesn't
I am quite confident this happens due to our "new request" detection not working in that scenario, probably because no connections are made (linkerd keeps the connections up) and we don't detect new gRPC requests within existing connection

Copy link
Member

Related
#1942

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants