jonnyzzz / IDEA.Dependencies

A plugin to analyze/remove unused dependencies between IntelliJ project modules
Apache License 2.0
5 stars 1 forks source link

Deadlock is comeing #16

Closed jonnyzzz closed 10 years ago

jonnyzzz commented 10 years ago

Must not start write action from within read action in the other thread - deadlock is coming java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:39) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:56) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:39) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:56) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:39) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:56) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:39) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)

java.lang.Throwable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:113) at com.intellij.openapi.application.WriteAction.execute(WriteAction.java:56) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.runWriteAction(ModuleDependenciesUpdater.java:77) at com.eugenePetrenko.idea.dependencies.ModuleDependenciesUpdater.updateModuleDependencies(ModuleDependenciesUpdater.java:49) at com.eugenePetrenko.idea.dependencies.actions.PostAction$3.run(PostAction.java:67) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:479) at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:289) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:186) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:218) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:220) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:173) at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:645) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)