2016-12-02 3 views
2

私のソフトウェアがフォルダの時計を追加したときに問題が発生しているソフトウェアのユーザーと一緒に作業しています。 registerへの呼び出しは永遠にブロックされているようです。ここでは、ユーザーのマシンからスレッドダンプです:WatchServiceは登録時にブロックする必要がありますか?

platformExecutor [01-12_10:14]" Id=56 WAITING on [email protected] 
    at java.lang.Object.wait(Native Method) 
    - waiting on [email protected] 
    at java.lang.Object.wait(Unknown Source) 
    at sun.nio.fs.AbstractPoller$Request.awaitResult(Unknown Source) 
    at sun.nio.fs.AbstractPoller.invoke(Unknown Source) 
    at sun.nio.fs.AbstractPoller.register(Unknown Source) 
    at sun.nio.fs.WindowsWatchService.register(Unknown Source) 
    at sun.nio.fs.WindowsPath.register(Unknown Source) 
    at sun.nio.fs.AbstractPath.register(Unknown Source) 
    at com.elsten.bliss.platform.storage.file.observer.filewatcher.FileWatcherFileSystemObserver$WatchingFileVisitor$$anonfun$preVisitDirectory$2.apply(FileWatcherFileSystemObserver.scala:87) 

我々はそれを数時間放置し、registerの呼び出しが返されませんでした。

監視対象のフォルダは、ネットワーク接続されたストレージ上のネットワーク上で、wifiを使用してアクセスされます。これは信頼性が低いと認識していますが、同様の構成のユーザーが多数おり、これが初めて報告されたのです。

registerのJavadocでは、ブロックする可能性については言及していません。私は実際に何らかのタイムアウトでこのコールを囲むべきですか?

+2

私はこれと同じ問題を見ています。私の場合は、ローカルのファイルシステム上のディレクトリ(ネットワークに接続されていない)を見ています。私のユニットテストは断続的に同じスタックトレースでハングアップします。私は2日間それを残し、それはまだ掛かっています。私は間違いなくこれをバグと呼んでいます。 – JimN

+2

再現可能なテストケースを含め、オラクル社のサポートを受けたチケットをオープンしました。 – JimN

+1

興味深いのは、適切なバグIDを取得したときにURLを投稿してください。これはOracleかOpenJDKか? –

答えて

1

コメントありがとうございました。

It looks like this is a bug、および8u152に固定されている(リリースされたばかり)とJava 9

関連する問題