theonedev/onedev · error · RuntimeException
Invalid version string '${versionStr}'.
Error message
Invalid version string '${versionStr}'. What it means
The Version constructor splits the version string into major.minor.patch (plus optional pre-release after '-'); a fourth dotted component (or otherwise malformed numeric parts) makes the string unparseable and triggers this RuntimeException. This is a parser guard for version strings.
Source
Thrown at server-core/src/main/java/io/onedev/server/util/Version.java:65
versionStr = StringUtils.deleteWhitespace(versionStr);
String[] fields = StringUtils.split(versionStr, '-');
Preconditions.checkState(fields.length >= 1);
String[] parts = StringUtils.split(fields[0], '.');
major = Integer.parseInt(parts[0]);
Preconditions.checkArgument(major>=0);
if (parts.length >= 2) {
minor = Integer.parseInt(parts[1]);
Preconditions.checkArgument(minor>=0);
}
if (parts.length >= 3) {
patch = Integer.parseInt(parts[2]);
Preconditions.checkArgument(patch>=0);
}
if (parts.length >= 4)
throw new RuntimeException("Invalid version string '" + versionStr + "'.");
if (fields.length >= 2)
qualifier = fields[1];
if (fields.length >= 3) {
build = Integer.parseInt(fields[2]);
Preconditions.checkArgument(build>=0);
}
if (fields.length >= 4)
throw new RuntimeException("Invalid version string '" + versionStr + "'.");
}
public Version(int major, int minor, int patch, String qualifier, int build) {
Preconditions.checkArgument(major>=0, "Major version should be a positive integer.");
this.major = major;
if (minor >= 0) {
this.minor = minor;View on GitHub (pinned to d44925c47c)
Solutions
- Use a version string of the form major[.minor[.patch]][-qualifier].
- Strip extra numeric components before parsing.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at server-core/src/main/java/io/onedev/server/util/Version.java:65 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of theonedev/onedev@d44925c47c (2026-09-06).
Data as JSON: /api/errors/9788dc8b2d1e51f4.
Report an issue: GitHub.