huggingface / huggingface/diffusers

create_dynamic_module infinite recursion when setting HF_HOME using relative path

Đang mở
#8,441 6 bình luận 1 reaction 0 người được giao Xem trên GitHub
bug stale
Ngôn ngữ chính
Python
Star
34.5k
Fork
7.3k
Merge trung bình
3 ngày 3 giờ
Pull request đã merge (30 ngày)
91

Mô tả

### Describe the bug

create_dynamic_module infinite recursion when setting HF_HOME using relative path

### Reproduction

```py
import os
os.environ["HF_HOME"] = ".cache/huggingface"

from diffusers.utils.dynamic_modules_utils import DIFFUSERS_DYNAMIC_MODULE_NAME, create_dynamic_module
from diffusers.utils.constants import HF_HOME

if __name__ == "__main__":
print(f"HF_HOME: {HF_HOME}")
full_submodule = DIFFUSERS_DYNAMIC_MODULE_NAME + os.path.sep + "local"
create_dynamic_module(full_submodule)
```

### Logs

```shell
HF_HOME: .cache/huggingface
Traceback (most recent call last):
File "/Users/luochaofan/projects/diffusers/_dynamic_modules.py", line 10, in
create_dynamic_module(full_submodule)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 71, in create_dynamic_module
create_dynamic_module(dynamic_module_path.parent)
[Previous line repeated 52 more times]
File "/Users/luochaofan/projects/diffusers/src/diffusers/utils/dynamic_modules_utils.py", line 70, in create_dynamic_module
if not dynamic_module_path.parent.exists():
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py", line 1414, in exists
self.stat()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/pathlib.py", line 1222, in stat
return self._accessor.stat(self)
OSError: [Errno 63] File name too long: '.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules/.cache/huggingface/modules'
```

### System Info

diffusers 0.28.0

### Who can help?

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu tại src/diffusers/utils/dynamic_modules_utils.py, ở create_dynamic_module, sau đó chạy bản tái hiện với một giá trị HF_HOME tương đối. Hoàn thành khi hàm không còn đệ quy trong lúc xây dựng đường dẫn mô-đun động và lỗi file-name-too-long được báo cáo không xảy ra.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
38/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.