forcedotcom / salesforcedx-vscode

Salesforce Extensions for VS Code
https://developer.salesforce.com/tools/vscode
BSD 3-Clause "New" or "Revised" License
953 stars 405 forks source link

ApexIndexer: Error during startup java.lang.IllegalArgumentException: The node type <xx> is not registered with this database #5891

Closed gblouin closed 1 month ago

gblouin commented 1 month ago

Summary

After the most recent extensions update I have started receiving this message in the Apex Language Server terminal anytime I try to use "Run Apex Tests" or open the Testing display in VSCode.

I've googled but cannot find any steps that have helped with this specific error message.

Steps To Reproduce:

  1. Open VS Code to SF Project
  2. Either Shift + Ctrl + P and choose Run Tests or Open Test class

Expected result

Tests load and give a "Run Test" and "Debug Test" option

Actual result

Apex Tests in the Testing display show "There is no data provider registered that can provide view data." Test classes never get the "Run Test" and "Debug Test" options

Additional information

08:41:53.879 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Scanning built-in and system Apex types. 08:41:53.905 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Scanning built-in Apex types. 08:41:53.906 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Collecting built-in standard types from jar 08:41:56.460 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Done collecting built-in standard types from jar 08:41:56.460 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Scanning Apex Standard Library. 08:41:56.764 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Done scanning Apex Standard Library. 08:41:56.768 [Apex Prelude Service STARTING] INFO a.j.l.i.s.ApexPreludeManagedService - Starting ApexIndexer. 08:41:56.769 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Start indexer. 08:41:56.774 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Scanning user-defined types. 08:41:56.774 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Scanning workspace source. 08:41:58.825 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Building change list. 08:42:00.127 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Applying found changes 08:42:00.129 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Creating 7 Apex artifacts in Apex DB Oct 08, 2024 8:42:00 AM apex.jorje.parser.impl.BaseApexLexer dedupe INFO: Deduped array ApexLexer.DFA22_transition. Found 7075545 shorts which is 13MB not including array overhead. Removed 6418975 shorts which is 12MB not counting array overhead. Took 9 ms. 08:43:44.653 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Updating 114 Apex artifacts in Apex DB 08:43:44.719 [ApexIndexer STARTING] INFO a.jorje.lsp.impl.index.ApexIndexer - ApexIndexer: Error during startup java.lang.IllegalArgumentException: The node type 28005 is not registered with this database at org.eclipse.jdt.internal.core.nd.NdNodeTypeRegistry.getTypeFactory(NdNodeTypeRegistry.java:87) at org.eclipse.jdt.internal.core.nd.Nd.getTypeFactory(Nd.java:615) at org.eclipse.jdt.internal.core.nd.Nd.deleteIfUnreferenced(Nd.java:632) at org.eclipse.jdt.internal.core.nd.Nd.processDeletions(Nd.java:164) at org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock(Nd.java:357) at org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock(Nd.java:342) at apex.jorje.lsp.impl.db.nddb.NdDb.releaseWriteLock(NdDb.java:143) at apex.jorje.lsp.impl.index.ApexIndexer.deleteTypeInfo(ApexIndexer.java:671) at apex.jorje.lsp.impl.index.ApexIndexer.buildCache(ApexIndexer.java:214) at apex.jorje.lsp.impl.index.ApexIndexer.lambda$startUp$0(ApexIndexer.java:441) at java.base/java.util.Optional.ifPresent(Optional.java:178) at apex.jorje.lsp.impl.index.ApexIndexer.startUp(ApexIndexer.java:439) at com.google.common.util.concurrent.AbstractScheduledService$ServiceDelegate$2.run(AbstractScheduledService.java:270) at com.google.common.util.concurrent.Callables$4.run(Callables.java:121) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)

Salesforce Extension Version in VS Code: v61.16.0

Salesforce CLI Version: 2.61.8-ec7097b

OS and version: Windows 11

VS Code version: Version: 1.94.0 (user setup) Commit: d78a74bcdfad14d5d3b1b782f87255d802b57511 Date: 2024-10-02T13:08:12.626Z Electron: 30.5.1 ElectronBuildId: 10262041 Chromium: 124.0.6367.243 Node.js: 20.16.0 V8: 12.4.254.20-electron.0 OS: Windows_NT x64 10.0.22631

Most recent version of the extensions where this was working: Last

svc-idee-bot commented 1 month ago

Thank you for filing this issue. We appreciate your feedback and will review the issue as soon as possible. Remember, however, that GitHub isn't a mechanism for receiving support under any agreement or SLA. If you require immediate assistance, contact Salesforce Customer Support.

gblouin commented 1 month ago

It appears I found a fix. I ended up going to my projects folder and deleting all the folders under .sfdx/tools. Once I did that and re-opened VS Code it looks like it re-indexed and now I can get tests to load and run locally (yahoo!).