title: JetPack: "Gradle sync failed: Already disposed!"
body: <p>I've been using Android Studio <strong>3.1.x</strong> on my Debian 9.0 Stretch desktop for some time now with no problems.</p>
  
  <p>I recently installed Android Studio <strong>3.2 Canary 14</strong> (aka <em>JetPack</em>). Following the <em>Getting Started</em> instructions for JetPack, I create a new project w/Kotlin support, and choose <em>Activity &amp; Fragment+ViewModel</em>.</p>
  
  <p>When I try to sync the newly-created project (i.e. <em>Sync Project with Gradle Files</em>), <strong>the sync fails</strong>.</p>
  
  <p>Looking in the log, I find that an assertion failed (see below):</p>
  
  <pre><code>2018-05-12 16:44:59,062 [ thread 43]   WARN - ea.IdeaSyncPopulateProjectTask - Sync failed: Already disposed! 
      java.lang.RuntimeException: java.lang.AssertionError: Already disposed!
          at com.intellij.openapi.application.impl.LaterInvocator.invokeAndWait(LaterInvocator.java:179)
          at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:651)
          at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:656)
          at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeOnEdt(ExternalSystemApiUtil.java:480)
          at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.executeProjectChangeAction(ExternalSystemApiUtil.java:469)
          at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.dispose(ProjectDataManagerImpl.java:442)
          at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:163)
          at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:221)
          at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl.importData(ProjectDataManagerImpl.java:228)
          at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.doPopulateProject(IdeaSyncPopulateProjectTask.java:120)
          at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.populate(IdeaSyncPopulateProjectTask.java:97)
          at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask.access$000(IdeaSyncPopulateProjectTask.java:39)
          at com.android.tools.idea.gradle.project.sync.idea.IdeaSyncPopulateProjectTask$1.run(IdeaSyncPopulateProjectTask.java:86)
          at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:750)
          at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
          at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
          at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
          at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
          at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
          at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:395)
          at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.AssertionError: Already disposed!
          at com.intellij.openapi.components.impl.ComponentManagerImpl.disposeComponents(ComponentManagerImpl.java:128)
          at com.intellij.openapi.module.impl.ModuleImpl.dispose(ModuleImpl.java:145)
          at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:48)
          at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:44)
          at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:169)
          at com.intellij.openapi.util.objectTree.ObjectTree.executeUnregistered(ObjectTree.java:181)
          at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:140)
          at com.intellij.openapi.util.Disposer.dispose(Disposer.java:129)
          at com.intellij.openapi.util.Disposer.dispose(Disposer.java:125)
          at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.dispose(ModuleManagerImpl.java:895)
          at com.intellij.openapi.externalSystem.service.project.AbstractIdeModifiableModelsProvider.dispose(AbstractIdeModifiableModelsProvider.java:467)
          at com.intellij.openapi.externalSystem.service.project.manage.ProjectDataManagerImpl$3.execute(ProjectDataManagerImpl.java:445)
          at com.intellij.openapi.externalSystem.util.DisposeAwareProjectChange.run(DisposeAwareProjectChange.java:36)
          at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1010)
          at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.lambda$executeProjectChangeAction$6(ExternalSystemApiUtil.java:469)
          at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
          at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:156)
          at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
          at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
          at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
          at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
          at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
          at java.awt.EventQueue.access$500(EventQueue.java:98)
          at java.awt.EventQueue$3.run(EventQueue.java:715)
          at java.awt.EventQueue$3.run(EventQueue.java:709)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
          at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:779)
          at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:720)
          at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:395)
          at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
          at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
          at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
          at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
  2018-05-12 16:44:59,063 [ thread 43]   INFO - e.project.sync.GradleSyncState - Gradle sync failed: Already disposed! (1 s 170 ms)
  </code></pre>
  
  <p>I've tried reinstalling everything, deleting the .gradle directory, etc; no joy.</p>
  
  <p>There seems to be no mention of this issue online, so I'm guessing it's something specific to my setup (vs. a known issue with JetPack), but I'm not sure where to look or what to do about it.</p>
  
  <p>Can anyone shed some light on this?</p>