[jbosstools-issues] [JBoss JIRA] (JBIDE-9917) Deadlock in JarAccessFactory.getJarAccess()

Viacheslav Kabanovich (Commented) (JIRA) jira-events at lists.jboss.org
Fri Oct 21 20:38:45 EDT 2011


    [ https://issues.jboss.org/browse/JBIDE-9917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636632#comment-12636632 ] 

Viacheslav Kabanovich commented on JBIDE-9917:
----------------------------------------------

One more case XModelEntityImpl.getRequiredChildren() - it should be reimplemented.
                
> Deadlock in JarAccessFactory.getJarAccess()
> -------------------------------------------
>
>                 Key: JBIDE-9917
>                 URL: https://issues.jboss.org/browse/JBIDE-9917
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: common/jst/core
>    Affects Versions: 3.3.0.M3
>            Reporter: Viacheslav Kabanovich
>            Assignee: Viacheslav Kabanovich
>             Fix For: 3.3.0.M4
>
>
> HashMap should never be invoked without synchronization if there is a chance that it may be accessed by different threads.
> Thread [Worker-0] (Suspended)
> HashMap<K,V>.get(Object) line: 320
> JarAccessFactory.getJarAccess(String, JarSystemImpl) line: 11
> JarSystemImpl.getJarAccess() line: 32
> JarSystemImpl.getChildByPathPart(String) line: 74
> JarSystemImpl(XModelObjectImpl).getChildByPath(String) line: 334
> TaglibMapping.findTldsInJar(XModelObject) line: 225
> TaglibMapping.findTldsInJars() line: 209
> TaglibMapping.revalidate(XModelObject) line: 85
> JSFWatcherContributor.updateProject() line: 49
> Watcher.updateAll() line: 106
> Watcher.access$0(Watcher) line: 89
> Watcher$WatcherRunnable.run() line: 47
> XJob.runInWorkspace(IProgressMonitor) line: 178
> XJob(InternalWorkspaceJob).run(IProgressMonitor) line: 38
> Worker.run() line: 54
> Thread [Worker-7] (Suspended)
> HashMap<K,V>.get(Object) line: 320
> JarAccessFactory.getJarAccess(String, JarSystemImpl) line: 11
> JarSystemImpl.getJarAccess() line: 32
> JarSystemImpl.getChildByPathPart(String) line: 74
> JarSystemImpl(XModelObjectImpl).getChildByPath(String) line: 334
> ClassPathMonitor.process() line: 68
> JSF2ProjectBuilder.build(int, Map<String,String>, IProgressMonitor) line: 101
> KbBuilder.buildExtensionModels(int, Map, IProgressMonitor) line: 191
> KbBuilder.build(int, Map<String,String>, IProgressMonitor) line: 136
> BuildManager$2.run() line: 728
> SafeRunner.run(ISafeRunnable) line: 42
> BuildManager.basicBuild(int, IncrementalProjectBuilder, Map<String,String>, MultiStatus, IProgressMonitor) line: 199
> BuildManager.basicBuild(IBuildConfiguration, int, IBuildContext, ICommand[], MultiStatus, IProgressMonitor) line: 239
> BuildManager$1.run() line: 292
> SafeRunner.run(ISafeRunnable) line: 42
> BuildManager.basicBuild(IBuildConfiguration, int, IBuildContext, MultiStatus, IProgressMonitor) line: 295
> BuildManager.basicBuildLoop(IBuildConfiguration[], IBuildConfiguration[], int, MultiStatus, IProgressMonitor) line: 351
> BuildManager.build(IBuildConfiguration[], IBuildConfiguration[], int, IProgressMonitor) line: 374
> AutoBuildJob.doBuild(IProgressMonitor) line: 143
> AutoBuildJob.run(IProgressMonitor) line: 241
> Worker.run() line: 54

--
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

        


More information about the jbosstools-issues mailing list