Problem with parallel execution of plantuml

Hi All,
i have a multithreaded Application which can call multiple plantuml conversations in parallel threads.

One example call is this:

java -DPLANTUML_LIMIT_SIZE=16384 -jar “d:\VDFData\Json2Puml\plantuml\plantuml-1.2022.14.jar” “d:\VDFData\Json2Puml\output\1864\data\100000145100\summary.full.puml” -svg

This sometimes lead to the following errors in the log file (the errors are repeat more times, but I removed the repeats to spare space).
Any idea how to solve/prevent that.

java.io.FileNotFoundException: C:\Windows\TEMP\_graphviz\dot.exe (The process cannot access the file because it is being used by another process)
  at java.base/java.io.FileOutputStream.open0(Native Method)
  at java.base/java.io.FileOutputStream.open(FileOutputStream.java:292)
  at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
  at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:185)
  at net.sourceforge.plantuml.windowsdot.WindowsDotArchive.extract(WindowsDotArchive.java:95)
  at net.sourceforge.plantuml.windowsdot.WindowsDotArchive.getWindowsExeLite(WindowsDotArchive.java:122)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizWindowsLite.specificDotExe(GraphvizWindowsLite.java:56)
  at net.sourceforge.plantuml.cucadiagram.dot.AbstractGraphviz.searchDotExe(AbstractGraphviz.java:90)
  at net.sourceforge.plantuml.cucadiagram.dot.AbstractGraphviz.<init>(AbstractGraphviz.java:75)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizWindowsLite.<init>(GraphvizWindowsLite.java:67)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils.create(GraphvizUtils.java:100)
  at net.sourceforge.plantuml.svek.DotStringFactory.getGraphvizVersionInternal(DotStringFactory.java:291)
  at net.sourceforge.plantuml.svek.DotStringFactory.getGraphvizVersion(DotStringFactory.java:285)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntityInternal(GeneralImageBuilder.java:551)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntity(GeneralImageBuilder.java:533)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntities(GeneralImageBuilder.java:525)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.buildImage(GeneralImageBuilder.java:399)
  at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFileInternal(CucaDiagramFileMakerSvek.java:100)
  at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFile(CucaDiagramFileMakerSvek.java:69)
  at net.sourceforge.plantuml.baraye.CucaDiagram.exportDiagramInternal(CucaDiagram.java:646)
  at net.sourceforge.plantuml.classdiagram.ClassDiagram.exportDiagramInternal(ClassDiagram.java:188)
  at net.sourceforge.plantuml.UmlDiagram.exportDiagramNow(UmlDiagram.java:135)
  at net.sourceforge.plantuml.AbstractPSystem.exportDiagram(AbstractPSystem.java:179)
  at net.sourceforge.plantuml.PSystemUtils.exportDiagramsDefault(PSystemUtils.java:196)
  at net.sourceforge.plantuml.PSystemUtils.exportDiagrams(PSystemUtils.java:87)
  at net.sourceforge.plantuml.SourceFileReaderAbstract.getGeneratedImages(SourceFileReaderAbstract.java:186)
  at net.sourceforge.plantuml.Run.manageFileInternal(Run.java:518)
  at net.sourceforge.plantuml.Run.processArgs(Run.java:401)
  at net.sourceforge.plantuml.Run.manageAllFiles(Run.java:368)
  at net.sourceforge.plantuml.Run.main(Run.java:203)
java.io.FileNotFoundException: C:\Windows\TEMP\_graphviz\cdt.dll (The process cannot access the file because it is being used by another process)
  at java.base/java.io.FileOutputStream.open0(Native Method)
  at java.base/java.io.FileOutputStream.open(FileOutputStream.java:292)
  at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
  at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:185)
  at net.sourceforge.plantuml.windowsdot.WindowsDotArchive.extract(WindowsDotArchive.java:95)
  at net.sourceforge.plantuml.windowsdot.WindowsDotArchive.getWindowsExeLite(WindowsDotArchive.java:122)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizWindowsLite.specificDotExe(GraphvizWindowsLite.java:56)
  at net.sourceforge.plantuml.cucadiagram.dot.AbstractGraphviz.searchDotExe(AbstractGraphviz.java:90)
  at net.sourceforge.plantuml.cucadiagram.dot.AbstractGraphviz.<init>(AbstractGraphviz.java:75)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizWindowsLite.<init>(GraphvizWindowsLite.java:67)
  at net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils.create(GraphvizUtils.java:100)
  at net.sourceforge.plantuml.svek.DotStringFactory.getGraphvizVersionInternal(DotStringFactory.java:291)
  at net.sourceforge.plantuml.svek.DotStringFactory.getGraphvizVersion(DotStringFactory.java:285)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntityInternal(GeneralImageBuilder.java:551)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntity(GeneralImageBuilder.java:533)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.printEntities(GeneralImageBuilder.java:525)
  at net.sourceforge.plantuml.svek.GeneralImageBuilder.buildImage(GeneralImageBuilder.java:399)
  at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFileInternal(CucaDiagramFileMakerSvek.java:100)
  at net.sourceforge.plantuml.svek.CucaDiagramFileMakerSvek.createFile(CucaDiagramFileMakerSvek.java:69)
  at net.sourceforge.plantuml.baraye.CucaDiagram.exportDiagramInternal(CucaDiagram.java:646)
  at net.sourceforge.plantuml.classdiagram.ClassDiagram.exportDiagramInternal(ClassDiagram.java:188)
  at net.sourceforge.plantuml.UmlDiagram.exportDiagramNow(UmlDiagram.java:135)
  at net.sourceforge.plantuml.AbstractPSystem.exportDiagram(AbstractPSystem.java:179)
  at net.sourceforge.plantuml.PSystemUtils.exportDiagramsDefault(PSystemUtils.java:196)
  at net.sourceforge.plantuml.PSystemUtils.exportDiagrams(PSystemUtils.java:87)
  at net.sourceforge.plantuml.SourceFileReaderAbstract.getGeneratedImages(SourceFileReaderAbstract.java:186)
  at net.sourceforge.plantuml.Run.manageFileInternal(Run.java:518)
  at net.sourceforge.plantuml.Run.processArgs(Run.java:401)
  at net.sourceforge.plantuml.Run.manageAllFiles(Run.java:368)
  at net.sourceforge.plantuml.Run.main(Run.java:203)

Regards
Jens

This is a bug in plantuml not graphviz. looks like plantuml is trying to modify a file while another thread is using it: C:\Windows\TEMP_graphviz\dot.exe