kusumotolab / kGenProg

A High-performance, High-extensibility and High-portability APR System
MIT License
48 stars 13 forks source link

多重起動できない #722

Closed shinsuke-mat closed 4 years ago

shinsuke-mat commented 4 years ago

kdemo作成中に気づいたバグ. 多重起動のタイミングによってはkgpが死ぬ

java.nio.file.FileSystemException: C:\msys\tmp\junit-4.12-kgp-custom.jar: プロセスはファイルにアクセスできません。別のプロセスが使用中です。

        at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
        at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
        at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
        at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:274)
        at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
        at java.base/java.nio.file.Files.deleteIfExists(Files.java:1180)

内部リソースとして抱えている junit.jar の扱いの問題. kgpはこういう流れで実行する.

  1. junit.jar のファイル書き出し
  2. repairイテレーション
  3. junit.jar の削除

同パスで junit.jar を扱っているため,1と3がタイミングによってはぶつかってしまう.