Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Wrong exception is raised at keyboard interrupt and application never finishes

Đang mở
#14 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

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

Hướng nghiên cứu

Bắt đầu tại src/devdocs2zim/entrypoint.py ở main, sau đó lần theo generator.py qua run, generate_zim và add_zim_contents đến lời gọi creator.add_item_for được hiển thị trong traceback. Tái hiện thao tác ngắt bằng bàn phím và xác định xem exception không đúng hoặc việc dọn dẹp tài nguyên được xử lý ở đây hay trong dependency upstream bị nghi ngờ là pylibzim. Được xem là hoàn tất khi thao tác ngắt tạo ra exception đúng và scraper thoát thay vì tiếp tục bị kẹt.

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

Mô tả

upstream

When a keyboard interrupt is sent while the libzim creator has already been created and is procesing entries, wrong exception is raised and the scraper never finishes and stays stuck.

^C[devdocs2zim::2024-09-10 07:12:10,459] ERROR:Traceback (most recent call last):
  File "libzim/libzim.pyx", line 98, in libzim.string_cy_call_fct
  File "libzim/libzim.pyx", line 84, in libzim.call_method
AttributeError: 'StaticItem' object has no attribute 'get_mimetype'
Traceback (most recent call last):
  File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/entrypoint.py", line 90, in main
    ).run()
      ^^^^^
  File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 366, in run
    self.generate_zim(
  File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 423, in generate_zim
    self.add_zim_contents(
  File "/home/benoit/Repos/openzim/devdocs/src/devdocs2zim/generator.py", line 499, in add_zim_contents
    creator.add_item_for(  # type: ignore
  File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 367, in add_item_for
    self.add_item(
  File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 404, in add_item
    raise exc
  File "/home/benoit/Repos/openzim/devdocs/.hatch/devdocs2zim/lib/python3.12/site-packages/zimscraperlib/zim/creator.py", line 401, in add_item
    super().add_item(item)
  File "libzim/libzim.pyx", line 358, in libzim._Creator.add_item
RuntimeError: Traceback (most recent call last):
  File "libzim/libzim.pyx", line 98, in libzim.string_cy_call_fct
  File "libzim/libzim.pyx", line 84, in libzim.call_method
AttributeError: 'StaticItem' object has no attribute 'get_mimetype'

I strongly suspect this is linked to both wrong exception handling in pylibzim and/or a problem freeing C++ resources.

I'll open an issue in pylibzim, because I strongly suspect this is an upstream issue.

Ngôn ngữ chính
Python
Star
9
Fork
3
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

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

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của openzim/devdocs

Tất cả issue của openzim/devdocs

Issue tương tự

Thêm issue về Python

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.