Fix startup panic when Code Mode is disabled#90
Merged
christianromeni merged 1 commit intoMay 13, 2026
Conversation
app.New unconditionally dereferenced cfg.Settings.MCP.CodeMode.SchemaTTL, but setDefaults only assigns it a value when Code Mode is enabled, so the pointer is nil otherwise and the process panics at startup. Fall back to a zero TTL when the pointer is nil; the Code Mode entrypoints on the service are not reachable in that configuration.
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
VoidLLM panics at startup with a nil pointer dereference whenever Code Mode is not explicitly enabled:
Fixes #87.
Cause
app.NewbuildscodeModeServiceunconditionally and doesschemaTTL: *cfg.Settings.MCP.CodeMode.SchemaTTL. ButsetDefaultsonly assignsSchemaTTLa default whenCodeMode.IsEnabled()is true, so the pointer is nil in the (default) disabled case and the dereference panics.Fix
Dereference
SchemaTTLonly when it is non-nil, falling back to a zerotime.Durationotherwise. The Code Mode entrypoints on the service are not registered/reachable when Code Mode is disabled, so the value is unused in that path.Test plan
TestSetDefaults_SchemaTTL_NilWhenCodeModeDisabledininternal/configdocumenting thatSchemaTTLstays nil when Code Mode is disabled (the precondition this fix tolerates).go test ./internal/config/ ./internal/app/passes;go vetclean. (internal/apprequiresui/distbuilt per CONTRIBUTING; with that present the package builds and tests pass.)