#26193 [Bug]: tiktoken.encode() on event loop blocks liveness probes, kills pods
### Check for existing issues
- [X] I have searched the existing issues and checked that my issue is not a duplicate.
Related: #9145 (feature request for the same root cause, no liveness/pod-kill evidence)
### What happened?
`/health/liveliness` times out and pods get killed because `tiktoken.encode()` runs synchronously on the asyncio event loop, holding the GIL for 60+ seconds on large reasoning model responses.
The call chain is:
``` stream_chunk_builder (litellm/main.py) → count_reasoning_tokens (streaming_chunk_builder_utils.py:517) → token_counter (token_counter.py:404) → count_tokens (token_counter.py:546) → tiktoken.encode() ← blocks event loop, holds GIL ```
With reasoning models (Claude extended thinking, o1/o3, Gemini thinking), `reasoning_content` can be hundreds of thousands of tokens. `tiktoken.encode()` is a synchronous C extension that holds the GIL for the entire encoding — no other Python code can run, including the trivial `return "I'm alive!"` liveness handler.
**This token count is redundant** — `count_reasoning_tokens` only fills `completion_tokens_details.reasoning_tokens` when the provider didn't already supply it (lines 696-707 …