The concorekill.bat generated by concore.py and concore.java checks each PID with wmic before killing it. wmic isn't there anymore on recent Windows 11, and when cmd can't find the first command in a pipe it aborts the whole batch file.
So the script exits with code 255 right at the wmic line. Nothing gets killed, nothing is printed, and the cleanup never runs. ./stop looks like it worked but all the nodes are still running.
Repro:
- On Windows without
wmic (where wmic finds nothing)
- Run any node that imports concore
- Run the generated
concorekill.bat
Expected: the node is killed and concorekill_pids.txt / concorekill.bat are cleaned up.
Actual: no output, the node keeps running, both files stay.
Swapping wmic for tasklist or PowerShell's Get-CimInstance Win32_Process should fix it.
Tested on dev at 0d9597f, Windows 11 25H2, Python 3.12.10
The
concorekill.batgenerated by concore.py and concore.java checks each PID withwmicbefore killing it.wmicisn't there anymore on recent Windows 11, and when cmd can't find the first command in a pipe it aborts the whole batch file.So the script exits with code 255 right at the
wmicline. Nothing gets killed, nothing is printed, and the cleanup never runs../stoplooks like it worked but all the nodes are still running.Repro:
wmic(where wmicfinds nothing)concorekill.batExpected: the node is killed and
concorekill_pids.txt/concorekill.batare cleaned up.Actual: no output, the node keeps running, both files stay.
Swapping
wmicfortasklistor PowerShell'sGet-CimInstance Win32_Processshould fix it.Tested on dev at 0d9597f, Windows 11 25H2, Python 3.12.10