From 3142a6eb3371e6e44bfa8f3ef0d1981adcd55ce9 Mon Sep 17 00:00:00 2001 From: tastelikefeet <58414341+tastelikefeet@users.noreply.github.com> Date: Fri, 6 Mar 2026 16:26:18 +0800 Subject: [PATCH] Fallback to softlock when unixlock fails (#1635) --- modelscope/hub/utils/utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modelscope/hub/utils/utils.py b/modelscope/hub/utils/utils.py index 2276a34c..e7b3c502 100644 --- a/modelscope/hub/utils/utils.py +++ b/modelscope/hub/utils/utils.py @@ -1,6 +1,7 @@ # Copyright (c) Alibaba, Inc. and its affiliates. import contextlib +import errno import hashlib import os import sys @@ -286,6 +287,16 @@ def weak_file_lock(lock_file: Union[str, Path], lock_file) lock = SoftFileLock(lock_file, timeout=default_interval) continue + raise + except OSError as e: + # Handle NFS stale file handle and similar issues + if e.errno in (errno.ESTALE, errno.ENOENT, errno.EREMOTEIO): + logger.warning( + 'Encountered OSError (errno=%d) on %s, Falling back to SoftFileLock.', + e.errno, lock_file) + lock = SoftFileLock(lock_file, timeout=default_interval) + continue + raise else: break