=== shutdown diagnostic @ SIGTERM === --- date --- 2026-06-17T18:06:40Z --- ps auxf (top 60 by cpu) --- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S Jun15 0:00 [kthreadd] wildlama 114214 96.6 0.1 135252 110584 ? R 20:06 0:00 \_ /usr/bin/python3 /usr/share/apport/apport -p10010 -s5 -c0 -d1 -P10010 -u1000 -g1000 -F3 -- !opt!google!chrome!chrome root 114043 26.0 0.0 0 0 ? I 20:06 0:00 \_ [kworker/12:1-events] root 1 0.0 0.0 27236 17676 ? Rs Jun15 1:09 /usr/lib/systemd/systemd --switched-root --system --deserialize=52 splash root 114230 1.8 0.0 6120 4232 ? D 20:06 0:00 /usr/sbin/plymouthd --mode=reboot --attach-to-session --- pstree of self --- hermes,2795,wildlama -m hermes_cli.main gateway run |-timeout,114404 5 bash -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2795 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | `-bash,114407 -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2795 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | |-head,114484 -40 | `-pstree,114483 -plau 2795 |-{hermes},3222 |-{hermes},3305 |-{hermes},3345 |-{hermes},5855 |-{hermes},61014 `-{hermes},65014 --- /proc/loadavg --- 2.60 2.23 2.13 7/601 114516 --- recent dmesg (oom/killed) --- === end === === shutdown diagnostic @ SIGTERM === --- date --- 2026-06-17T18:09:30Z --- ps auxf (top 60 by cpu) --- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 20:09 0:00 [kthreadd] root 1360 0.3 0.0 0 0 ? S 20:09 0:00 \_ [nvidia-modeset/kthread_q] root 1 3.6 0.0 26140 16744 ? Rs 20:09 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize=52 splash root 2375 6.0 0.0 3180900 48116 ? Ssl 20:09 0:01 /snap/snapd/current/usr/lib/snapd/snapd --- pstree of self --- hermes,2801,wildlama -m hermes_cli.main gateway run |-timeout,7281 5 bash -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2801 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | `-bash,7286 -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2801 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | |-head,7349 -40 | `-pstree,7348 -plau 2801 |-{hermes},3256 |-{hermes},3335 |-{hermes},3368 |-{hermes},3369 `-{hermes},6110 --- /proc/loadavg --- 0.62 0.16 0.05 5/595 7403 --- recent dmesg (oom/killed) --- === end === === shutdown diagnostic @ SIGTERM === --- date --- 2026-06-17T21:20:31Z --- ps auxf (top 60 by cpu) --- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 22:24 0:00 [kthreadd] root 1588 0.9 0.0 0 0 ? S 22:24 0:32 \_ [nvidia-modeset/kthread_q] root 1 0.0 0.0 26056 5820 ? Ss 22:24 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize=52 splash root 2568 0.1 0.0 1358624 25144 ? Ssl 22:24 0:05 /usr/sbin/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/run/tailscale/tailscaled.sock --port=41641 --- pstree of self --- hermes,2674,wildlama -m hermes_cli.main gateway run |-bash,27852 -lic set +m; cd /home/wildlama/comfy/ComfyUI && /home/wildlama/miniconda3/bin/python main.py >/tmp/comfyui.log 2>&1 | `-(python,27932) | `-{python},28377 |-bash,28218 -lic set +m; python3 - <<'PY'\012from pathlib import Path\012import json,re,requests,uuid,time\012p=Path('/home/wildlama/.hermes/cache/documents/doc_84b0de370c51_outpaint_LTX 2.3 -v1.json')\012raw=p.read_text(); lines=[]\012for line in raw.splitlines():\012 m=re.match(r'^\\d+\\|(.*)$', line)\012 lines.append(m.group(1) if m else line)\012wf=json.loads('\\n'.join(lines))\012remove_ids={5092,5104}\012for n in wf['nodes']:\012 if n['type']=='VHS_LoadVideo': n['widgets_values']['video']='to16.9_v001.mp4'\012 elif n['type']=='CM_FloatToInt': n['type']='LTXFloatToInt'\012 elif n['type']=='Image Blank': n['type']='EmptyImage'; n['widgets_values']=[512,512,1,16777215]; n['inputs']=[]\012 elif n['type']=='Int': n['type']='PrimitiveInt'; n['widgets_values']=[int(n.get('widgets_values',['5'])[0])]; n['inputs']=[]\012wf['nodes']=[n for n in wf['nodes'] if n['id'] not in remove_ids]\012wf['links']=[l for l in wf['links'] if l[1] not in remove_ids and l[3] not in remove_ids]\012info=requests.get('http://127.0.0.1:8188/object_info', timeout=30).json()\012def link_src(link_id):\012 l=next(x for x in wf['links'] if x[0]==link_id)\012 return [str(l[1]), l[2]]\012prompt={}\012for node in wf['nodes']:\012 nid=str(node['id']); ntype=node['type']; widgets=node.get('widgets_values', {})\012 inputs={}\012 for inp in node.get('inputs',[]):\012 name=inp['name']; link=inp.get('link')\012 if link is not None: inputs[name]=link_src(link)\012 elif isinstance(widgets,dict):\012 key=inp.get('widget',{}).get('name',name)\012 if key in widgets and key!='videopreview': inputs[name]=widgets[key]\012 required=list(info.get(ntype,{}).get('input',{}).get('required',{}).keys())\012 if isinstance(widgets,dict):\012 for k in required:\012 if k not in inputs and k in widgets and k!='videopreview': inputs[k]=widgets[k]\012 elif isinstance(widgets,list):\012 missing=[k for k in required if k not in inputs]\012 for k,v in zip(missing, widgets): inputs[k]=v\012 if ntype=='UnetLoaderGGUF':\012 inputs={'unet_name':'ltx-2.3-22b-dev-Q5_K_M.gguf'}\012 elif ntype=='EmptyImage':\012 inputs={'width':512,'height':512,'batch_size':1,'color':16777215}\012 elif ntype=='PrimitiveInt':\012 inputs={'value':int(node.get('widgets_values',[5])[0])}\012 elif ntype=='RandomAspectRatioMask':\012 inputs={'image':link_src(node['inputs'][0]['link']),'aspect_ratio':'16:9','placement':'center','scale_pct':'100','rotation':'0','bg_color':'black','seed':1309747386,'feathering':40}\012 elif ntype=='ResizeImageMaskNode':\012 if node['id']==5026:\012 inputs={'input':link_src(node['inputs'][0]['link']),'resize_type':'scale by multiplier','resize_type.multiplier':0.5,'scale_method':'lanczos'}\012 elif node['id']==5085:\012 inputs={'input':link_src(node['inputs'][0]['link']),'resize_type':'scale to multiple','resize_type.multiple':32,'scale_method':'area'}\012 elif node['id']==5090:\012 inputs={'input':link_src(node['inputs'][0]['link']),'resize_type':'match size','resize_type.match':link_src(node['inputs'][1]['link']),'resize_type.crop':'center','scale_method':'area'}\012 elif ntype=='VHS_VideoCombine' and isinstance(widgets,dict):\012 for k in ['frame_rate','loop_count','filename_prefix','format','pix_fmt','bitrate','megabit','save_metadata','pingpong','save_output']:\012 if k in widgets and k not in inputs: inputs[k]=widgets[k]\012 prompt[nid]={'class_type':ntype,'inputs':inputs}\012resp=requests.post('http://127.0.0.1:8188/prompt', json={'prompt':prompt,'client_id':str(uuid.uuid4())}, timeout=60)\012print('PROMPT_STATUS', resp.status_code); print(resp.text); resp.raise_for_status()\012pid=resp.json()['prompt_id']; print('PROMPT_ID', pid)\012for i in range(720):\012 h=requests.get(f'http://127.0.0.1:8188/history/{pid}', timeout=30).json()\012 if pid in h:\012 st=h[pid].get('status',{})\012 print('STATUS', i, st.get('status_str'), st.get('completed'))\012 if st.get('completed') or st.get('status_str') in ('error','failed'):\012 print(json.dumps(h[pid], indent=2)[:30000]); break\012 else: print('WAIT',i)\012 time.sleep(10)\012PY | `-python3,28298 - |-node,24858 /home/wildlama/.hermes/lsp/bin/pyright-langserver --stdio | |-{node},24860 | |-{node},24861 | |-{node},24862 | |-{node},24863 | |-{node},24864 | `-{node},24865 |-timeout,28408 5 bash -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2674 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | `-bash,28409 -c echo '=== shutdown diagnostic @ SIGTERM ==='; echo '--- date ---'; date -u +%Y-%m-%dT%H:%M:%SZ; echo '--- ps auxf (top 60 by cpu) ---'; ps auxf --sort=-pcpu 2>/dev/null | head -60; echo '--- pstree of self ---'; pstree -plau 2674 2>/dev/null | head -40 || true; echo '--- /proc/loadavg ---'; cat /proc/loadavg 2>/dev/null || true; echo '--- recent dmesg (oom/killed) ---'; dmesg -T 2>/dev/null | tail -20 || journalctl --user -n 20 --no-pager 2>/dev/null | tail -20 || true; echo '=== end ===' | |-head,28414 -40 | `-pstree,28413 -plau 2674 |-{hermes},3274 |-{hermes},3331 |-{hermes},3368 |-{hermes},8172 |-{hermes},17299 |-{hermes},18067 |-{hermes},22123 |-{hermes},22732 |-{hermes},24859 |-{hermes},27854 `-{hermes},28219 --- /proc/loadavg --- 7.69 3.56 2.76 2/1836 28415 --- recent dmesg (oom/killed) --- === end ===