serena icon indicating copy to clipboard operation
serena copied to clipboard

Language Server Missing Linux ARM64 Configuration

Open mynoc96 opened this issue 5 months ago • 1 comments

When attempting to use Serena MCP tools on a Java project on an ARM64 Linux system, all tool invocations fail with Error executing tool: 'jre_home_path'. I did use Claude to generate the following text, but it used my process and I reviewed the outputs.

Error Message

Error executing tool: 'jre_home_path'

Setup

  • MCP Client: Claude Desktop (via MCP integration)
  • OS: Linux aarch64 (Ubuntu 24.04)
  • Architecture: aarch64
  • Programming Language: Java
  • System Java: OpenJDK 17.0.16 at /usr/lib/jvm/java-17-openjdk-arm64
  • Serena Installation: Via MCP server started with uv

Steps to Reproduce

  1. On an ARM64 Linux system, start Serena MCP server
  2. Activate a Java project using mcp__serena__activate_project
  3. Attempt to use any Serena tool (e.g., mcp__serena__list_dir)
  4. Tool execution fails with: Error executing tool: 'jre_home_path'

Root Cause Analysis

The file /solidlsp/language_servers/eclipse_jdtls.py contains platform-specific configurations. The linux-arm64 entry starting at line 201 contains only:

"linux-arm64": {
    "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-arm64-1.42.0-561.vsix",
    "archiveType": "zip",
    "relative_extraction_path": "vscode-java",
},

While other platform configurations (linux-x64, osx-arm64, osx-x64, win-x64) include additional required fields:

  • jre_home_path
  • jre_path
  • lombok_jar_path
  • jdtls_launcher_jar_path
  • jdtls_readonly_config_path

One line attempts to access dependency["jre_home_path"] which causes a KeyError for linux-arm64.

Workaround Applied

Added the missing fields to the linux-arm64 configuration:

"linux-arm64": {
    "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-arm64-1.42.0-561.vsix",
    "archiveType": "zip",
    "relative_extraction_path": "vscode-java",
    "jre_home_path": "extension/jre/21.0.7-linux-aarch64",
    "jre_path": "extension/jre/21.0.7-linux-aarch64/bin/java",
    "lombok_jar_path": "extension/lombok/lombok-1.18.36.jar",
    "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.7.0.v20250424-1814.jar",
    "jdtls_readonly_config_path": "extension/server/config_linux",
},

Result

After adding these fields and restarting the Serena server, the tools execute successfully without the 'jre_home_path' error.

Files Modified

  • /solidlsp/language_servers/eclipse_jdtls.py

Affected Systems

Any system where PlatformUtils.get_platform_id() returns "linux-arm64"

mynoc96 avatar Aug 13 '25 18:08 mynoc96

Want to add a PR with your changes?

opcode81 avatar Aug 22 '25 07:08 opcode81