EOFError: Ran out of input
Scrapbox ChatGPT Connectorで学習させるときにmacがsleepしてずっと継続できずに接続エラーになって失敗するので立ち上げ直していたことろ、EOFError: Ran out of inputが出て以後動かなくなってしまった基素.icon code:zsh
Traceback (most recent call last):
File "/Users/motoso/github.com/nishio/scrapbox_chatgpt_connector/make_index.py", line 95, in <module>
update_from_scrapbox()
File "/Users/motoso/github.com/nishio/scrapbox_chatgpt_connector/make_index.py", line 52, in update_from_scrapbox
vs = VectorStore(name)
File "/Users/motoso/github.com/nishio/scrapbox_chatgpt_connector/make_index.py", line 75, in __init__
self.cache = pickle.load(open(self.name, "rb"))
EOFError: Ran out of input
解決していない
pickleファイルが壊れているのかな?
176MBある
ChatGPT.icon
このエラーは、pickleがオブジェクトを読み込もうとしているファイルの末尾に到達したことを示しています。これは、ファイルが不完全であるか、pickle化されたオブジェクトが破損している可能性があります。
このエラーを解決するためには、pickleが読み込もうとしているファイルを確認し、問題がある場合は修正する必要があります。可能性がある問題をいくつか挙げます。
ファイルが正常に保存されていない。
ファイルが破損しているか、書き込み中に問題が発生した場合、pickle化されたオブジェクトが正常に書き込まれなかった可能性があります。この場合、ファイルを再度書き込んでみることを試してください。
ファイルの形式が正しくない。
pickleファイルは、バイナリ形式で保存されている必要があります。テキストエディターなどでファイルを開くと、読み込めない文字列が表示される場合があります。ファイルが正しい形式で保存されていることを確認してください。
ピクル化されたオブジェクトが破損している。
ピクル化されたオブジェクトが破損している可能性があります。この場合、ファイルを作り直すことで解決できる可能性があります。
以上のような対処をしてもエラーが解消しない場合は、問題があるオブジェクトをpickle化する際に使用したコードを確認し、オブジェクトが正しくpickle化されていることを確認する必要があります。
壊れてそうだなー基素.icon
明日やり直す?(48h立つので早くなるはず)
壊れてそうnishio.icon
たぶんこれ、pickleの書き出し中にCtrl-Cしちゃうとファイルが全部書き出されないので、次回の読み込みで「壊れてる」となる現象nishio.icon
まー、それは壊れるだろうな、という感じ
真面目に対処しようとしたら、書き出しが完了してから止まるようにしなきゃだけどコードが複雑になるかな〜
一応できたけどmainブランチに入れるか悩ましい
あ、ダメだ、シグナルハンドラを戻してないからCtrl+Cできなくなったw