Language Server Missing Linux ARM64 Configuration
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
- On an ARM64 Linux system, start Serena MCP server
- Activate a Java project using
mcp__serena__activate_project - Attempt to use any Serena tool (e.g.,
mcp__serena__list_dir) - 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"
Want to add a PR with your changes?