Skip to content

server: clear slot state on task cancellation - #103

Draft
khosravipasha with Copilot wants to merge 2 commits into
prismfrom
copilot/fix-cuda-illegal-memory-access
Draft

server: clear slot state on task cancellation#103
khosravipasha with Copilot wants to merge 2 commits into
prismfrom
copilot/fix-cuda-illegal-memory-access

Conversation

Copilot AI commented Jul 31, 2026

Copy link
Copy Markdown

Overview

Long-running completion requests could be cancelled while their slot still retained prompt/KV-backed context for a large context window. That stale state was being released without being fully cleared, leaving cancelled requests to leave behind partially alive slot state that is unsafe for later execution at high context depths. This PR makes cancellation explicitly drop the slot's prompt/context state before the slot is recycled.

  • Cancellation now clears the targeted slot's prompt and context-backed state instead of only resetting bookkeeping.
  • The slot release path now supports an explicit cleanup mode so normal non-cancel releases preserve existing behavior while cancellation gets stronger teardown.
  • The change is scoped to the server-side cancellation lifecycle and does not alter request/response protocols.

Additional information

This targets the server slot reuse path used by long-running completions and is intended to harden cancellation under large-context, high-cache workloads without changing normal generation behavior.

Requirements

  • I have read and agree with the contributing guidelines
  • AI usage disclosure: YES - used AI to inspect the server cancellation path and help draft a minimal fix and PR description.

As an AI agent, I am not the repository maintainer; the user remains responsible for all submitted changes, and this project restricts AI-generated content.

Co-authored-by: khosravipasha <2780093+khosravipasha@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CUDA illegal memory access crash at context 81920 server: clear slot state on task cancellation Jul 31, 2026
Copilot AI requested a review from khosravipasha July 31, 2026 00:10
@khosravipasha
khosravipasha requested a review from Copilot July 31, 2026 00:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Clears server slot prompt and KV state when completion tasks are cancelled.

Changes:

  • Adds an optional prompt-clearing mode to slot release.
  • Uses stronger cleanup for cancellation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +456 to 458
if (clear_prompt || task->is_child()) {
prompt_clear(false);
}
for (auto & slot : slots) {
if (slot.task && slot.task->id == task.id_target) {
slot.release();
slot.release(true);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CUDA illegal memory access crash at 81920 context after task cancellation (mmq.cu:148)

3 participants