[
https://issues.jboss.org/browse/JBIDE-10111?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich commented on JBIDE-10111:
-----------------------------------------------
When project is closed while it is being built, any piece of code accessing it or its
resources may become the first one that fails with exception. Even the code like
{code}
if(project.isAccessible()) {
project.findMarkers();
}
{code}
is not 100% safe, because project can become not accessible right after it has been
checked for the accessibility.
Should we try to prevent all possible exceptions?
ConcurrentModificationException after closing Seam War project
--------------------------------------------------------------
Key: JBIDE-10111
URL:
https://issues.jboss.org/browse/JBIDE-10111
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: common/jst/core
Affects Versions: 3.3.0.Beta1
Reporter: Denis Golovin
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.Beta1
Now Test case in steps to reproduce fails on last step with bunch of exceptions. First is
throws exception
{noformat}org.eclipse.core.internal.resources.ResourceException: Resource
'/seam22hib' is not open.
at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:150)
at org.eclipse.core.internal.resources.Resource.findMarkers(Resource.java:1007)
at
org.jboss.tools.jst.web.kb.internal.validation.KBValidator.findBuilderOrderMarker(KBValidator.java:129)
at
org.jboss.tools.jst.web.kb.internal.validation.KBValidator.validateBuilderOrder(KBValidator.java:89)
at
org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validateBuilderOrder(ELValidator.java:482)
at
org.jboss.tools.jst.web.kb.internal.validation.ELValidator.shouldValidate(ELValidator.java:468)
at org.jboss.tools.common.validation.ValidationContext.init(ValidationContext.java:86)
at
org.jboss.tools.common.validation.ValidationContext.<init>(ValidationContext.java:42)
at
org.jboss.tools.common.validation.ContextValidationHelper.getValidationContextManager(ContextValidationHelper.java:161)
at
org.jboss.tools.common.validation.ContextValidationHelper.getValidationContextManager(ContextValidationHelper.java:153)
at
org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:65)
at
org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54){noformat}
then
{noformat}java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
at java.util.HashMap$KeyIterator.next(HashMap.java:845)
at
org.jboss.tools.common.model.project.ext.AbstractClassPathMonitor.syncProcessedPaths(AbstractClassPathMonitor.java:110)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.process(ClassPath.java:73)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.build(ClassPath.java:178)
at org.jboss.tools.seam.internal.core.SeamProject.build(SeamProject.java:371)
at org.jboss.tools.seam.core.SeamCoreBuilder.build(SeamCoreBuilder.java:50)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54){noformat}
and finally
{noformat}java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
at java.util.HashMap$KeyIterator.next(HashMap.java:845)
at
org.jboss.tools.common.model.project.ext.AbstractClassPathMonitor.syncProcessedPaths(AbstractClassPathMonitor.java:110)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.process(ClassPath.java:73)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.build(ClassPath.java:178)
at org.jboss.tools.seam.internal.core.SeamProject.build(SeamProject.java:371)
at org.jboss.tools.seam.core.SeamCoreBuilder.build(SeamCoreBuilder.java:50)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54){noformat}
here is related part of my .log file
{noformat}
!ENTRY org.eclipse.jst.jsp.core 4 4 2011-11-07 12:22:59.680
!MESSAGE A workspace crash was detected. The previous session did not exit normally. Not
using saved taglib indexes.
!ENTRY org.jboss.tools.jst.web.kb 4 0 2011-11-07 12:24:00.831
!MESSAGE Resource '/seam22hib' is not open.
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Resource '/seam22hib' is
not open.
at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:150)
at org.eclipse.core.internal.resources.Resource.findMarkers(Resource.java:1007)
at
org.jboss.tools.jst.web.kb.internal.validation.KBValidator.findBuilderOrderMarker(KBValidator.java:129)
at
org.jboss.tools.jst.web.kb.internal.validation.KBValidator.validateBuilderOrder(KBValidator.java:89)
at
org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validateBuilderOrder(ELValidator.java:482)
at
org.jboss.tools.jst.web.kb.internal.validation.ELValidator.shouldValidate(ELValidator.java:468)
at org.jboss.tools.common.validation.ValidationContext.init(ValidationContext.java:86)
at
org.jboss.tools.common.validation.ValidationContext.<init>(ValidationContext.java:42)
at
org.jboss.tools.common.validation.ContextValidationHelper.getValidationContextManager(ContextValidationHelper.java:161)
at
org.jboss.tools.common.validation.ContextValidationHelper.getValidationContextManager(ContextValidationHelper.java:153)
at
org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:65)
at
org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 org.eclipse.core.resources 4 372 2011-11-07 12:24:00.839
!MESSAGE Resource '/seam22hib' is not open.
!ENTRY org.eclipse.core.resources 4 2 2011-11-07 12:24:03.211
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.core.resources".
!STACK 0
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
at java.util.HashMap$KeyIterator.next(HashMap.java:845)
at
org.jboss.tools.common.model.project.ext.AbstractClassPathMonitor.syncProcessedPaths(AbstractClassPathMonitor.java:110)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.process(ClassPath.java:73)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.build(ClassPath.java:178)
at org.jboss.tools.seam.internal.core.SeamProject.build(SeamProject.java:371)
at org.jboss.tools.seam.core.SeamCoreBuilder.build(SeamCoreBuilder.java:50)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.core.resources 4 75 2011-11-07 12:24:21.210
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.jboss.tools.seam.core 4 75 2011-11-07 12:24:21.210
!MESSAGE Errors running builder 'Seam Builder' on project 'seam2hib'.
!STACK 0
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
at java.util.HashMap$KeyIterator.next(HashMap.java:845)
at
org.jboss.tools.common.model.project.ext.AbstractClassPathMonitor.syncProcessedPaths(AbstractClassPathMonitor.java:110)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.process(ClassPath.java:73)
at org.jboss.tools.seam.internal.core.scanner.lib.ClassPath.build(ClassPath.java:178)
at org.jboss.tools.seam.internal.core.SeamProject.build(SeamProject.java:371)
at org.jboss.tools.seam.core.SeamCoreBuilder.build(SeamCoreBuilder.java:50)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54){noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira