Skip to content

Commit 6572cdb

Browse files
kabirclaude
andcommitted
fix: Capture diagnostics from Quarkus JVM instead of Maven parent
Problem: - Thread/heap dumps were capturing Maven parent process (quarkus:dev) - This showed only 12 JVM internal threads, missing actual application Solution: - Changed pgrep pattern from "quarkus:dev" to "a2a-tck-server-dev.jar" - This targets the actual Quarkus application JVM child process - Added debug output to show available Java processes if not found 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 3e93dd2 commit 6572cdb

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

.github/workflows/run-tck.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,24 +104,27 @@ jobs:
104104
- name: Capture Thread Dump
105105
if: always()
106106
run: |
107-
# Get PID of Quarkus process
108-
QUARKUS_PID=$(pgrep -f "quarkus:dev" || echo "")
107+
# Find the actual Quarkus JVM (child of Maven process), not the Maven parent
108+
# Look for the dev.jar process which is the actual application
109+
QUARKUS_PID=$(pgrep -f "a2a-tck-server-dev.jar" || echo "")
109110
if [ -n "$QUARKUS_PID" ]; then
110-
echo "📊 Capturing thread dump for PID $QUARKUS_PID"
111+
echo "📊 Capturing thread dump for Quarkus JVM PID $QUARKUS_PID"
111112
jstack $QUARKUS_PID > tck/target/thread-dump.txt || echo "Failed to capture thread dump"
112113
if [ -f tck/target/thread-dump.txt ]; then
113114
echo "✅ Thread dump captured ($(wc -l < tck/target/thread-dump.txt) lines)"
114115
fi
115116
else
116-
echo "⚠️ No Quarkus process found for thread dump"
117+
echo "⚠️ No Quarkus JVM process found for thread dump"
118+
echo "Available Java processes:"
119+
ps aux | grep java || true
117120
fi
118121
- name: Capture Heap Dump
119122
if: always()
120123
run: |
121-
# Get PID of Quarkus process
122-
QUARKUS_PID=$(pgrep -f "quarkus:dev" || echo "")
124+
# Find the actual Quarkus JVM (child of Maven process), not the Maven parent
125+
QUARKUS_PID=$(pgrep -f "a2a-tck-server-dev.jar" || echo "")
123126
if [ -n "$QUARKUS_PID" ]; then
124-
echo "📊 Capturing heap dump for PID $QUARKUS_PID"
127+
echo "📊 Capturing heap dump for Quarkus JVM PID $QUARKUS_PID"
125128
jmap -dump:live,format=b,file=tck/target/heap-dump.hprof $QUARKUS_PID || echo "Failed to capture heap dump"
126129
if [ -f tck/target/heap-dump.hprof ]; then
127130
SIZE=$(du -h tck/target/heap-dump.hprof | cut -f1)
@@ -132,7 +135,9 @@ jobs:
132135
echo "✅ Compressed heap dump ($COMPRESSED_SIZE)"
133136
fi
134137
else
135-
echo "⚠️ No Quarkus process found for heap dump"
138+
echo "⚠️ No Quarkus JVM process found for heap dump"
139+
echo "Available Java processes:"
140+
ps aux | grep java || true
136141
fi
137142
- name: Stop Quarkus Server
138143
if: always()

0 commit comments

Comments
 (0)