2016-03-22 9 views
2

JDK8_74/Wildfly 9.0.1.Finalでいくつかの奇妙な(現在は再現不可能な)動作が発生しました。ポストリクエストのパラメータを解析すると、ワーカースレッドはネイティブメソッドPollArrayWrapper.poll0(long, int, long)に無限ループを開始します。スレッドは1つのコアで100%のCPU負荷を消費します。Wildfly 9.0.1.Finalでのパラメータ読み込みタイムアウト

mServlet.java:468 io.undertow.servlet.spec.HttpServletRequestImpl.getParameterValues(String) 
    HttpServletRequestImpl.java:679 io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData() 
... 
    SelectorImpl.java:86 sun.nio.ch.PollSelectorImpl.doSelect(long) 
     PollSelectorImpl.java:87 sun.nio.ch.PollArrayWrapper.poll(int, int, long) 
     PollArrayWrapper.java:115 sun.nio.ch.PollArrayWrapper.poll0(long, int, long) 

誰でもこれを見ましたか?それは、異なる機会に異なるプロジェクトでポップアップするようだ。2005年以来、JDK Bugとして数回報告されており、修正済みとマークされている。

どのようなアイデアがありますか?poll0メソッドでWildflyにタイムアウトを強制的に適用させる方法はありますか?

敬具、 ジョナサン

+0

httpsリスナーを使用している場合、これはですか? – ctomc

+0

@ctomc httpsではなくhttpを使用しています。 – Jonathan

+0

あなたの正確なOSは何ですか? – ctomc

答えて

0

暗示ctomcとして、この問題は非常に可能性の高い非解決JDK-バグです。私たちのソフトウェアはさまざまな実行環境で動作していますが、SLES 11.4.23システムでこの問題が発生しています。

ヒストリスタイルでスレッドカプセル化を使用することが考えられます。Callable内にクリティカルコールをカプセル化し、ウォッチドッグ/タイムアウトの何らかの形を実装することができます。

関連する問題