codota / tabnine-intellij

Jetbrains IDEs client for TabNine. Compatible with all IntelliJ-based IDEs. https://plugins.jetbrains.com/plugin/12798-tabnine
https://www.tabnine.com/install/intellij
MIT License
525 stars 66 forks source link

Bug occurred in webstorm 2021.3 beta #230

Closed yuzhanglong closed 2 years ago

yuzhanglong commented 2 years ago

java.lang.Throwable: Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc. at com.intellij.openapi.diagnostic.Logger.error(Logger.java:182) at com.intellij.util.SlowOperations.assertSlowOperationsAreAllowed(SlowOperations.java:102) at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:784) at com.intellij.psi.stubs.StubIndexImpl.getContainingIds(StubIndexImpl.java:514) at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:318) at com.intellij.psi.stubs.StubIndex.processElements(StubIndex.java:51) at com.intellij.lang.javascript.psi.util.JSStubBasedPsiTreeUtil.processElementsForFile(JSStubBasedPsiTreeUtil.java:1130) at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.getLocalClassesForName(TypeScriptQualifiedNameResolver.java:304) at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveNameImpl(TypeScriptImportHandler.java:131) at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveNameImpl(TypeScriptImportHandler.java:86) at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveTypeName(TypeScriptImportHandler.java:67) at com.intellij.lang.javascript.psi.ecmal4.impl.JSReferenceListImpl.resolveTextReferenceClasses(JSReferenceListImpl.java:137) at com.intellij.lang.javascript.psi.ecmal4.impl.JSReferenceListImpl.resolveMemberClasses(JSReferenceListImpl.java:190) at com.intellij.lang.javascript.psi.ecma6.impl.JSReferenceListMemberImpl.getClassesWithSubstitutors(JSReferenceListMemberImpl.java:105) at com.intellij.lang.javascript.psi.ecma6.impl.JSReferenceListMemberImpl.getClasses(JSReferenceListMemberImpl.java:111) at com.intellij.lang.javascript.psi.util.JSClassHierarchyVisitor.lambda$visit$0(JSClassHierarchyVisitor.java:86) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at one.util.streamex.AbstractStreamEx.rawCollect(AbstractStreamEx.java:108) at one.util.streamex.AbstractStreamEx.collect(AbstractStreamEx.java:518) at com.intellij.lang.javascript.psi.util.JSClassHierarchyVisitor.visit(JSClassHierarchyVisitor.java:88) at com.intellij.lang.javascript.psi.util.JSClassHierarchyVisitor.visit(JSClassHierarchyVisitor.java:60) at com.intellij.lang.javascript.psi.util.JSClassUtils.processClassesInHierarchyImpl(JSClassUtils.java:161) at com.intellij.lang.javascript.psi.util.JSClassUtils.processClassesInHierarchy(JSClassUtils.java:151) at com.intellij.lang.javascript.psi.ecma6.impl.TypeScriptClassBase.processSupers(TypeScriptClassBase.java:163) at com.intellij.lang.javascript.psi.ecma6.impl.TypeScriptClassBase.processDeclarations(TypeScriptClassBase.java:137) at com.intellij.lang.javascript.psi.resolve.AccessibilityProcessingHandler.computeAcceptProtected(AccessibilityProcessingHandler.java:296) at com.intellij.lang.javascript.psi.resolve.AccessibilityProcessingHandler.startingParent(AccessibilityProcessingHandler.java:270) at com.intellij.lang.javascript.psi.resolve.ResolveProcessor.startingParent(ResolveProcessor.java:155) at com.intellij.lang.javascript.psi.resolve.SinkResolveProcessor.startingParent(SinkResolveProcessor.java:238) at com.intellij.lang.javascript.psi.resolve.ResolveProcessor.handleEvent(ResolveProcessor.java:143) at com.intellij.lang.javascript.psi.resolve.SinkResolveProcessor.handleEvent(SinkResolveProcessor.java:283) at com.intellij.lang.javascript.psi.ecma6.impl.TypeScriptClassBase.processDeclarations(TypeScriptClassBase.java:99) at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedItemProcessor.processNamespaceChildren(TypeScriptQualifiedItemProcessor.java:66) at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedItemProcessor.processClasses(TypeScriptQualifiedItemProcessor.java:188) at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedItemProcessor.processElementsForType(TypeScriptQualifiedItemProcessor.java:139) at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedItemProcessor.processImpl(TypeScriptQualifiedItemProcessor.java:100) at com.intellij.lang.javascript.psi.resolve.QualifiedItemProcessor.process(QualifiedItemProcessor.java:127) at com.intellij.lang.ecmascript6.resolve.ES6PsiUtil$JSDelegatingModuleElementsProcessor.process(ES6PsiUtil.java:861) at com.intellij.lang.javascript.psi.resolve.JSCompleteTypeEvaluationProcessor.passToBaseProcessor(JSCompleteTypeEvaluationProcessor.java:111) at com.intellij.lang.javascript.psi.resolve.JSCompleteTypeEvaluationProcessor.doAddType(JSCompleteTypeEvaluationProcessor.java:55) at com.intellij.lang.javascript.psi.resolve.JSCompleteTypeEvaluationProcessor.process(JSCompleteTypeEvaluationProcessor.java:40) at com.intellij.lang.javascript.psi.resolve.JSCompleteTypeEvaluationProcessor.evaluateTypes(JSCompleteTypeEvaluationProcessor.java:124) at com.intellij.lang.ecmascript6.resolve.ES6PsiUtil.processExportedSymbols(ES6PsiUtil.java:386) at com.intellij.lang.javascript.modules.imports.providers.ES6ExportedCandidatesProvider.getElementsFromResolvedPackages(ES6ExportedCandidatesProvider.java:149) at com.intellij.lang.javascript.modules.imports.providers.ES6ExportedCandidatesProvider.getDirectExportedFromPackages(ES6ExportedCandidatesProvider.java:208) at com.intellij.lang.javascript.modules.imports.providers.ES6ExportedCandidatesProvider.processCandidates(ES6ExportedCandidatesProvider.java:189) at com.intellij.lang.javascript.modules.imports.providers.JSImportCandidatesProvider.getCandidates(JSImportCandidatesProvider.java:69) at com.intellij.lang.javascript.modules.imports.providers.JSImportCandidatesProvider.getCandidatesFromProviders(JSImportCandidatesProvider.java:61) at com.intellij.lang.javascript.modules.imports.JSImportAction.getRawCandidates(JSImportAction.java:238) at com.intellij.lang.typescript.intentions.TypeScriptAddImportStatementFix.getCandidates(TypeScriptAddImportStatementFix.java:286) at com.intellij.lang.typescript.intentions.TypeScriptAddImportStatementFix$ImportAllQuickFix.isAvailable(TypeScriptAddImportStatementFix.java:341) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.addAvailableFixesForGroups(ShowIntentionsPass.java:159) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.lambda$getAvailableFixes$0(ShowIntentionsPass.java:83) at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.lambda$processHighlightsNearOffset$10(DaemonCodeAnalyzerImpl.java:676) at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx.lambda$processHighlights$0(DaemonCodeAnalyzerEx.java:55) at com.intellij.openapi.editor.impl.MarkupModelImpl.processRangeHighlightersOverlappingWith(MarkupModelImpl.java:300) at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx.processHighlights(DaemonCodeAnalyzerEx.java:48) at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerEx.processHighlights(DaemonCodeAnalyzerEx.java:36) at com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.processHighlightsNearOffset(DaemonCodeAnalyzerImpl.java:672) at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getAvailableFixes(ShowIntentionsPass.java:81) at com.tabnine.selections.AutoImporter.collectImportFixes(AutoImporter.java:127) at com.tabnine.selections.AutoImporter.afterAdded(AutoImporter.java:175) at com.intellij.openapi.editor.impl.MarkupModelImpl.fireAfterAdded(MarkupModelImpl.java:277) at com.intellij.openapi.editor.impl.MarkupModelImpl.addRangeHighlighter(MarkupModelImpl.java:162) at com.intellij.openapi.editor.impl.MarkupModelImpl.addRangeHighlighterAndChangeAttributes(MarkupModelImpl.java:151) at com.intellij.codeInsight.daemon.impl.UpdateHighlightersUtil.createOrReuseHighlighterFor(UpdateHighlightersUtil.java:419) at com.intellij.codeInsight.daemon.impl.UpdateHighlightersUtil.addHighlighterToEditorIncrementally(UpdateHighlightersUtil.java:101) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$addDescriptorIncrementally$18(LocalInspectionsPass.java:635) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214) at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:348) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:131) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47) at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:187) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) 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:746) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:492) 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)

gz#8645

maya-tabnine commented 2 years ago

Hi! To figure out the cause, you need to locate your binary files and run the engine directly. On Tabnine Hub, scroll down to the Engine file path, and find the Tabnine file path. Try to run the following command from the terminal using the right path: PATH_TO_ENGINE/TabNine.cmd --log_to_stderr Would you please collect the output to a file and share it with us?

And If you could attach your config file too, that would be very helpful! We need your engine and plugin versions. You can locate it on Tabnine Hub, scroll down to the Config file path, and attach the file. Thanks

yuzhanglong commented 2 years ago

@maya-tabnine

[2021-11-14:22:53:55 TabNine INFO] token path: /Users/xxxxxxx/Library/Preferences/TabNine/tabnine.token
[2021-11-14:22:53:55 TabNine WARN] No user token available: No such file or directory (os error 2)
[2021-11-14:22:53:55 TabNine INFO] ./TabNine --log_to_stderr
[2021-11-14:22:53:55 TabNine INFO] Initializing watchdog client...
[2021-11-14:22:53:55 TabNine INFO] trying to start tabnine version Some("4.0.2")
[2021-11-14:22:53:55 TabNine INFO] spawning tabnine with args ["./TabNine", "--log_to_stderr", "--no_bootstrap"]
[2021-11-14:22:53:55 TabNine INFO] started tabnine process pid 71284 version Some("4.0.2"), desired version was Some("4.0.2") this version is Some("4.0.2")
[2021-11-14:22:53:55 TabNine INFO] User changed. Refreshing capabilities
[2021-11-14:22:53:55 TabNine INFO] Refreshing capabilities
[2021-11-14:22:53:55 TabNine INFO] token path: /Users/xxxxxxx/Library/Preferences/TabNine/tabnine.token
[2021-11-14:22:53:55 TabNine WARN] No user token available: No such file or directory (os error 2)
[2021-11-14:22:53:55 TabNine INFO] ./TabNine --log_to_stderr --no_bootstrap
[2021-11-14:22:53:55 TabNine INFO] Initializing watchdog client...
[2021-11-14:22:53:55 TabNine INFO] User changed. Refreshing capabilities
[2021-11-14:22:53:55 TabNine INFO] Refreshing capabilities
[2021-11-14:22:53:55 TabNine INFO] No private model found
[2021-11-14:22:53:55 TabNine INFO] current private model is None
[2021-11-14:22:53:55 TabNine INFO] using initial model Model {
    model_hash_override: None,
    model_size: Small,
    base_url: "https://update.tabnine.com",
}
[2021-11-14:22:53:55 TabNine INFO] starting default model pre-loader DownloadSettings {
    api_key: None,
    meta_data_base_url: "https://api.tabnine.com",
    model: Model {
        model_hash_override: None,
        model_size: Small,
        base_url: "https://update.tabnine.com",
    },
}
[2021-11-14:22:53:55 TabNine INFO] lunar settings update thread started (Local default local)
[2021-11-14:22:53:55 TabNine INFO] Starting private model update thread
[2021-11-14:22:53:55 TabNine INFO] active private model is None
[2021-11-14:22:53:55 TabNine INFO] Checking if private model changed
[2021-11-14:22:53:55 TabNine INFO] removing private models from cache
[2021-11-14:22:53:55 TabNine ERROR] Failed to remove private models from cache: No such file or directory (os error 2)
[2021-11-14:22:53:55 TabNine INFO] private model is same
[2021-11-14:22:53:55 TabNine INFO] sleeping for 3600s
[2021-11-14:22:53:55 TabNine INFO] Checking if private model changed
[2021-11-14:22:53:55 TabNine INFO] removing private models from cache
[2021-11-14:22:53:55 TabNine ERROR] Failed to remove private models from cache: No such file or directory (os error 2)
[2021-11-14:22:53:55 TabNine INFO] project model override feature is disabled
[2021-11-14:22:53:55 TabNine INFO] private model is same
[2021-11-14:22:53:55 TabNine INFO] sleeping for 3600s
[2021-11-14:22:53:55 TabNine INFO] lunar settings update thread started (Remote cloud)
[2021-11-14:22:53:55 TabNine INFO] Started.
[2021-11-14:22:53:55 TabNine INFO] running command "/Users/xxxxxxx/.tabnine/4.0.2/x86_64-apple-darwin/TabNine-deep-local" "--settings" "/Users/xxxxxxx/Library/Preferences/TabNine/local.settingsSmall" "--settings-version" "1" "--log_to_stderr"
[2021-11-14:22:53:55 TabNine-deep-local INFO] token path: /Users/xxxxxxx/Library/Preferences/TabNine/tabnine.token
[2021-11-14:22:53:55 TabNine-deep-local WARN] No user token available: No such file or directory (os error 2)
[2021-11-14:22:53:55 TabNine-deep-local INFO] parsed settings are Some(Settings { cpu_model: CpuModelSettings { rate_limit_interval_seconds: None, rate_limit_amount: None, enable_power_saving_mode: false }, download: DownloadSettings { api_key: None, meta_data_base_url: "https://api.tabnine.com", model: Model { model_hash_override: None, model_size: Small, base_url: "https://update.tabnine.com" } }, tune: TuneSettings { enable_power_saving_mode: false, override_beams: None, override_context_length: None }, run: RunSettings { is_enabled: true, omit_prefix_suggestions: false, line_suggestions: false } })
[2021-11-14:22:53:55 TabNine-deep-local INFO] local_lock_path "/Users/xxxxxxx/Library/Preferences/TabNine/4.0.2/TabNine-deep-local.lockSmall"
[2021-11-14:22:53:55 TabNine-deep-local INFO] User changed. Refreshing capabilities
[2021-11-14:22:53:55 TabNine-deep-local INFO] Refreshing capabilities
[2021-11-14:22:53:55 TabNine-deep-local INFO] TabNine-deep-local is already running, responding with existing port
[2021-11-14:22:53:55 TabNine INFO] setting default model analytics
[2021-11-14:22:53:55 TabNine INFO] TabNine-deep-local exited with status exit status: 0
[2021-11-14:22:53:56 TabNine INFO] Initialized team ai database successfully at: /Users/xxxxxxx/Library/Application Support/TabNine/team_learning/data_dir/sdb
[2021-11-14:22:53:56 TabNine INFO] Initialized team ai learning successfully
[2021-11-14:22:53:56 TabNine INFO] Cleaned 0 old data rows from team ai local database.
[2021-11-14:22:53:56 TabNine INFO] Cleaned 0 old metadata rows from team ai local database.
[2021-11-14:22:53:57 TabNine INFO] current version is Some(Version { major: 4, minor: 0, patch: 2, pre: [], build: [] }), spawned version is Some(Version { major: 4, minor: 0, patch: 2, pre: [], build: [] }), remote version is Version { major: 4, minor: 0, patch: 2, pre: [], build: [] }
[2021-11-14:22:53:57 TabNine INFO] don't need to upgrade

Hi! To figure out the cause, you need to locate your binary files and run the engine directly. On Tabnine Hub, scroll down to the Engine file path, and find the Tabnine file path. Try to run the following command from the terminal using the right path: PATH_TO_ENGINE/TabNine.cmd --log_to_stderr Would you please collect the output to a file and share it with us?

And If you could attach your config file too, that would be very helpful! We need your engine and plugin versions. You can locate it on Tabnine Hub, scroll down to the Config file path, and attach the file. Thanks

yuzhanglong commented 2 years ago

Hi! To figure out the cause, you need to locate your binary files and run the engine directly. On Tabnine Hub, scroll down to the Engine file path, and find the Tabnine file path. Try to run the following command from the terminal using the right path: PATH_TO_ENGINE/TabNine.cmd --log_to_stderr Would you please collect the output to a file and share it with us?

And If you could attach your config file too, that would be very helpful! We need your engine and plugin versions. You can locate it on Tabnine Hub, scroll down to the Config file path, and attach the file. Thanks

config:

{
  "version": "3.5.54",
  "hide_promotional_message": false,
  "beta_enabled": "No",
  "ignore_all_lsp": false,
  "creation_time": "2021-08-30T07:26:24.780749Z",
  "guuid": "77699da5fb5e98392fb07fde97d95b23dc9ccb043f7590cd8a47e07ec01cebf6",
  "semantic_status": {},
  "enable_telemetry": true,
  "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true,
  "hosted_deep_completions_enabled": "Disabled",
  "tabnine_cloud_host": null,
  "tabnine_cloud_certificate_domain": null,
  "tabnine_cloud_port": null,
  "cloud_whitelist": [],
  "num_of_suggestions": 5,
  "line_suggestions": null,
  "multiline_suggestions": null,
  "omit_prefix_suggestions": null,
  "api_key": null,
  "api_base_url": null,
  "binary_update_interval_seconds": null,
  "local_enabled": "Unset",
  "disable_local_when_using_battery": false,
  "hide_deep_information_message": false,
  "enable_power_saving_mode": false,
  "rate_limit_interval_seconds": null,
  "rate_limit_amount": null,
  "generation": 44,
  "local_model_size": null,
  "model_hash_override": null,
  "local_indexing": null,
  "heartbeat_interval_seconds": null,
  "last_service_level": null,
  "override_beams": null,
  "override_context_length": null,
  "onboarding": null,
  "has_git_repos": true,
  "gusr": {
    "dgc": "77699da5fb5e98392fb07fde97d95b23dc9ccb043f7590cd8a47e07ec01cebf6"
  },
  "exclude_file_masks": null,
  "inline_suggestions_mode": null
}
yonip23 commented 2 years ago

Hi @yuzhanglong

  1. We're sorry for being unclear regarding the information, I'm attaching here our issue template from https://github.com/codota/tabnine so please feel in these details:
    
    **please complete the following information:**  
    - OS version: [e.g. Win 10, Mac Catalina]  
    - Editor: [e.g. vscode, intelij, sublime]  
    - Editor version:  
    - Programming language: [e.g. js, ts, c++] 
    - TabNine extension version:
    - Engine version (could be located within Tabnine Hub): 

2. Unfortunately there's nothing suspicious in the logs you sent, so lets try the following:
In your IDE, please open: Help -> Edit Custom Properties...
and insert: `TABNINE_LOG_FILE_PATH=<some path to a file>`.
Then restart IDE and wait for the problem to happen.
Once it occurs again - please attach both IDE logs and the logs from the file you set for `TABNINE_LOG_FILE_PATH`.

Kind regards,
Yoni
yuzhanglong commented 2 years ago

Now that webStorm 2021.3 has been released, this bug has not appeared again,so I think the issue has expired,so I close it~