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

Plugin not compatible with latest Rider Version 2024.1 #258

Closed
stefan-schweiger opened this issue Apr 17, 2024 · 7 comments · Fixed by #259 or metalbear-co/mirrord#2388
Closed

Plugin not compatible with latest Rider Version 2024.1 #258

stefan-schweiger opened this issue Apr 17, 2024 · 7 comments · Fixed by #259 or metalbear-co/mirrord#2388
Labels
bug Something isn't working

Comments

@stefan-schweiger
Copy link

Bug Description

When trying to start the debugger with mirrord the error message below appears and the debugging aborts. Seems like some version incompability

Steps to Reproduce

  1. Use Rider 2024.1
  2. Start debugging with mirrord active

Backtrace

No response

Relevant Logs

com.metalbear.mirrord.products.rider.RiderLaunchSettingsExtension does not define or inherit an implementation of the resolved method 'abstract java.lang.Object executor(com.intellij.openapi.project.Project, com.intellij.execution.runners.ExecutionEnvironment, com.jetbrains.rider.run.configurations.launchSettings.LaunchSettingsJson$Profile, com.jetbrains.rider.run.configurations.RuntimeHotReloadRunConfigurationInfo, kotlin.coroutines.Continuation)' of interface com.jetbrains.rider.run.configurations.RiderConfigurationLaunchSettingsExtension.

Your operating system and version

macOS 14.4.1

Local process

Local process version

No response

Additional Info

No response

@stefan-schweiger stefan-schweiger added the bug Something isn't working label Apr 17, 2024
@stefan-schweiger
Copy link
Author

stefan-schweiger commented Apr 22, 2024

@aviramha @Razz4780 are you sure that the fix enables 100% compatibility with Rider 2024.1? Because with the latest version of the plugin I'm now running into timeouts when connecting to the pod, but when using Rider 2023.3 I can connect just fine (with the same plugin version).

@Razz4780
Copy link
Contributor

@aviramha @Razz4780 are you sure that the fix enables 100% compatibility with Rider 2024.1? Because with the latest version of the plugin I'm now running into timeouts when connecting to the pod, but when using Rider 2023.3 I can connect just fine (with the same plugin version).

Hi, sorry you're still experiencing issues. I am not able to reproduce, do you mind sharing some logs from your failed run? We could use:

  1. mirrord-layer logs, which you can enable by setting RUST_LOG=mirrord=trace in your app environment (you can add this env var in the run configuration). These logs should show up in your IDE console
  2. mirrord-intproxy logs, which you can enable in your mirrord config by adding this top-level entry:
{
  "internal_proxy": {
     "log_level": "mirrord=trace",
     "log_destination": "/path/to/log/file"
}
  1. mirrord-agent logs, which you can retrieve from the cluster with kubectl logs -n <namespace> <mirrord-agent-pod-name>

@Razz4780 Razz4780 reopened this Apr 22, 2024
@stefan-schweiger
Copy link
Author

So this is the exact error I'm getting: Debugger worker was not initialized within 100,000 ms

image

mirrord-layer

No logs as far as I can tell, as the debugger never launches (just spinner in the menu bar).

mirrord-layer

[2m2024-04-22T11:58:56.073918Z�[0m �[35mTRACE�[0m �[2mmirrord_kube::api::kubernetes�[0m�[2m:�[0m port-forward to pod AgentKubernetesConnectInfo { pod_name: "mirrord-agent-mqdfh3azzk-9sg6z", agent_port: 58578, namespace: None, agent_version: Some("3.98.0") }
�[2m2024-04-22T11:58:56.107983Z�[0m �[35mTRACE�[0m �[2mmirrord_kube::api::kubernetes�[0m�[2m:�[0m port-forward to pod AgentKubernetesConnectInfo { pod_name: "mirrord-agent-mqdfh3azzk-9sg6z", agent_port: 58578, namespace: None, agent_version: Some("3.98.0") }
�[2m2024-04-22T11:58:56.120985Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mSwitchProtocolVersion(Version { major: 1, minor: 5, patch: 4 })�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:58:56.121388Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m sending ping
�[2m2024-04-22T11:58:56.121410Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mPing�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:58:56.122575Z�[0m �[35mTRACE�[0m �[1mhandle_agent_message�[0m�[1m{�[0mSwitchProtocolVersionResponse(Version { major: 1, minor: 5, patch: 4 })�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:58:56.122609Z�[0m �[35mTRACE�[0m �[1mhandle_agent_message�[0m�[1m{�[0mPong�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:58:56.122617Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m agent sent message, still waiting for pong
�[2m2024-04-22T11:58:56.122621Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m agent responded to ping
�[2m2024-04-22T11:58:56.122626Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mReadyForLogs�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:59:26.123340Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m sending ping
�[2m2024-04-22T11:59:26.124908Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mPing�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:59:26.127781Z�[0m �[35mTRACE�[0m �[1mhandle_agent_message�[0m�[1m{�[0mPong�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:59:26.127887Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m agent responded to ping
�[2m2024-04-22T11:59:56.130407Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m sending ping
�[2m2024-04-22T11:59:56.132115Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mPing�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:59:56.140531Z�[0m �[35mTRACE�[0m �[1mhandle_agent_message�[0m�[1m{�[0mPong�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T11:59:56.141641Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m agent responded to ping
�[2m2024-04-22T12:00:26.142679Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m sending ping
�[2m2024-04-22T12:00:26.144161Z�[0m �[35mTRACE�[0m �[1msend_agent_message�[0m�[1m{�[0m�[3mmsg�[0m�[2m=�[0mPing�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy::agent_conn�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T12:00:26.149581Z�[0m �[35mTRACE�[0m �[1mhandle_agent_message�[0m�[1m{�[0mPong�[1m}�[0m�[2m:�[0m �[2mmirrord_intproxy�[0m�[2m:�[0m �[3mreturn�[0m�[2m=�[0mOk(())
�[2m2024-04-22T12:00:26.149643Z�[0m �[35mTRACE�[0m �[2mmirrord_intproxy::ping_pong�[0m�[2m:�[0m agent responded to ping

mirrord-agent - Rider 2023.3

mirrord-agent-hiodkxmgl0-kb7r8 › mirrord-agent
mirrord-agent-hiodkxmgl0-kb7r8 mirrord-agent agent ready - version 3.98.0
mirrord-agent-hiodkxmgl0-kb7r8 mirrord-agent 2024-04-22T11:56:12.682333Z  WARN ThreadId(08) mirrord_agent::outgoing::udp: interceptor_task -> no messages left
mirrord-agent-hiodkxmgl0-kb7r8 mirrord-agent 2024-04-22T11:56:22.280498Z  WARN ThreadId(11) mirrord_agent::outgoing: Connect attempt timed out. remote_address=169.254.169.254:80 connect_timeout_ms=3000

In the log there is this timeout message, but debugging actually works

mirrord-agent - Rider 2024.1

mirrord-agent-mqdfh3azzk-9sg6z mirrord-agent agent ready - version 3.98.0
mirrord-agent-mqdfh3azzk-9sg6z mirrord-agent 2024-04-22T11:58:57.107233Z  WARN ThreadId(07) mirrord_agent::outgoing::udp: interceptor_task -> no messages left

@Razz4780
Copy link
Contributor

I think I found the root of the problem. Could you try adding this top-level entry to your mirrord config and running again?

{
    "skip_processes": ["JetBrains.Debugger.Worker"]
}

@aviramha
Copy link
Member

@Razz4780 in case it works, lets add it to our defaults.

@stefan-schweiger
Copy link
Author

@Razz4780 perfect, that solved the problem!

@Razz4780
Copy link
Contributor

@Razz4780 perfect, that solved the problem!

Great! We're going to add it to our defaults, so with the next release of our binary you'll be able to remove the entry from your configs (plugin update will not be required)

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
3 participants