Skip to content

CUDA_ERROR_INVALID_HANDLE when evicting memory #2

Description

@githubnemo

Hardware:

  • 64GB RAM
  • 2x 2080 Ti @ 11GB VRAM

Nixie version: compiled from main

The bug:

nixie daemon --shm 20g -l 'g:0.98'
nixie run -d 0,1 ./bin/llama-server -m ~/.cache/llama.cpp/Qwen3.5-35B-A3B-Q4_K_M.gguf -c $((100*1024)) --port 8002 --host 0.0.0.0

works fine but when now also running

nixie run -d 0,1 ./bin/llama-server -m ~/.cache/llama.cpp/ggml-org_Qwen3-8B-GGUF_Qwen3-8B-Q4_K_M.gguf -c $((32*1024)) --port 8003 --host 0.0.0.0

(I don't think the specific model is important; just that it also needs VRAM)

the daemon will report:

10:44:35.849  INFO nixie::runtime::daemon_server: Client[pid=10956, comm="llama-server"] connected             
10:44:35.849 DEBUG nixie::runtime::shm: open_shm(/nixie_ipc-10956-9ca0287a.shm)   
10:44:35.849  INFO nixie::runtime::daemon_server: Client[pid=10956] VRAM limit: ["1 (10597 MB)", "0 (10604 MB)"]                                                              
10:44:35.849  INFO nixie::runtime::proc_ctl: Listen events from process [pid=10956]                                                                                           
10:44:59.021 DEBUG nixie::runtime::schedule::scheduler: Process 10956 requests scheduling                                                                                     
10:44:59.021 DEBUG nixie::runtime::migration::migration_plan: Device GlobalDeviceId(1) requires 0.00 B of data to migrate in
10:44:59.021 DEBUG nixie::runtime::migration::migration_plan: Device GlobalDeviceId(0) requires 0.00 B of data to migrate in                                                  
10:44:59.021 DEBUG nixie::runtime::migration::migration_plan: Created migration task: {"shm -> gpu":{"10956":"0.00 B(0)"}} for 142 us
10:44:59.021 DEBUG nixie::runtime::migration::execution: No migration needed     
10:44:59.022 DEBUG nixie::runtime::schedule::scheduler: Process 10956 requests memory: 1.25 GiB
10:44:59.022 DEBUG nixie::runtime::migration::migration_plan: Device GlobalDeviceId(0) requires 1.25 GiB of data to migrate in                                                
10:44:59.022 DEBUG nixie::runtime::migration::migration_plan: Created migration task: {"gpu -> shm":{"10031":"1.25 GiB(10)"},"shm -> gpu":{"10956":"0.00 B(0)"}} for 113 us
10:44:59.042 DEBUG nixie::runtime::migration::execution: Data migration completed in 0.020s, largest transfer size = 1.25 GiB, speed = 67.965 GB/s                            
10:44:59.177 DEBUG nixie::runtime::schedule::scheduler: Process 10956 requests memory: 256.00 MiB
10:44:59.177 DEBUG nixie::runtime::migration::migration_plan: Device GlobalDeviceId(0) requires 256.00 MiB of data to migrate in
10:44:59.177 DEBUG nixie::runtime::migration::migration_plan: Created migration task: {"shm -> gpu":{"10956":"0.00 B(0)"},"gpu -> shm":{"10031":"256.00 MiB(2)"}} for 74 us
10:44:59.181 DEBUG nixie::runtime::migration::execution: Data migration completed in 0.004s, largest transfer size = 256.00 MiB, speed = 70.089 GB/s                          
10:44:59.413 DEBUG nixie::runtime::schedule::scheduler: Process 10956 requests memory: 1.50 GiB
10:44:59.413 DEBUG nixie::runtime::migration::migration_plan: Device GlobalDeviceId(1) requires 1.50 GiB of data to migrate in
10:44:59.413 DEBUG nixie::runtime::migration::migration_plan: Created migration task: {"shm -> gpu":{"10956":"0.00 B(0)"},"gpu -> shm":{"10031":"1.50 GiB(12)"}} for 71 us    
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process                                                               
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process                                                               
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process                                                               
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process 
10:45:02.121  WARN nixie::runtime::migration::execution: Failed to complete D2H migration RPC to source process                                                               
10:45:02.121 DEBUG nixie::runtime::migration::execution: Data migration completed in 2.708s, largest transfer size = 1.50 GiB, speed = 0.595 GB/s
10:45:02.363  INFO nixie::runtime::proc_ctl: ProcessControl [pid=10031] finished                                                                                              
10:45:03.441  INFO nixie::runtime::proc_ctl: ProcessControl [pid=10956] finished                                                                                              
10:45:03.538 DEBUG nixie::runtime::schedule::scheduler: Process 10956 exited                                                                                                  

and the first nixie run process crashes with:

NIXIE-WARN CUDA error from Failed to copy memory from device to host: CUDA_ERROR_INVALID_HANDLE                               
NIXIE-WARN CUDA error from Failed to copy memory from device to host: CUDA_ERROR_INVALID_HANDLE                          
NIXIE-WARN CUDA error from Failed to copy memory from device to host: CUDA_ERROR_INVALID_HANDLE                                                                               
[...]                                                                          
NIXIE-WARN CUDA error from Failed to copy memory from device to host: CUDA_ERROR_INVALID_HANDLE                                                                               
NIXIE-WARN CUDA error from Failed to copy memory from device to host: CUDA_ERROR_INVALID_HANDLE                                                                               
NIXIE-WARN CUDA error from Failed to record CUDA event for d2h copy: CUDA_ERROR_INVALID_HANDLE                                                                                

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions