gitbito / bitoai

Bito’s AI helps developers dramatically accelerate their impact. It’s a Swiss Army knife of capabilities that can 10x your developer productivity and save you an hour a day, using the same models as ChatGPT!
http://www.bito.ai
Other
284 stars 17 forks source link

Bug in Clion: ### ms to call on BGT precache-slow-data@AcceptSuggestion#Update@keyboard shortcut #188

Open Algomorph opened 7 months ago

Algomorph commented 7 months ago

With the cursor just sitting on line 13 of the following file:

//
// Created by greg on 2/29/24.
// Copyright (c) 2024 Presage Technologies
//

#pragma once
// === standard library includes (if any) ===
// === third-party includes (if any) ===
// === local includes (if any) ===

namespace presage::video_source::capture {

} // namespace presage::video_source::capture

, I got the following error:

com.intellij.diagnostic.PluginException: 531 ms to call on BGT precache-slow-data@AcceptSuggestion#Update@keyboard shortcut (co.bito.intellij.completion.actions.AcceptSuggestion). Revise AnAction.getActionUpdateThread property [Plugin: co.bito.bito-intellij]
    at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
    at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:89)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.logTimeProblemForPreCached(ActionUpdater.kt:313)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.precacheSlowDataKeys(ActionUpdater.kt:307)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.access$precacheSlowDataKeys(ActionUpdater.kt:71)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2$1.invoke(ActionUpdater.kt:285)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2$1.invoke(ActionUpdater.kt:284)
    at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108)
    at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:16)
    at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95)
    at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:38)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1075)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:36)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:34)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:321)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:310)
    at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:31)
    at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94)
    at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:78)
    at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:65)
    at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:16)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invokeSuspend(InternalReadAction.kt:36)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
    at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:35)
    at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:38)
    at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15)
    at com.intellij.openapi.application.CoroutinesKt.constrainedReadActionUndispatched(coroutines.kt:82)
    at com.intellij.openapi.application.CoroutinesKt.readActionUndispatched(coroutines.kt:69)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invokeSuspend(ActionUpdater.kt:733)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invoke(ActionUpdater.kt)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invoke(ActionUpdater.kt)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$getSessionDataDeferred$2$1.invokeSuspend(ActionUpdater.kt:553)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

CLion + Bito version info:

CLion 2023.3.4
Build #CL-233.14475.31, built on February 13, 2024
Licensed to Presage Security, Inc / Gregory Kramida
Subscription is active until November 19, 2024.
Runtime version: 17.0.10+1-b1087.17 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 6.5.0-21-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 8192M
Cores: 32
Registry:
  debugger.attach.dialog.enabled=true
  run.processes.with.pty=TRUE
  ide.experimental.ui=true
  cidr.max.intellisense.file.length=1000000
Non-Bundled Plugins:
  idea.plugin.protoeditor (233.13135.65)
  dev.meanmail.plugin.nginx-intellij-plugin (2022.1.1)
  A move tab left and right using the keyboard plugin - by momomo.com (12.550)
  co.bito.bito-intellij (1.2.8)
  com.mikejhill.intellij.movetab (2.1.1)
  ru.adelf.idea.dotenv (2024.1)
  kemoke.net.cssmodule (1.1)
  com.haulmont.rcb (233.13135.65)
  com.google.idea.bazel.clwb (2024.01.30.0.1-api-version-233)
Current Desktop: ubuntu:GNOME

Sounds like a pretty specific suggestion there in the error message, at the top of the stack trace. Perhaps it will be possible to infer the bug just by looking at the related code.

Algomorph commented 7 months ago

Another instance of this (not sure how to reproduce):

com.intellij.diagnostic.PluginException: 305 ms to call on BGT precache-slow-data@AcceptSuggestion#Update@keyboard shortcut (co.bito.intellij.completion.actions.AcceptSuggestion). Revise AnAction.getActionUpdateThread property [Plugin: co.bito.bito-intellij]
    at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
    at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:89)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.logTimeProblemForPreCached(ActionUpdater.kt:313)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.precacheSlowDataKeys(ActionUpdater.kt:307)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.access$precacheSlowDataKeys(ActionUpdater.kt:71)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2$1.invoke(ActionUpdater.kt:285)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2$1.invoke(ActionUpdater.kt:284)
    at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108)
    at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:16)
    at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95)
    at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:38)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1075)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:36)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
    at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:34)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:321)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:310)
    at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:31)
    at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94)
    at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:78)
    at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:65)
    at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:16)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invokeSuspend(InternalReadAction.kt:36)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
    at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
    at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:35)
    at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:38)
    at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15)
    at com.intellij.openapi.application.CoroutinesKt.constrainedReadActionUndispatched(coroutines.kt:82)
    at com.intellij.openapi.application.CoroutinesKt.readActionUndispatched(coroutines.kt:69)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invokeSuspend(ActionUpdater.kt:733)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invoke(ActionUpdater.kt)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$ensureSlowDataKeysPreCached$2.invoke(ActionUpdater.kt)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater$getSessionDataDeferred$2$1.invokeSuspend(ActionUpdater.kt:553)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
nisha-bito commented 7 months ago

hi @Algomorph ,

We are looking into it. Thanks for reporting the issue.

Thanks, Nisha