-
Notifications
You must be signed in to change notification settings - Fork 134
Description
CLAUDE ripped though the log of the gemini crash and generated this. the gemini inside of vscode is crashing enough I could not ask it what was going on.
Environment:
- Gemini Code Assist Extension Version: 2.59.0
- cloudcode_cli Build: Nov 20 2025 00:18:17, cl:834626974
- VSCode Version: 1.106.3
- OS: macOS Darwin 24.1.0 (ARM64)
- Node: v24.2.0
Description:
The Gemini Code Assist language server crashes with a segmentation fault when indexing TypeScript files in a multi-file project. The server crashed 5 times in 3 minutes before VSCode stopped restarting it.
Crash Location:
- File:
ast/match.go:121andast/node.go:293-306 - Function:
ast.Node.InEmptyFunction.AllOf.func2() - Trigger:
writeNodeMetrics()→fetchInlineCompletionResponse()→completeCodeExperimental()
Root Cause:
Nil pointer dereference in AST node matching. The tokenizer context gets canceled (tokenizeFunc: context canceled) leaving nodes in an inconsistent state, then InEmptyFunction() is called on a nil node.
Files being indexed when crash occurred:
- api/src/services/BaseIntegrationService.ts
- api/src/services/BaseOrchestrationService.ts
- api/src/services/BootstrapService.ts (9217 bytes)
- api/src/services/CacheService.ts (10200 bytes)
- api/src/services/ContainerService.ts (10102 bytes)
- api/src/services/CourseService.ts (14938 bytes)
- api/src/services/EnrollmentService.ts (15249 bytes)
- api/src/services/ExportImportService.ts (15600 bytes)
Stack Trace:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x102aeefe0]
goroutine 28 [running]:
google3/cloud/developer_experience/cloudcode/ai_companion/pkg/ast/ast.Node.InEmptyFunction.AllOf.func2(...)
cloud/developer_experience/cloudcode/ai_companion/pkg/ast/match.go:121 +0x50
google3/cloud/developer_experience/cloudcode/ai_companion/pkg/ast/ast.Node.nodeOrParentMatches(...)
cloud/developer_experience/cloudcode/ai_companion/pkg/ast/node.go:293 +0x6c
google3/cloud/developer_experience/cloudcode/ai_companion/pkg/ast/ast.Node.InEmptyFunction(...)
cloud/developer_experience/cloudcode/ai_companion/pkg/ast/node.go:306 +0xe4
google3/cloud/developer_experience/cloudcode/ai_companion/language_server/server/server.(*Server).writeNodeMetrics(...)
cloud/developer_experience/cloudcode/ai_companion/language_server/server/completion.go:426 +0x218
google3/cloud/developer_experience/cloudcode/ai_companion/language_server/server/server.(*Server).fetchInlineCompletionResponse(...)
cloud/developer_experience/cloudcode/ai_companion/language_server/server/completion.go:392 +0x54
google3/cloud/developer_experience/cloudcode/ai_companion/language_server/server/server.(*Server).completeCodeExperimental.func1()
cloud/developer_experience/cloudcode/ai_companion/language_server/server/completion.go:331 +0x5c
Preceding Warnings (pattern repeats for each file):
W1202 02:38:51.435246 bm25.go:82] Tokenization failed for URI: tokenizeFunc: context canceled
E1202 02:38:51.435248 workspace_context.go:179] error indexing fragment for file: tokenizeFunc: context canceled
Suggested Fix:
Add nil check before calling methods on AST nodes in nodeOrParentMatches() and InEmptyFunction(), or handle the context cancellation gracefully before accessing node properties.
Workaround:
Added .aiexclude file to exclude the problematic directory.