私はループ内に座ってコマンドを受け取るプロセスを持っています。Erlang受信***警告***
receive
increase ->
...
decrease ->
...
after 5000 ->
...
end
しかし、何千ものメッセージでそれを爆撃すると、これらの警告が壊れて受信されます。
警告メッセージ:
***WARNING*** Unexp msg {<0.106.0>,rec_acked}, info {running,
[{'_UserConnections',20}],
{ieval,3994,34,log,
clientLogging,
[20],
false}}
は、これを処理するためにとにかくありますか?それは問題を引き起こしますか?
ありがとうございました!
この警告をトリガするテストケースを減らすことができますか?これは私がこの正確な警告を見つけることができる唯一の例です:https://github.com/erlang/otp/blob/770454f0a32fbc0714c6762ed3e4d761b799814f/lib/debugger/src/dbg_icmd.erl#L225-L226。なぜそのプロセスが 'rec_acked'メッセージを受信しているのか不明です。 – Dogbert
約1000以上のプロセスが1つのPID(ループ)にメッセージを送信すると起こります。 – Mike5050
これをトリガーする条件がいくつか追加されている必要があります。私はちょうど2000年の産卵プロセスから2000のメッセージを1つのプロセスに送りました。警告メッセージはありませんでした(合計400万メッセージ)。メインプロセスがメッセージを処理していないため、Erlang VMは現在500MB以上のRAMを使用しています。 – Dogbert