Skip to content

Commit 7576839

Browse files
committed
use subprocess timeout to handle modal failures
1 parent 456df3b commit 7576839

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

examples/star/run.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ python examples/star/star.py \
99
--iteration 5 \
1010
--learning_rate 1e-6 \
1111
--per_device_train_batch_size 1 \
12-
--gradient_accumulation_steps 8
12+
--gradient_accumulation_steps 8 \
13+
--max_workers 64
1314

examples/star/utils.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def execute_tests(
6464
input=sample,
6565
text=True,
6666
capture_output=True,
67+
timeout=30,
6768
): (i, j)
6869
for (i, j, instance_id, sample) in tasks
6970
}
@@ -72,9 +73,13 @@ def execute_tests(
7273
as_completed(futures), total=len(tasks), desc="Executing tests"
7374
):
7475
i, j = futures[future]
75-
result = future.result()
76-
stdout = result.stdout
77-
exit_code = result.returncode
76+
try:
77+
result = future.result()
78+
stdout = result.stdout
79+
exit_code = result.returncode
80+
except subprocess.TimeoutExpired:
81+
stdout = "Timeout"
82+
exit_code = -1
7883
all_traces[i][j] = stdout
7984
all_execution_results[i][j] = exit_code
8085

0 commit comments

Comments
 (0)