File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -301,6 +301,17 @@ while :; do
301301 # another node. Note bench-pair.sh probes only after building both trees, so
302302 # a fault there discards those builds and the resubmit repeats them.
303303 faulted_node=$( bash " $SCRIPT_DIR /node-exclude.sh" node-from " $output_file " )
304+ # Fall back to SLURM's own record when the MFC_FAULT_NODE marker is
305+ # unreadable. A job that dies before its .out is flushed (or before NFS
306+ # makes it visible) leaves no marker, so node-from returns empty; the
307+ # merge below then adds nothing and SLURM re-draws the SAME bad node. A
308+ # dead-GPU V100 (atl1-1-02-006-34-0, cuInit 999) ate both attempts of run
309+ # 34183404644 exactly this way. sacct knows the node whether or not the
310+ # .out exists, so identification no longer depends on the marker.
311+ if [ -z " $faulted_node " ]; then
312+ faulted_node=$( sacct -j " $job_id " -X -n -o NodeList 2> /dev/null | head -n1 | tr -d ' ' )
313+ case " $faulted_node " in " " |None* |* [,\[ ]* ) faulted_node=" " ;; esac
314+ fi
304315 if [ " $node_attempt " -lt " $MFC_MAX_NODE_RESUBMITS " ]; then
305316 node_attempt=$(( node_attempt + 1 ))
306317 node_exclude=$( bash " $SCRIPT_DIR /node-exclude.sh" merge " $node_exclude " " $faulted_node " )
You can’t perform that action at this time.
0 commit comments