New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows: Project cannot delete generated JAR file #1682

Closed
pkriens opened this Issue Apr 11, 2017 · 20 comments

Comments

Projects
None yet
4 participants
@pkriens
Member

pkriens commented Apr 11, 2017

I've noticed that sometimes Bndtools under windows can no longer delete the JAR file that it generates. This seems to happen without another process using this file. (Verified with a utility but that reported nobody was using the file, not even eclipse.)

I guess we should at least report an error when the file cannot be deleted?

@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave Apr 18, 2017

Member

I have updated Bnd, bndtools/bnd@4cc6f37#diff-36dfafab267cc44e1c2060c59683808eL1807, to throw an exception if a prior version of the jar file cannot be deleted when the Project is built.

I also updated Bndtools, 339146b and 4f6c810, to attempt to close some places where Jar objects might not be closed.

Member

bjhargrave commented Apr 18, 2017

I have updated Bnd, bndtools/bnd@4cc6f37#diff-36dfafab267cc44e1c2060c59683808eL1807, to throw an exception if a prior version of the jar file cannot be deleted when the Project is built.

I also updated Bndtools, 339146b and 4f6c810, to attempt to close some places where Jar objects might not be closed.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann May 2, 2017

Contributor

With Bndtools 3.4.0.DEV-20170502-134658 I see errors during build that seem to be related to this issue.

The English translation of the message is along the lines of 'Cannot delete file because it is used by another process'. It seems that there are still some files left open.

org.eclipse.core.runtime.CoreException: Build Error!
	at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:286)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.nio.file.FileSystemException: C:\Users\Ruediger\git\repo\project\generated\xyz.jar: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

	at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
	at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
	at java.nio.file.Files.delete(Unknown Source)
	at aQute.lib.io.IO$2.visitFile(IO.java:701)
	at aQute.lib.io.IO$2.visitFile(IO.java:694)
	at java.nio.file.Files.walkFileTree(Unknown Source)
	at java.nio.file.Files.walkFileTree(Unknown Source)
	at aQute.lib.io.IO.deleteWithException(IO.java:694)
	at aQute.lib.io.IO.deleteWithException(IO.java:675)
	at aQute.bnd.build.Project.saveBuild(Project.java:1803)
	at aQute.bnd.build.Project.buildLocal(Project.java:1743)
	at aQute.bnd.build.Project.build(Project.java:1546)
	at aQute.bnd.build.Project.build(Project.java:2070)
	at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:264)
	at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:127)
	at bndtools.central.Central.bndCall(Central.java:596)
	at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:127)
	... 12 more
Contributor

rherrmann commented May 2, 2017

With Bndtools 3.4.0.DEV-20170502-134658 I see errors during build that seem to be related to this issue.

The English translation of the message is along the lines of 'Cannot delete file because it is used by another process'. It seems that there are still some files left open.

org.eclipse.core.runtime.CoreException: Build Error!
	at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:286)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.nio.file.FileSystemException: C:\Users\Ruediger\git\repo\project\generated\xyz.jar: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

	at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
	at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
	at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
	at java.nio.file.Files.delete(Unknown Source)
	at aQute.lib.io.IO$2.visitFile(IO.java:701)
	at aQute.lib.io.IO$2.visitFile(IO.java:694)
	at java.nio.file.Files.walkFileTree(Unknown Source)
	at java.nio.file.Files.walkFileTree(Unknown Source)
	at aQute.lib.io.IO.deleteWithException(IO.java:694)
	at aQute.lib.io.IO.deleteWithException(IO.java:675)
	at aQute.bnd.build.Project.saveBuild(Project.java:1803)
	at aQute.bnd.build.Project.buildLocal(Project.java:1743)
	at aQute.bnd.build.Project.build(Project.java:1546)
	at aQute.bnd.build.Project.build(Project.java:2070)
	at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:264)
	at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:127)
	at bndtools.central.Central.bndCall(Central.java:596)
	at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:127)
	... 12 more
@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave May 2, 2017

Member

We changed Bnd to throw an exception in aQute.bnd.build.Project.saveBuild if the prior version of the jar file cannot be deleted before saving the new version. So some part of Bndtools is holding the file open. Not sure how to figure out which code is not closing the file.

Member

bjhargrave commented May 2, 2017

We changed Bnd to throw an exception in aQute.bnd.build.Project.saveBuild if the prior version of the jar file cannot be deleted before saving the new version. So some part of Bndtools is holding the file open. Not sure how to figure out which code is not closing the file.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann May 12, 2017

Contributor

Not sure how to figure out which code is not closing the file.

I usually start with inspecting the call hierarchy of InputStream, IFile::getContents, getResourceAsStream and the like to see if a caller does not (reliably) close the obtained resource. A tedious approach, but quite often successful.

Contributor

rherrmann commented May 12, 2017

Not sure how to figure out which code is not closing the file.

I usually start with inspecting the call hierarchy of InputStream, IFile::getContents, getResourceAsStream and the like to see if a caller does not (reliably) close the obtained resource. A tedious approach, but quite often successful.

@bjhargrave bjhargrave added this to the 4.0 milestone May 12, 2017

@seanbright

This comment has been minimized.

Show comment
Hide comment
@seanbright

seanbright May 17, 2017

Contributor

Is there a public workspace where this is relatively easily to reproduce?

Contributor

seanbright commented May 17, 2017

Is there a public workspace where this is relatively easily to reproduce?

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann May 17, 2017

Contributor

@seanbright I am afraid, as far as I am concerned, I can't provide one. The issue seems to surface mostly in larger workspaces and besides that, I am currently working on a closed source project.

Contributor

rherrmann commented May 17, 2017

@seanbright I am afraid, as far as I am concerned, I can't provide one. The issue seems to surface mostly in larger workspaces and besides that, I am currently working on a closed source project.

@seanbright

This comment has been minimized.

Show comment
Hide comment
@seanbright

seanbright May 17, 2017

Contributor

@rherrmann and there are no specific actions you are taking before this exception occurs? You're just saving a .java file and it happens? Is the JAR viewer open? Is a framework running?

Contributor

seanbright commented May 17, 2017

@rherrmann and there are no specific actions you are taking before this exception occurs? You're just saving a .java file and it happens? Is the JAR viewer open? Is a framework running?

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann May 18, 2017

Contributor

@seanbright Seems it needs more than just saving a file. I see this issue after working for a while, where working is usually a cycle of saving java files, running tests, and again, saving java files, ... The Jar viewer is not open and no framework is running either.

Contributor

rherrmann commented May 18, 2017

@seanbright Seems it needs more than just saving a file. I see this issue after working for a while, where working is usually a cycle of saving java files, running tests, and again, saving java files, ... The Jar viewer is not open and no framework is running either.

@seanbright

This comment has been minimized.

Show comment
Hide comment
@seanbright

seanbright May 18, 2017

Contributor

So I've run a bunch of tests with YourKit to try and determine if we are leaving files open, and it doesn't appear that we are - at least with the tests I am running. My assumption is that we have the file open for one reason or another, and the builder wants to replace it but it cannot. So I don't think we're leaking file handles, I think this is just an unfortunate timing problem. Stay tuned.

Contributor

seanbright commented May 18, 2017

So I've run a bunch of tests with YourKit to try and determine if we are leaving files open, and it doesn't appear that we are - at least with the tests I am running. My assumption is that we have the file open for one reason or another, and the builder wants to replace it but it cannot. So I don't think we're leaking file handles, I think this is just an unfortunate timing problem. Stay tuned.

@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave May 18, 2017

Member

Thanks for continuing to look at this (since you are our Windows guy).

I went through the code and only found a few possible places we failed to close the jar files and I fixed them. I am wondering if perhaps there is some other Eclipse plugin (not in your Eclipse install) that could be at fault?

Member

bjhargrave commented May 18, 2017

Thanks for continuing to look at this (since you are our Windows guy).

I went through the code and only found a few possible places we failed to close the jar files and I fixed them. I am wondering if perhaps there is some other Eclipse plugin (not in your Eclipse install) that could be at fault?

@seanbright

This comment has been minimized.

Show comment
Hide comment
@seanbright

seanbright May 19, 2017

Contributor

I actually saw this exception yesterday afternoon and all I have is Bndtools installed on a fresh Eclipse install. I noticed it after the fact so I'm not sure what I was doing when it occurred.

Contributor

seanbright commented May 19, 2017

I actually saw this exception yesterday afternoon and all I have is Bndtools installed on a fresh Eclipse install. I noticed it after the fact so I'm not sure what I was doing when it occurred.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann May 19, 2017

Contributor

Two weeks or so ago I switched from 3.3 to 3.4.DEV and since then noticed this issue more often than before. This may also be coincidence, though. I am still not able to provide the exact steps that lead to this problem. Will report here if I have better details.

Contributor

rherrmann commented May 19, 2017

Two weeks or so ago I switched from 3.3 to 3.4.DEV and since then noticed this issue more often than before. This may also be coincidence, though. I am still not able to provide the exact steps that lead to this problem. Will report here if I have better details.

@seanbright

This comment has been minimized.

Show comment
Hide comment
@seanbright

seanbright May 19, 2017

Contributor

We didn't start throwing an exception in this situation until after 3.3 was released. It was happening, you just weren't being notified of it.

Contributor

seanbright commented May 19, 2017

We didn't start throwing an exception in this situation until after 3.3 was released. It was happening, you just weren't being notified of it.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann Jun 22, 2017

Contributor

This issue still exists with Bndtools 3.4.0.DEV-20170619

Contributor

rherrmann commented Jun 22, 2017

This issue still exists with Bndtools 3.4.0.DEV-20170619

@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave Jun 22, 2017

Member

But we have do not have enough details to understand the code which is not releasing the file. So I am unsure how to fix this.

Member

bjhargrave commented Jun 22, 2017

But we have do not have enough details to understand the code which is not releasing the file. So I am unsure how to fix this.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann Jun 22, 2017

Contributor
Contributor

rherrmann commented Jun 22, 2017

@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave Jun 22, 2017

Member

Are you also using the gradle build? It may be that the gradle daemon is holding jar files open. See gradle/gradle#937

Since the jar files built by one project are classpath entries for the compile task of another project, the gradle daemon's compiler support may be holding the classpath files open.

Try disabling the gradle daemon to see if that fixes things.

Member

bjhargrave commented Jun 22, 2017

Are you also using the gradle build? It may be that the gradle daemon is holding jar files open. See gradle/gradle#937

Since the jar files built by one project are classpath entries for the compile task of another project, the gradle daemon's compiler support may be holding the classpath files open.

Try disabling the gradle daemon to see if that fixes things.

@rherrmann

This comment has been minimized.

Show comment
Hide comment
@rherrmann

rherrmann Jun 26, 2017

Contributor

I just double checked, the gradle daemon is not running. Note, that @seanbright could also reproduce the issue with Bndtools installed on a fresh Eclipse install.

Contributor

rherrmann commented Jun 26, 2017

I just double checked, the gradle daemon is not running. Note, that @seanbright could also reproduce the issue with Bndtools installed on a fresh Eclipse install.

@pkriens

This comment has been minimized.

Show comment
Hide comment
@pkriens

pkriens Sep 28, 2017

Member

I've done some more analysing. So far I cannot find any problem with bnd(tools) but I've found 2 suspects:

  • JDT Source Indexer – There is a bug on this: https://bugs.eclipse.org/bugs/show_bug.cgi?id=406170. In a trace I made with Jörn I found exactly this problem. There were hundreds of open files from exactly this bug. They seem to have (partially) fixed this bug in eclipse/eclipse.jdt.core@1c9be78 but this is in Photon. We probably should ask them to back patch this in Oxygen.

  • Groovy-Eclipse – The other place where a reference was held to the most problematic file was in the Groovy Compilation Unit. The Groovy Compilation unit opened a class loader on the JAR but seemed not to close it. This is further investigated.

    #152 D:\projects\iguana_ld\de.sma.iguana.framework\de.sma.api\generated\de.sma.api.jar by thread:Worker-54 on Thu Sep 28 08:48:57 CEST 2017
      at java.util.zip.ZipFile.<init>(ZipFile.java:150)
      at java.util.jar.JarFile.<init>(JarFile.java:166)
      at java.util.jar.JarFile.<init>(JarFile.java:103)
      at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:893)
      at sun.misc.URLClassPath$JarLoader.access$700(URLClassPath.java:756)
      at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:838)
      at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:831)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:830)
      at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:803)
      at sun.misc.URLClassPath$3.run(URLClassPath.java:530)
      at sun.misc.URLClassPath$3.run(URLClassPath.java:520)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.misc.URLClassPath.getLoader(URLClassPath.java:519)
      at sun.misc.URLClassPath.getLoader(URLClassPath.java:492)
      at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:457)
      at sun.misc.URLClassPath.access$100(URLClassPath.java:64)
      at sun.misc.URLClassPath$1.next(URLClassPath.java:239)
      at sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:250)
      at java.net.URLClassLoader$3$1.run(URLClassLoader.java:601)
      at java.net.URLClassLoader$3$1.run(URLClassLoader.java:599)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader$3.next(URLClassLoader.java:598)
      at java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:623)
      at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45)
      at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54)
      at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45)
      at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.doAddGlobalTransforms(ASTTransformationVisitor.java:240)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:228)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:191)
      at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:222)
      at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyParser.makeCompilationUnit(GroovyParser.java:514)
      at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyParser.<init>(GroovyParser.java:260)
      at org.codehaus.jdt.groovy.integration.internal.MultiplexingSourceElementRequestorParser.<init>(MultiplexingSourceElementRequestorParser.java:69)
      at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.buildStructure(GroovyCompilationUnit.java:263)
      at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:259)
      at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:583)
      at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:317)
      at org.eclipse.jdt.internal.core.Openable.open(Openable.java:433)
      at org.eclipse.jdt.internal.core.CompilationUnit.getImports(CompilationUnit.java:786)
      at org.bndtools.builder.ComponentMarker.isComponentInImports(ComponentMarker.java:174)
      at org.bndtools.builder.ComponentMarker.parseChildrenForComponents(ComponentMarker.java:110)
      at org.bndtools.builder.ComponentMarker.updateComponentMarkers(ComponentMarker.java:81)
      at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:274)
      at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:127)
      at bndtools.central.Central.bndCall(Central.java:606)
      at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:127)
      at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
      at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
      at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
      at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
      at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
      at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
    
Member

pkriens commented Sep 28, 2017

I've done some more analysing. So far I cannot find any problem with bnd(tools) but I've found 2 suspects:

  • JDT Source Indexer – There is a bug on this: https://bugs.eclipse.org/bugs/show_bug.cgi?id=406170. In a trace I made with Jörn I found exactly this problem. There were hundreds of open files from exactly this bug. They seem to have (partially) fixed this bug in eclipse/eclipse.jdt.core@1c9be78 but this is in Photon. We probably should ask them to back patch this in Oxygen.

  • Groovy-Eclipse – The other place where a reference was held to the most problematic file was in the Groovy Compilation Unit. The Groovy Compilation unit opened a class loader on the JAR but seemed not to close it. This is further investigated.

    #152 D:\projects\iguana_ld\de.sma.iguana.framework\de.sma.api\generated\de.sma.api.jar by thread:Worker-54 on Thu Sep 28 08:48:57 CEST 2017
      at java.util.zip.ZipFile.<init>(ZipFile.java:150)
      at java.util.jar.JarFile.<init>(JarFile.java:166)
      at java.util.jar.JarFile.<init>(JarFile.java:103)
      at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:893)
      at sun.misc.URLClassPath$JarLoader.access$700(URLClassPath.java:756)
      at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:838)
      at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:831)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:830)
      at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:803)
      at sun.misc.URLClassPath$3.run(URLClassPath.java:530)
      at sun.misc.URLClassPath$3.run(URLClassPath.java:520)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.misc.URLClassPath.getLoader(URLClassPath.java:519)
      at sun.misc.URLClassPath.getLoader(URLClassPath.java:492)
      at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:457)
      at sun.misc.URLClassPath.access$100(URLClassPath.java:64)
      at sun.misc.URLClassPath$1.next(URLClassPath.java:239)
      at sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:250)
      at java.net.URLClassLoader$3$1.run(URLClassLoader.java:601)
      at java.net.URLClassLoader$3$1.run(URLClassLoader.java:599)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader$3.next(URLClassLoader.java:598)
      at java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:623)
      at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45)
      at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54)
      at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45)
      at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.doAddGlobalTransforms(ASTTransformationVisitor.java:240)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:228)
      at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:191)
      at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:222)
      at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyParser.makeCompilationUnit(GroovyParser.java:514)
      at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyParser.<init>(GroovyParser.java:260)
      at org.codehaus.jdt.groovy.integration.internal.MultiplexingSourceElementRequestorParser.<init>(MultiplexingSourceElementRequestorParser.java:69)
      at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.buildStructure(GroovyCompilationUnit.java:263)
      at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:259)
      at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:583)
      at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:317)
      at org.eclipse.jdt.internal.core.Openable.open(Openable.java:433)
      at org.eclipse.jdt.internal.core.CompilationUnit.getImports(CompilationUnit.java:786)
      at org.bndtools.builder.ComponentMarker.isComponentInImports(ComponentMarker.java:174)
      at org.bndtools.builder.ComponentMarker.parseChildrenForComponents(ComponentMarker.java:110)
      at org.bndtools.builder.ComponentMarker.updateComponentMarkers(ComponentMarker.java:81)
      at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:274)
      at org.bndtools.builder.BndtoolsBuilder$1.call(BndtoolsBuilder.java:127)
      at bndtools.central.Central.bndCall(Central.java:606)
      at org.bndtools.builder.BndtoolsBuilder.build(BndtoolsBuilder.java:127)
      at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
      at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
      at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
      at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
      at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
      at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
    
@bjhargrave

This comment has been minimized.

Show comment
Hide comment
@bjhargrave

bjhargrave Apr 13, 2018

Member

Closing. Bndtools/Bnd has made the changes to avoid holding jars open. There are some bugs in other Eclipse plugins which are being worked.

Member

bjhargrave commented Apr 13, 2018

Closing. Bndtools/Bnd has made the changes to avoid holding jars open. There are some bugs in other Eclipse plugins which are being worked.

@bjhargrave bjhargrave closed this Apr 13, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment