6755: find usages hangs

I'm finding that with build 6755 "Find Usages" hangs and even if I put it in the background the IDE is wedged and I need to force a shutdown. This does not happen all the time, for example if I restart the IDE and try a few "Find Usage" commands they complete fine. It's just after a time, after a few Tomcat runs/debug sessions where I see this problem. 6708 did not have this issue but I think 6733 did (if I recall).

I'm on Mac OS 10.4.8. My project is pretty large (>1000 classes and ~40 libraries). I did remove my Cache before trying 6755.

Has anyone else seen this problem? Thanks.

8 comments
Comment actions Permalink

Hello Nick,

I'm finding that with build 6755 "Find Usages" hangs and even if I put
it in the background the IDE is wedged and I need to force a shutdown.
This does not happen all the time, for example if I restart the IDE
and try a few "Find Usage" commands they complete fine. It's just
after a time, after a few Tomcat runs/debug sessions where I see this
problem. 6708 did not have this issue but I think 6733 did (if I
recall).

I'm on Mac OS 10.4.8. My project is pretty large (>1000 classes and
~40 libraries). I did remove my Cache before trying 6755.

Has anyone else seen this problem? Thanks.


Could you please take a thread dump during the deadlock?

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Ok, I know this sounds dumb but do you happen to know where the thread dump goes when you send a Mac OS X process a kill -QUIT?

0
Comment actions Permalink

On 2007-03-15 13:21:46 +0300, Nick Atkins <no_reply@jetbrains.com> said:

Ok, I know this sounds dumb but do you happen to know where the thread
dump goes when you send a Mac OS X process a kill -QUIT?


To the console window if ran from the Terminal or Console's application
console.log if ran without a console.

0
Comment actions Permalink

>> I'm finding that with build 6755 "Find Usages" hangs and even if I
>> put it in the background the IDE is wedged and I need to force a
>> shutdown. This does not happen all the time, for example if I restart
>> the IDE and try a few "Find Usage" commands they complete fine. It's
>> just after a time, after a few Tomcat runs/debug sessions where I see
>> this problem. 6708 did not have this issue but I think 6733 did (if
>> I recall).

Could you please take a thread dump during the deadlock?


Attached is a thread dump for the same (or at least a very similar) problem showing deadlock in 6755.

--Mike



Attachment(s):
idea-find-usages-deadlock.txt
0
Comment actions Permalink

On 2007-03-15 19:28:25 +0300, Michael Kent Werle
<mkwerle_no_spam@nospam.yahoo.com> said:

ang.jsp.JspFileViewProviderImpl$1.compute(JspFileViewProviderImpl.java:56)
at com.intellij.openapi.util.UserDataCache.get(UserDataCache.java:33)
at com.intellij.lang.jsp.JspFileViewProviderI


Fixed.

0
Comment actions Permalink

Fixed.


Thanks!

--Mike


0
Comment actions Permalink

Thanks from me too ;)

0
Comment actions Permalink

In 6763: find usages and press Cancel while it works.

Found one Java-level deadlock:
=============================
"ApplicationImpl pooled thread":
waiting for ownable synchronizer 0xc8cb4a58, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
which is held by "JobScheduler pool"
"JobScheduler pool":
waiting to lock monitor 0x081baa60 (object 0xc5382920, a java.lang.Object),
which is held by "ApplicationImpl pooled thread"

Java stack information for the threads listed above:
===================================================
"ApplicationImpl pooled thread":
at sun.misc.Unsafe.$$YJP$$park(Native Method)
- parking to wait for (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) at sun.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:712) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:842) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1162) at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594) at com.intellij.util.xml.impl.DomFileElementImpl.getRootHandler(DomFileElementImpl.java:31) at com.intellij.util.xml.impl.DomFileElementImpl.getRootElement(DomFileElementImpl.java:75) at com.intellij.javaee.util.JamCommonUtil.getRootElement(JamCommonUtil.java:68) at com.intellij.javaee.web.facet.WebFacetImpl.getRoot(WebFacetImpl.java:156) at com.intellij.javaee.web.WebUtil.getPreludes(WebUtil.java:335) at com.intellij.lang.jsp.JspFileViewProviderImpl.getKnownPrefixesInner(JspFileViewProviderImpl.java:154) at com.intellij.lang.jsp.JspFileViewProviderImpl.access$100(JspFileViewProviderImpl.java:39) at com.intellij.lang.jsp.JspFileViewProviderImpl$1.compute(JspFileViewProviderImpl.java:58) at com.intellij.lang.jsp.JspFileViewProviderImpl$1.compute(JspFileViewProviderImpl.java:56) at com.intellij.openapi.util.FieldCache.get(FieldCache.java:31) at com.intellij.lang.jsp.JspFileViewProviderImpl.getKeyPrefixes(JspFileViewProviderImpl.java:77) - locked <0xc5382920> (a java.lang.Object) at com.intellij.lang.jsp.JspFileViewProviderImpl.getTemplateDataLanguage(JspFileViewProviderImpl.java:72) at com.intellij.psi.impl.source.jsp.JspFileImpl.getBaseLanguageRoot(JspFileImpl.java:63) at com.intellij.psi.impl.source.jsp.JspFileImpl.getPsiRootsInner(JspFileImpl.java:76) at com.intellij.psi.impl.source.jsp.JspFileImpl.getPsiRoots(JspFileImpl.java:68) at com.intellij.psi.impl.search.PsiSearchHelperImpl$12$1$1.run(PsiSearchHelperImpl.java:18) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:152) at com.intellij.psi.impl.search.PsiSearchHelperImpl$12$1.run(PsiSearchHelperImpl.java:2) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:17) at com.intellij.psi.impl.search.PsiSearchHelperImpl$12.run(PsiSearchHelperImpl.java:2) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at com.intellij.concurrency.JobImpl.scheduleAndWaitForResults(JobImpl.java:3) at com.intellij.psi.impl.search.PsiSearchHelperImpl.a(PsiSearchHelperImpl.java:137) at com.intellij.psi.impl.search.PsiSearchHelperImpl.processElementsWithWord(PsiSearchHelperImpl.java:247) at com.intellij.psi.impl.search.MethodUsagesSearcher.execute(MethodUsagesSearcher.java:21) at com.intellij.psi.impl.search.MethodUsagesSearcher.execute(MethodUsagesSearcher.java:26) at com.intellij.util.ExecutorsQuery.forEach(ExecutorsQuery.java:59) at com.intellij.util.UniqueResultsQuery.forEach(UniqueResultsQuery.java:49) at com.intellij.psi.impl.search.PsiSearchHelperImpl.processReferencesIncludingOverriding(PsiSearchHelperImpl.java:241) at com.intellij.psi.impl.search.PsiSearchHelperImpl.findReferencesIncludingOverriding(PsiSearchHelperImpl.java:33) at com.intellij.refactoring.rename.RenameUtil.findUsages(RenameUtil.java:56) at com.intellij.refactoring.rename.RenameProcessor.findUsages(RenameProcessor.java:222) at com.intellij.refactoring.BaseRefactoringProcessor$1$1.run(BaseRefactoringProcessor.java:0) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:152) at com.intellij.refactoring.BaseRefactoringProcessor$1.run(BaseRefactoringProcessor.java:0) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:8) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:17) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:51) at com.intellij.openapi.application.impl.ApplicationImpl$6$1.run(ApplicationImpl.java:8) at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:5) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:0) "JobScheduler pool": at com.intellij.psi.impl.source.parsing.ChameleonTransforming.transformChildren(ChameleonTransforming.java:19) - waiting to lock <0xc5382920>]]> (a java.lang.Object)
at com.intellij.psi.impl.source.parsing.ChameleonTransforming.transformChildren(ChameleonTransforming.java:15)
at com.intellij.psi.impl.source.xml.XmlFileImpl.getDocument(XmlFileImpl.java:2)
at com.intellij.util.xml.impl.DomFileElementImpl.getRootTag(DomFileElementImpl.java:77)
at com.intellij.util.xml.impl.DomFileElementImpl.getRootHandler(DomFileElementImpl.java:86)
at com.intellij.util.xml.impl.DomManagerImpl.a(DomManagerImpl.java:82)
at com.intellij.util.xml.impl.DomManagerImpl.a(DomManagerImpl.java:104)
at com.intellij.util.xml.impl.DomManagerImpl.a(DomManagerImpl.java:11)
at com.intellij.util.xml.impl.DomManagerImpl.a(DomManagerImpl.java:11)
at com.intellij.util.xml.impl.DomManagerImpl.getDomElement(DomManagerImpl.java:18)
at com.intellij.util.xml.impl.GenericValueReferenceProvider.getReferencesByElement(GenericValueReferenceProvider.java:33)
at com.intellij.util.xml.impl.DomLazyReferenceProvider.getReferencesByElement(DomLazyReferenceProvider.java:3)
at com.intellij.psi.impl.source.resolve.ResolveUtil.getReferencesFromProviders(ResolveUtil.java:93)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.getReferences(XmlAttributeValueImpl.java:10)
at com.intellij.psi.impl.search.MethodUsagesSearcher$3.execute(MethodUsagesSearcher.java:22)
at com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsContainingWordInElement(LowLevelSearchUtil.java:17)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$12$1$1.run(PsiSearchHelperImpl.java:3)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:152)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$12$1.run(PsiSearchHelperImpl.java:2)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:17)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$12.run(PsiSearchHelperImpl.java:2)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)

0

Please sign in to leave a comment.