This repository has been archived on 2026-08-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2026-08-20 00:45:43 +02:00

83 lines
2.6 KiB
Python

"""Diagnose and fix VAE hang. Check log, fix threading, restart."""
import paramiko, time, json
k = paramiko.Ed25519Key.from_private_key_file(r'C:\Users\fabia\.ssh\id_ed25519')
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect('192.168.178.150', username='fabian', pkey=k, timeout=10)
sftp = c.open_sftp()
def sh(cmd, timeout=30):
chan = c.get_transport().open_session()
chan.settimeout(timeout)
chan.exec_command('/bin/bash -l -c ' + "'" + cmd.replace("'", "'\\''") + "'")
out = b""
while True:
try:
chunk = chan.recv(65536)
if not chunk: break
out += chunk
except: break
chan.close()
return out.decode(errors='replace').strip()
# 1. What's running?
print("=== CURRENT STATE ===")
ps = sh('ps aux | grep main.py | grep -v grep')
print(f"Process: {ps or 'NONE'}")
# Check env of running process
env = sh(r'cat /proc/$(pgrep -f "python3.*main.py" | head -1)/environ 2>/dev/null | tr "\0" "\n" | grep -E "OMP|MKL|COMFYUI|THREAD|OPENBLAS"')
print(f"Env:\n{env}")
# 2. Log tail
print("\n=== LOG TAIL ===")
try:
with sftp.open('/tmp/comfyui.log', 'r') as f:
log = f.read().decode(errors='replace')
for line in log.split('\n')[-40:]:
s = line.strip()
if s: print(f" {s}")
except Exception as e:
log = ''
print(f" No log: {e}")
# 3. Check launcher
print("\n=== LAUNCHER ===")
try:
with sftp.open('/tmp/run_comfyui.sh', 'r') as f:
print(f.read().decode())
except: print(" No launcher")
# 4. model_management.py patch?
with sftp.open('/home/fabian/ComfyUI/comfy/model_management.py', 'r') as f:
mm = f.read().decode()
print(f"SHARED patch: {'YES' if 'COMFYUI_SHARED_MEMORY' in mm else 'NO'}")
# 5. Check torch threads in same env
print("\n=== TORCH THREADS ===")
tcheck = sh('''source ~/comfyui-env/bin/activate
export HSA_OVERRIDE_GFX_VERSION=10.1.0
python3 -c "
import torch, os
print(f'torch.get_num_threads() = {torch.get_num_threads()}')
print(f'OMP_NUM_THREADS = {os.environ.get(chr(34)+'OMP_NUM_THREADS'+chr(34), chr(34)+'NOT SET'+chr(34))}')
"''', timeout=30)
print(tcheck)
# 6. Check sitecustomize
print("\n=== SITECUSTOMIZE ===")
sc = sh('cat ~/comfyui-env/lib/python*/site-packages/sitecustomize.py 2>/dev/null || echo MISSING')
print(sc[:500])
# 7. Key log lines
print("\n=== KEY LOG ENTRIES ===")
for line in log.split('\n'):
s = line.strip()
if any(x in s.lower() for x in ['vram state', 'shared', 'loaded', 'offloaded', 'device:', 'total vram', 'vae', 'thread']):
print(f" {s}")
sftp.close()
c.close()
print("\nDiag done.")