Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Wall profiler event doesn't like remote JDB session made via Cloudflare WARP

Ouverte
#174 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
java, kubernetes

Piste de recherche

Aucun fichier de projet ni test n’est identifié. Reproduire avec Java 17, Pyroscope agent v0.14.0 et une application Spring Boot dans EKS, en comparant remote jdb via Cloudflare WARP avec kubectl exec ou une pod-to-pod attachment, ainsi que les événements wall par rapport à cpu ou itimer ; c’est terminé lorsque la cause du handshake échoué est identifiée ou qu’un fix confirmé est documenté.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hi Pyroscope JAVA,

I have the following setup:

  • AWS EKS cluster with two namespaces dev and test
  • Both namespaces consist of a bunch of Java Spring Boot applications
  • Applications in the dev namespace use Pyroscope agent, the PYROSCOPE_PROFILER_EVENT is set to wall
  • The connection from local computers to the EKS PODs' network is done via Cloudflare WARP (WiteGuard)
    • The connection can be made directly to the POD's IP or via kubectl port-forward

What I have observed is that

  • Java Debugger attachment from inside the POD i.e. kubectl exec + jdb -attach localhost:4001 works like a charm
  • It also works from namespace to namespace or from POD to POD, meaning that it can jump from one EKS node to another
  • What does't work is Java Debugger attachment from the local computers to the applications in the dev namespace when PYROSCOPE_PROFILER_EVENT is set to wall. If I set cpu or itimer it does work.

The below error is shown:

jdb -attach IP_ADDRESS:4001
java.io.IOException: handshake failed - connection prematurally closed
	at jdk.jdi/com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:137)
	at jdk.jdi/com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:271)
	at jdk.jdi/com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:119)
	at jdk.jdi/com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:83)
	at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:557)
	at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:367)
	at jdk.jdi/com.sun.tools.example.debug.tty.Env.init(Env.java:63)
	at jdk.jdi/com.sun.tools.example.debug.tty.TTY.main(TTY.java:1113)

I'm wondering if you folks have some ideas about the potential issue here, I do appreciate any feedback on this.
I found similar issue in async-profiler, but I'm not sure if related https://github.com/async-profiler/async-profiler/issues/769

Java Version

openjdk 17.0.13 2024-10-15 LTS
OpenJDK Runtime Environment Corretto-17.0.13.11.1 (build 17.0.13+11-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.13.11.1 (build 17.0.13+11-LTS, mixed mode, sharing)

Pyroscope agent version is v0.14.0

EKS node run on Amazon Linux 2 x86_64

Best regards,
Pawel

Langage dominant
Java
Étoiles
125
Forks
48
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de grafana/pyroscope-java

Toutes les issues de grafana/pyroscope-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.