Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`Processing lsp` never exits and leaves orphaned processes

Open Beginner friendly
#1,578 1 comment 0 reactions 0 assignees View on GitHub

@overcast302 is already working on this.

Since Oct 10, 2026.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java, vscode
Domain
devtools

Research direction

Start in java/src/processing/mode/java/lsp/PdeLanguageServer.java, looking at exit(), which only prints a line, and at main(), which discards the future returned by launcher.startListening(). Check what happens when stdin reaches EOF and how the process should end then. Done means the LSP process exits when VS Code closes or dies, which you can confirm with pgrep -af 'Processing lsp' after quitting the editor.

Written by the indexing model from the issue text.

Description

bug
Most appropriate sub-area of Processing 4?

Other (specify if possible)

Processing version

4.5.7 (AUR processing-bin)

Operating system

Arch Linux x86_64

Bug description

The LSP server never terminates when the client goes away. This way, after closing Visual Studio Code with official Processing extension via File > Exit (or Ctrl+Q), the Processing LSP process is left running. The process also survives abrupt client death, since nothing on the server side reacts to the client disappearing.

Steps to reproduce this
  1. Install Processing 4.5.7 and the official Processing Visual Studio Code extension.
  2. Open Visual Studio Code
  3. Quit Visual Studio Code with Ctrl+Q (File > Exit).
  4. Run: pgrep -af 'Processing lsp'
  5. The process is still running.
snippet

No response

Additional context

PdeLanguageServer.exit() only prints a line and never calls System.exit(). PdeLanguageServer.main() also ignores the future returned by launcher.startListening(), so nothing happens when stdin reaches EOF. As a result, nothing in the server can end the LSP process when the client disappears.

Would you like to work on the issue?

Yes, I’d like to help with this

Dominant language
Java
Stars
513
Forks
183
Avg merge
4h 6m
Merged PRs (30d)
4

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from processing/processing4

All issues in processing/processing4

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.