Skip to content

Commit 0f478f3

Browse files
authored
Add deadlock gdb section to debug guide (#6193)
1 parent 59ccf5b commit 0f478f3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

docs/user_guide/debugging_guide.md

+10
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,16 @@ This is going to be one of the hardest things to debug. If possible, you want to
7575

7676
If you want the server to start up even when models fail, use the `exit-on-error=false` option. If you want the server health endpoint to show ready even when specific models fail, use the `--strict-readiness=false` flag.
7777

78+
### Deadlock
79+
80+
Some useful steps for debugging a deadlock with `gdb`:
81+
1. Use `$info threads` to see which threads are waiting.
82+
2. Go to a thread: `$thread 4`.
83+
3. Print the backtrace: `$bt`.
84+
4. Go to the frame with the lock: `$f 1`.
85+
5. Print the memory of the mutex being held: `$p *mutex`.
86+
6. You can now see the owner of the mutex under `owner`.
87+
7888
## Client Issues
7989

8090
For working with different client cases, the best resources are the [client repo’s](https://github.com/triton-inference-server/client) examples. You can see clients written in Python, Java, and C++ with running examples across many common use cases. You can review the main functions of these clients to get a sense of the flow of the code.

0 commit comments

Comments
 (0)