Skip to content

Implement parser lifecycle management and enhance concurrency safety - #1043

Merged
atextor merged 4 commits into
eclipse-esmf:mainfrom
bci-oss:fix-lsp-crashing
Sep 21, 2026
Merged

atextor merged 4 commits into
eclipse-esmf:mainfrom
bci-oss:fix-lsp-crashing

Conversation

@e-filchenko-bosh

Copy link
Copy Markdown
Contributor

Description

Fixes stability issues in the Turtle/SAMM Language Server caused by unsafe native Tree-sitter lifecycle handling.

Changes include:

  • Serialize access to shared native TSParser/TSTree state used by asynchronous LSP requests.
  • Release parser, syntax-tree, rope, and validation state when documents are closed or the service shuts down.
  • Make document-service and validation cleanup idempotent.
  • Add default ERROR-level diagnostics for samm lsp without enabling verbose logging for unrelated CLI commands.
  • Add lifecycle and concurrency regression tests.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works

@atextor atextor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@atextor
atextor merged commit 76a17da into eclipse-esmf:main Sep 21, 2026
5 checks passed
@atextor
atextor deleted the fix-lsp-crashing branch September 21, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants