問題タブ [eoferror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
8641 参照

python - Python: EOFError を除いて: ... 動作しません

メッセージを送信し、クライアントからの確認を待つ try/except ブロックがあります。クライアントが終了すると、pickle は EOFError を発生させますが、以下のコードはエラーをキャッチせず、正常なシャットダウンを実行しません。代わりにスタック トレースを出力します。「except socket.error、EOFError:」という行に関係していると思います-socket.errorとEOFErrorの両方を処理するために間違った構文を使用していますか?

0 投票する
1 に答える
453 参照

python - cPickleを使用すると、ファイルの最初のエントリのみが返されます

cPickleを使用して辞書オブジェクトをファイルに保存していますが、最初のエントリ以外のエントリを取得できません。最初はファイルtweets.pklが空で、EOFErrorが発生します。私はそれがそれと関係があると確信しています。ありがとう

0 投票する
2 に答える
910 参照

ruby-on-rails - 「遅い」API での ActiveResource EOFError

私はこれを解決するのに真剣に苦労しています。

私は 2 つの Rails アプリを持っています。それらを Client と Service と呼びましょう。すべて非常にシンプルで通常の REST インターフェイスです。基本的なシナリオは次のとおりです。

  • クライアントがサービスに対して POST /resources.json リクエストを行う
  • サービスは、リソースを作成し、ID をクライアントに返すプロセスを実行します。

繰り返しますが、サービスの処理は非常に時間がかかり、数分かかる場合があるということだけです。その場合、サービスがリクエストを正しく処理し、200/201 で応答している間、リクエストが行われてから正確に 60 秒後にクライアントで EOFError が発生します ( ActiveResource::Base.timeout の設定に関係なく)。これは、ログに表示されるものです(時系列):

明らかに、サービスの応答はクライアントに届きませんでした。エラーをソケット レベルまで追跡し、シナリオをスクリプトで再現しました。そこでは、TCPSocket を開いてデータを取得しようとしました。私は何も要求していないので、何も返されず、要求は 70 秒後にタイムアウトするはずです (下部の完全なスクリプトを参照してください)。

これらは、いくつかのドメインの結果です。

ご覧のとおり、70 秒間「待機」できるサーバーもあれば、接続を終了して EOFErrors を発生させたサーバーもありました。サービスに対してこのテストを行ったところ、(予想通り) 60 秒後に EOFError が発生しました。

なぜこれが起こるのか誰か知っていますか?これらを防止したり、サーバー側のタイムアウトを延長したりする方法はありますか? ソケットが閉じられた後もサービスは「機能」し続けるため、プロキシレベルで終了する必要があると思いますか?

すべてのヒントをいただければ幸いです。

PS: 完全なスクリプト:

0 投票する
1 に答える
2594 参照

python - Pickle: 辞書を読む、EOFError

私は最近、ピクルスについて知りました。しかし、実際のスクリプトに使用するとエラーが発生し、1 項目の辞書でテストすると問題なく動作しました。私の実際のスクリプトは、Maya 内のさまざまなオブジェクトを格納する数千行のコードです。サイズと関係があるかどうかはわかりません。ここで多くのスレッドを読みましたが、エラーに固有のものはありません。

私はすべての優先順位で書いてみました。運がない。

これは私の出力コードです:

これは私の読み取りコードです:

これはエラーです:

0 投票する
1 に答える
8459 参照

python - ftplibを使用するときに例外とともにEOFErrorを取得する

自動FTPファイル同期を行うためにftplib (および場合によってはftputil )を使用することを検討しています。現在、これをテストするサーバーがいくつかありますが、両方のサーバーとの会話が成功している間、エラー応答ごとにEOFError-sが発生します。例:間違ったユーザー/パスでログインしようとすると、すべてで530応答が返されますが、EOFErrorも発生します。正しいユーザー/パスでログインするか、ログインした後にdir()を実行しようとすると、EOFErrorは発生しません。

エラーメッセージでのみ表示されるようです。これはPythonではなくサーバーが原因である可能性が高いと強く思います。他の場所でこの問題についての言及は見つかりませんでした。ただし、サーバーのセットアップを制御することはほとんどできません。

私はアイデアを求めています:

  • そもそもエラーの原因を知っていますか?
  • サーバーサイドの場合、具体的に教えてください。それが何であるかを知るまで、私はそれについて何かをすることができるかどうかわかりません...
  • 私はこれをどのように扱うべきだと思いますか?except EOFError: pass例外を処理するたびに前に追加できると思いますが、より良い/より良いアイデアがあれば、ぜひ聞いてみてください。

ありがとう!

0 投票する
3 に答える
9688 参照

python - raw_input()のPythonEOFエラー

コマンドプロンプトでユーザーから入力を取得しようとしています。プログラムは、「cat text.txt|./thescript.py」の方法でテキストファイルからデータを読み込みます。

問題のスクリプトの時点で、すべてのデータはすでに読み込まれ、処理され、リストのリストに入れられています。

今、私は疑わしいアイテムを探しているリストのリストを繰り返しています。コードは基本的に次のようになります。

このコードはEOFErrorになります。私がすでに理解していることから、この場合、stdinはcatからの読み取りであり、すでにEOFに達しているため、raw_inputがここでEOFを取得するのはなぜですか?(私は思う)目的は、スクリプトに標準エラーに対する警告を出力させ、警告を無視して続行するか完全に終了するかを選択できるようにすることです。最終的に、すべての出力はstd outに送られ、エラーの警告や応答は含まれません。試行/例外を使用する例を見たことがありますが、このコンテキストではそれを理解できませんでした。(例:raw_inputが入力を待たないのはなぜですか?)

私はこの問題を間違った方法で攻撃しているので、歩き回って飛び越えたほうがよい問題を作成しているのではないかと思います。いつものようにどんな助けでもありがたいです。

0 投票する
1 に答える
4117 参照

python - Pythonでのピクルス処理中のEOFError

ここに問題があります-私はピクルスにしようとしています、そして次にヒスコアをピクルスに外します。pickle.loadを使用すると、Pythonは、自分が持っている「Pickle」というファイルを読み込もうとしていると考えているようです。コードは次のとおりです。

ピクルスコードは次のとおりです。

そして、ここにエラーメッセージがあります:

他に間違いがあったとしても心配しないでください。私はまだ学んでいますが、これを解決することはできません。

0 投票する
1 に答える
635 参照

ruby-on-rails - PrivatePub.publish_toの実行時にEOFファイルの終わりエラーが発生しました

EOFErrorファイルの終わりエラーが発生します。SSLのRailsコントローラー内でPrivatePub.publish_to( "/ dir / file"、 "Some Text")を実行する場合。構文解析ではなくURIと関係があると思います。しかし、本当にわからないので、私を正しい方向に向けるために何かを追跡することはできません。

他の誰かがSSLでPrivatePubを実行しようとして、このようなものに遭遇したり、解決策がありますか?

更新:おそらくコンソールで何か便利なものを手に入れました。実行:

res = PrivatePub.publish_to( "/orders / 160 / status_update"、 "confirmed")
は次のようになりました:=>#<Net::HTTPOK 200 OK readbody=true>

その後、実行しました:

res.body
が取得しました:=> [{"channel":"/orders/160/status_update","error":"Incorrect token.","successful":false}]

更新:
シンサーブを実行するとこれを取得しますverbose:
[{"id": "g"、 "channel": "/ meta / connect"、 "successful":false、 "error": "401:3qz34hj7bsqbpr953e8rfa89b:Unknown client" 、"アドバイス":{"再接続":"ハンドシェイク"}}]

更新:
nginx構成でいくつかのことを行いましたが、次のようになりました:400プレーンHTTPリクエストがHTTPSポートに送信されました。

更新:
サーバーのセットアップで私が行うことはこれを解決しません。EOFError応答のprivate_pubに関連するエラーは次のとおりです。from/usr/local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:34:
inpublish_messagefrom
/ usr /local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:28:inpublish_to
は次のとおりです:
34行目のpublish_message(message(channel、data))
28行目のurl = URI.parse(config [:server])

解決しました!
private_pubgemのフォークのlib/private_pub.rbにrequire'net/https'とrequire'uri'を追加しました。

net / httpsまたはuri、あるいはその両方がチケットであったかどうかはわかりませんが、EOFErrorは発生せず、publish_toメソッドは現在アドバタイズされているように機能しているようです。今すぐメインブランチとのマージをリクエストするか、元の宝石の所有者に通知して、彼が適切と思うようにさせる必要があると思います。

0 投票する
1 に答える
853 参照

ruby - open-uri とループを使用した Ruby EOFError

Webクローラーを構築しようとしていて、ちょっとした障害に遭遇しました。基本的に私がやっていることは、Web ページからリンクを抽出し、各リンクをキューにプッシュすることです。Ruby インタープリターがコードのこのセクションにヒットするたびに:

次のエラーが表示されます。

上記のコード ブロックをコメント アウトすると、エラーは発生しません。よろしくお願いします。残りのコードは次のとおりです。

0 投票する
2 に答える
14935 参照

python - Python Pickling Dictionary EOFError

サーバー上で、さまざまな辞書をピクルおよびアンピクルするスクリプトをいくつか実行しています。以下に示すように、それらはすべて酸洗に同じ基本コードを使用します。

スクリプトの 1 つを除いて、すべてのスクリプトが正常に実行されます。問題のあるものは、さまざまな Web サイトにアクセスしてデータをスクレイピングし、辞書に格納します。このコードは、一日中酸洗い辞書と解凍辞書を実行し、真夜中に停止します。cronjob は、翌朝に再び開始します。このスクリプトは問題なく数週間実行できますが、月に約 1 回、辞書を開こうとしたときに EOFError が原因でスクリプトが停止します。辞書のサイズは通常約 80 MB です。夜がフラッシュされていることを確認するためにデータをピクルするときに、SellerDict.close()の前にSellerDict.flush()を追加しようとさえしました。

これを引き起こしている可能性のあるアイデアはありますか?Python はかなりしっかりしているので、ファイルのサイズが原因ではないと思います。コードが死ぬ前に長い間正常に実行される場合、この問題の原因となっている辞書に何かが保存されている可能性があると思われますが、私にはわかりません。

また、ピクル以外の辞書を保存するためのより良い方法を知っている場合は、オプションを用意しています. 先ほど言ったように、辞書は常に開いたり閉じたりしています。明確にするために、同じ辞書を使用するのは 1 つのプログラムのみであるため、複数のプログラムが同じ辞書にアクセスしようとしても問題は発生しません。

アップデート:

ログファイルから取得したトレースバックを次に示します。