You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Bugs:
Guard 1 — Prevention (scheduler.py:1440): Case bug. 'DLPNO' in
level.method but Level.__init__ normalizes to lowercase. Dead code since
the day it was written — never fired once.
Guard 2 — Troubleshooting (trsh.py:1070): Structurally unreachable. This
one actually used lowercase 'dlpno' correctly, but it was an elif after
the Memory branch. The error flow made it impossible to reach:
1. ORCA crashes with INVALID ORBITAL RANGE in err.txt
2. determine_ess_status reads the log file, finds "ORCA finished by
error termination in MDCI", scans for "Please increase MaxCore" or
"parallel calculation exceeds number of pairs" — finds neither
3. Falls through the for-else to: "MDCI error in Orca. Assuming memory
allocation error." → keywords = ['MDCI', 'Memory']
4. trsh_ess_job sees 'Memory' in keywords → enters Memory branch →
increases memory → resubmits
5. Same crash → step 2 → infinite loop
The DLPNO check at step 4 was behind elif, so it could never fire when
Memory was in the keywords. Two bugs compounding — the first one
prevents the problem, the second one should have caught it but couldn't
due to the control flow.
---
Following on for why ARC did the trsh ad infinitum:
1. ORCA fails → determine_ess_status sees "ORCA finished by error
termination in MDCI", doesn't find "Please increase MaxCore" or
"parallel calculation exceeds number of pairs" in the log → falls
through to else: keywords = ['MDCI', 'Memory']
2. trsh_ess_job enters Orca Memory branch → 'memory' not in
ess_trsh_methods → appends 'memory' → calculates new memory via
estimate_orca_mem_cpu_requirement(num_heavy_atoms=0) → couldnt_trsh
stays False
3. Scheduler resubmits with new memory → same ORCA crash
4. trsh_ess_job enters Orca Memory branch again → 'memory' already in
list (not re-added) → calculates same memory estimate → couldnt_trsh
stays False
5. Repeat step 3-4 forever
0 commit comments