java.lang.RuntimeException: Typeahead timeout is exceeded: 10007

Issue #93 resolved
James Howe created an issue

Plugin version 8.1.113

Happens when using any search window (Find in Path, Find Class, etc.). UI responsiveness heavily impacted.

java.lang.RuntimeException: Typeahead timeout is exceeded: 10007
    at com.intellij.ide.IdeEventQueue.lambda$isTypeaheadTimeoutExceeded$18(IdeEventQueue.java:1275)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:781)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:687)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:965)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:186)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:172)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:455)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:453)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:82)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:250)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:204)
    at com.atlassian.bitbucket.linky.preferences.GitConfigPreferences.<init>(GitRepositoryPreferences.kt:30)
    at com.atlassian.bitbucket.linky.preferences.GitRepositoryPreferences.preferences(GitRepositoryPreferences.kt:15)
    at com.atlassian.bitbucket.linky.preferences.RepositoryPreferencesKt.preferences(RepositoryPreferences.kt:17)
    at com.atlassian.bitbucket.linky.discovery.DefaultBitbucketRepositoriesService.remoteUrlCandidates(BitbucketRepositoriesService.kt:93)
    at com.atlassian.bitbucket.linky.discovery.DefaultBitbucketRepositoriesService.getBitbucketRepository(BitbucketRepositoriesService.kt:60)
    at com.atlassian.bitbucket.linky.DefaultBitbucketLinkyProvider.getBitbucketLinky(BitbucketLinkyProvider.kt:14)
    at com.atlassian.bitbucket.linky.actions.LinkyFileActionContext.getLinky(action-context.kt:39)
    at com.atlassian.bitbucket.linky.actions.link.AbstractFileSourceViewAction.update(file-actions.kt:46)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:182)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:444)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$null$1(ActionUpdater.java:93)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:130)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$2(ActionUpdater.java:94)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:427)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:290)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:270)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1707)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:270)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:319)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:270)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1707)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:270)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:319)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:270)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1707)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:270)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:181)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:155)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupWithTimeout$11(ActionUpdater.java:197)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$3(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:163)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:585)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:531)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:150)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.withTimeout(ProgressIndicatorUtils.java:277)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroupWithTimeout(ActionUpdater.java:197)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroupWithTimeout(ActionUpdater.java:189)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImpl(ActionToolbarImpl.java:1098)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.access$000(ActionToolbarImpl.java:53)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$1.updateActionsImpl(ActionToolbarImpl.java:166)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:172)
    at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2418)
    at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:177)
    at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:129)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:159)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.updateActions(ToolbarUpdater.java:94)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.access$400(ToolbarUpdater.java:26)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyTimerListener.run(ToolbarUpdater.java:144)
    at com.intellij.openapi.actionSystem.impl.WeakTimerListener.run(WeakTimerListener.java:35)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.runListenerAction(ActionManagerImpl.java:1545)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.notifyListeners(ActionManagerImpl.java:1534)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.actionPerformed(ActionManagerImpl.java:1518)
    at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:317)
    at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:249)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:781)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Comments (8)

  1. Daniil Penkin staff

    Hi @James Howe ,

    Thanks for reporting, especially for the stack trace, it’s really helpful. Looks like I was too optimistic about the average number of calls to the actions in the background. Interestingly, I didn't catch this while I was dogfooding this version for a few weeks before releasing.

    Working on a fix now.

    Cheers,
    Daniil

  2. Andrea Polci

    I confirm the same problem (including the Typeahead timeout exception). To me this only happens when the Version Control → Log panel is open. Do not happens instead with other tabs of the same panel.

  3. Daniil Penkin staff

    Thanks @Andrea Polci ,

    Looks like the severeness depends a lot on the project configuration (how many repositories in a project), sizes of those repositories and probably other conditions. My assumption on the performance of a simple solution for storing preferences was apparently wrong.

    Anyhow, I’m fixing this now. Sorry for the inconvenience.

    Cheers,
    Daniil

  4. Daniil Penkin staff

    Hey @James Howe , @Andrea Polci ,

    I’ve released 8.1.115 which should not have this issue. Can you please try it out?

    Cheers,
    Daniil

  5. Daniil Penkin staff

    Thanks for checking. I’ll close this issue for now, feel free to reopen if the issue didn’t go away.

    Sorry for the inconvenience.

  6. Log in to comment