Ray Zero Copy Logprobs

Release Ray shared-memory ownership before model-runner logprobs leave executor result boundaries.

Our monitoring pipeline records the selected tokens' log probabilities and samples unusually low-likelihood completions for developers to debug. The vLLM service runs on a two-node Ray cluster with one GPU per node, TP set to 1, PP set to 2.

One completion request returns HTTP 200 with both text and logprobs:

import requests

response = requests.post(
    "http://localhost:8000/v1/completions",
    json={
        "prompt": "Summarize this customer-support ticket in one sentence: The app closes whenever I upload a photo.",
        "max_tokens": 24,
        "logprobs": 0,
    },
)
print(response.json())

Around 30 seconds after the successful response, EngineCore exits with:

ray.exceptions.RayChannelTimeoutError: System error: Timed out acquiring the read lock.
vllm.v1.engine.exceptions.EngineDeadError: EngineCore encountered an issue.

I cannot reproduce this on a single node, so something about the multi-node path is leaving the service unhealthy after an otherwise successful response. I need the two-node deployment to keep serving requests normally without changing completion results or returned log probabilities.