Wrong exception is raised at keyboard interrupt and application never finishes
まだ誰も着手していません。
評価
調査の方向性
src/devdocs2zim/entrypoint.py の main から開始し、generator.py を run、generate_zim、add_zim_contents の順にたどって、traceback に示されている creator.add_item_for の呼び出しまで確認します。キーボード割り込みを再現し、誤った Exception またはリソースのクリーンアップがここで処理されているのか、それとも疑われる upstream 依存関係 pylibzim で処理されているのかを判断します。割り込みによって正しい Exception が発生し、scraper が停止せずに固まったままになるのではなく終了すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 9
- フォーク
- 3
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openzim/devdocs のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
Make zimcheck pass オープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
openzim/devdocs の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
stephrobert/dsoxlab#238 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
sublimehq/package_control#1780 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
nwg-piotr/nwg-displays#145 ·