← Back to issue list

wrong error when a part depends on a part with underscore

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1741140
Type
issue
State
open
Author
~elopio
Labels
Created
Updated
Closed

Current evaluation

Snapcraft reports a misleading validation error: when a part's after/before dependency uses an underscore (invalid part name), the error names the valid depending part instead of the invalid dependency. Open since 2017 with no maintainer activity; no fix found in current craft-parts/snapcraft validation code.

Suggested action: needs triage

Reason: The issue is a genuine bug report with a clear reproducer (after: [test_invalid_part] causes the error to point at the valid part test-valid-part), but it has zero labels, zero comments, and no maintainer response in ~8.6 years, so it shows no sign of having been triaged. The underlying validation code has since moved to craft-parts, where part-name validation and dependency checks (e.g. InvalidPartName, 'validate part dependency name') still exist, so the misleading message may still be reproducible but needs verification before closing.

Impact: 30 Quick Win: 19.5 Staleness: 95 Complexity: 35 Confidence: 60 Support Request: 5

Issue body

I got into a weird situation where snapcraft tells me that a valid part name is invalid. After scratching my head for a while, I found that the invalid part name is a dependency. This misleading error is not fun. To reproduce, write a snapcraft.yaml with the following parts: parts: test-valid-part: plugin: nil after: [test_invalid_part] test_invalid_part: # See 'snapcraft plugins' plugin: nil Run snapcraft: $ snapcraft Issues while validating snapcraft.yaml: The 'parts' property does not match the required schema: 'test-valid-part' is not a valid part name. Part names consist of lower-case alphanumeric characters, hyphens, plus signs, and forward slashes. As a special case, 'plugins' is also not a valid part name. Notice that the error refers to the valid part.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 30
Quick Win: 19.5
Staleness: 95
Complexity: 35
Confidence: 60
Support Request: 5
needs triage Snapcraft reports a misleading validation error: when a part's after/before dependency uses an underscore (invalid part name), the error names the valid depending part instead of the invalid dependency. Open since 2017 with no maintainer activity; no fix found in current craft-parts/snapcraft validation code.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 25
Confidence: 90
Support Request: 5
close stale Reports a misleading snapcraft validation error where a valid part name is flagged as invalid due to an underscore in a dependency. Issue has been completely inactive for over 8 years with no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 99
Complexity: 30
Confidence: 90
Support Request: 10
close stale Misleading validation error reports a valid part name as invalid when it depends on a part containing an underscore. Issue has seen no activity or maintainer response in over 8 years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 20
Confidence: 85
Support Request: 5
close stale Misleading snapcraft error flags a valid part name as invalid due to a dependency containing an underscore. Issue is 8.5 years old with zero maintainer interaction.
qwen3.6-35b-moe-q4
Staleness: 95
Complexity: 15
Confidence: 85
Support Request: 0
close stale Snapcraft reports a misleading validation error, claiming a valid part name is invalid when the actual problem is a dependency part containing an underscore. Untriaged and inactive for over 8 years.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2033882 snapcraft first run doesn't verify parts in parts after keyword on core22 snapcraft (launchpad) closed Closed without resolution. Snapcraft fails to validate non-existent parts in the after keyword on core22, a regression from core20, remains unaddressed.
72%
#1802312 Error message with empty parts is misleading snapcraft (launchpad) open Misleading snapcraft error when 'parts' is empty in snapcraft.yaml: the message conflates a schema type error with a part-name validation error. Filed ~7.8 years ago by an external contributor, no labels, no maintainer response, no comments.
72%