問題タブ [broken-pipe]

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 投票する
1 に答える
2892 参照

java - Javaで壊れたパイプを解決するには?

フォルダー ディレクトリからファイルを読み取っているときに、Broken Pipe Exception が発生しました。次のコードを実行してください...

IOUtils.copy(inputStream, outputStream); で inputStream と outputStream をコピー中にパイプの破損が発生しました。

壊れたパイプを解決するにはどうすればよいですか? PipedInputStream を使用できますか? この例外を処理するこの適切な方法はありますか。

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

python-2.7 - java.io.IOException: マッパー/リデューサーの数が増えているため、パイプが壊れています。

4 つの map タスクと 10 の reduce タスクが構成された 6 ノードの Hadoop クラスターで MapReduce ジョブを実行しています。

Mapper/Reducer は、以下のように map/reduce タスクの数が増えると多くの失敗をします。

複数のノードで実行中のタスク

次のエラーが発生します。

stderr ログ

この:

syslog ログ

最も単純なプログラムでさえ、この問題を引き起こしています:

mapper.py

reducer.py

次のコマンドを使用して、hadoop を実行しています。

何か提案できますか?

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

ocaml - OCaml - 致命的なエラー: `| を使用すると例外 Sys_error("Broken pipe") が発生する 多くの行を含む出力の head`

多くの行を含むテキスト ファイルがあります。このファイルを行ごとに処理し、行を出力する簡単な OCaml プログラムを書きたいと思います。

このプログラムを作成するために、最初に行数の少ない小さなファイルを作成しました。これにより、プログラムの実行がより速く終了します。

filter.mlこれが私が書いた簡単なボイラープレートプログラムです:

入力ファイルの場所をコマンド ライン引数として取り、このファイルを読み取るためのファイル ハンドルを作成し、process_linesこのファイル ハンドルを引数として再帰関数を呼び出します。

process_linesオプションの引数ixを使用して、ファイルハンドルから行ごとに読み取るときに行番号をカウントします。process_lines は、 から読み取った行をfile_handle標準出力に出力するだけです。

次に、小さな入力ファイルでプログラムを実行し、出力を Linuxheadコマンドにパイプすると、すべて正常に動作します。

そして、より大きなファイルでプログラムを実行すると、壊れたパイプのエラーが表示されます。

このような壊れたパイプ エラーは、パイプheadのライター (この場合は私の OCaml プログラム) が書き込みを完了する前に、パイプのリーダー (この場合はコマンド) が終了すると発生することを学びました。tailコマンドをリーダーとして使用した場合、そのようなエラーが発生しないのはそのためです。

しかし、ファイルの行数が少ないのに、パイプの破損エラーが発生しなかったのはなぜですか?

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

python - squid を使用した Python スクリプトでのパイプの破損エラー

squid url_rewriter_program を使用して、アクセスした URL をログに記録する単純な Python スクリプトを実行しています。ただし、実行するたびに、sys.stdout.flush() で壊れたパイプ エラーでリライターがクラッシュします。

具体的な解決策を提案してください。

pythonコードは次のとおりです。

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

javascript - フラスコサーバーへのajax呼び出しを使用したログイン認証(壊れたパイプ)

Pythonサーバー(Flask)へのajax呼び出しを使用してWebアプリケーションでユーザーを認証しようとしています。これにより、メインサーバーが呼び出されます.Flaskサーバーに資格情報を渡して認証を行うことができます.しかし、認証後、それに応じてWebページにメッセージをリダイレクト/表示できるように、成功メッセージをクライアントに返す必要があります。次のコードクライアントコードを書きました:

1)Javascript:

}

2) HTML:

3)フラスコサーバーコード:

問題:

1) Chrome ではなく Mozilla ブラウザからリクエストを行うと、POST ではなく GET リクエストを受け取り、認証が行われません。

2) POST リクエストを送信しても、アドレス バーの URL にユーザー名とパスワードが表示されます。

親切に助けてください...私は今2日間苦労しています。

ありがとう、サヤン

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

python - Python amqp 壊れたパイプ エラー

簡単な質問:

「Broken Pipe Error」を防ぐために、RabbitMQ の通信中に 2 つの独立したアプリケーションが同時に同じチャネルを使用しないように祈る必要がありますか? (または、スレッド化は、2 つ以上の独立したアプリケーションを持つこととは異なりますか?)

歴史:

私はいくつかのアプリケーションを作成しましたが、そのうちの 1 つ (io-server) は、他のアプリケーションの観点からはサーバーのように機能し、RabbitMQ サーバーの観点からはクライアントのように機能しています。

これで、約 10 分間、すべてが期待どおりに機能します。次に、io-server がクラッシュします。トレースバックの最後の部分は次のとおりです。

RabbitMQ ログの関連部分は次のとおりです。

ネットを検索できる限り、最も有望な答えは次のとおりです。

アプリを同期的に公開することがあります。しかし、すべてのアプリケーションが同期して実行されることを保証するにはどうすればよいでしょうか? 私は本当にしなければならないのですか?

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

mysql - Hibernate c3p0 キープアライブが機能していないようで、「Broken Pipe」例外が発生します

Web アプリケーション (NO Spring) で c3p0 と組み合わせて Hibernate を使用しています。一晩で、データベース接続 (または少なくとも 1 つ) がタイムアウトしたように見え、翌日パイプ破損の例外が発生します。
以下は、私がプロジェクトに使用している構成です。

私が得ている例外は次のようになります:

ここでの問題は、プロパティ autoReconnect=true を使用していて、接続の有効性をテストしていることです。(c3p0 構成を参照してください。) c3p0 構成がロードされていることはほぼ確実です。標準出力ログに次のように表示されるからです。

例外の壊れたパイプ部分は次のとおりです。

インターネットで見つけたものに基づいて、次のことを試しました。

  • 接続 URL に autoReconnect=true を追加 (使用しようとした後も接続が切断されているため、再接続が行われていないように見えることに注意してください)
  • c3p0 構成への testConnectionOnCheckout と testConnectionOnCheckin の追加
  • c3p0 構成への idle_test_period と preferredTestQuery の追加

そして、何も機能していないようです。この問題の原因について何か考えている人はいますか?

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

android - もう一方の端でパイプ破損エラーが発生する原因は何ですか?

Androidフォンからタブレットにデータを送信するクライアントサーバーアプリがあります-電話、SMS、バッテリー状態などさらに、クライアントには PhoneStateListener と、通話やバッテリーの状態などを追跡する BroadcastReceiver があります。

要点は、両端が生きているということですが、ある段階で (私のロギング設定によると約 20 分)、クライアントは「壊れたパイプ」があると報告します。

サーバー側では、スレッド内でクライアントからのシングルバイトコマンドをリッスンするループ内のサーバーをブロックしていますが、問題の原因を見つけるために毎分実行されるスレッドも追加しました。

クライアントが破損したパイプを検出すると、サーバーソケットが原因であるという状態があると想定していますが、次のことをテストしています-

  • Socket が開いているかどうか。
  • 入力ストリームまたは出力ストリームが開いているかどうかに関係なく、
  • それらのいずれかが null かどうか。

残念ながら、これらの条件はすべて問題なく、
接続がまだアクティブであるように見えます。何を探すべきですか?

私ができるようにしたいのは、クライアントが「壊れたパイプ」を検出すると、サーバーも検出し、再接続を試みることです。