← Back to issue list

snapcraft: do not suppress ImportErrors for top-level exceptions with local plugins

View original Launchpad issue

Metadata

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

Current evaluation

Request to stop snapcraft from masking ImportErrors when loading local plugins, so top-level import failures (wrong filename or parent plugin name) surface instead of 'unknown plugin'. 10 years old, no labels, no comments, no maintainer activity.

Suggested action: close stale

Reason: The issue is 10 years old with zero comments, no labels, and no maintainer engagement, and it targets the 2015-era local-plugin import code that no longer exists in the current codebase (parts/plugin handling is now delegated to craft-parts, per the modern snapcraft/parts layout), so the original report is no longer actionable. If the error-masking behavior persists in the current loader, it should be re-reported with a reproduction against a current snapcraft version. Confidence is moderate because repo inspection tools were unavailable, so I could not confirm the current loader's ImportError handling.

Impact: 25 Quick Win: 16.25 Staleness: 95 Complexity: 35 Confidence: 55 Support Request: 10

Issue body

Currently, snapcraft suppresses all ImportErrors when attempting to import local plugins (possibly all plugins?) This might be sensible for deep ImportError exceptions, but when first coming up to speed, particularly with local plugins, it's quite common to use the wrong name (as the x-plugin.py format is counter-intuitive) and the inheritance for some of the plugin classes has been finicky in the past. I think it might make sense to not suppress such exceptions if they are happening in shallow stacks (e.g. top-level exceptions). I hit this when I had a local plugin that was importing the wrong file name. And then was using the wrong parent plugin name. But both get masked by 'unknown plugin' during cleanbuild.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 25
Quick Win: 16.25
Staleness: 95
Complexity: 35
Confidence: 55
Support Request: 10
close stale Request to stop snapcraft from masking ImportErrors when loading local plugins, so top-level import failures (wrong filename or parent plugin name) surface instead of 'unknown plugin'. 10 years old, no labels, no comments, no maintainer activity.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 15
Confidence: 90
Support Request: 10
close stale Snapcraft suppresses top-level ImportErrors when loading local plugins, masking configuration mistakes. Unlabeled, untouched for ~10 years.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 25
Confidence: 90
Support Request: 15
close stale Suggests stopping suppression of top-level ImportErrors for local plugins to improve debugging. Unlabeled, zero comments, inactive for nearly a decade.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 15
Confidence: 90
Support Request: 10
close stale Request to stop suppressing top-level ImportErrors when loading local plugins to improve debugging. Issue is nearly 10 years old, has no labels or maintainer comments, and reflects outdated plugin architecture.
qwen3.6-35b-a3b-mtp-q6
Staleness: 99
Complexity: 15
Confidence: 95
Support Request: 5
close stale Snapcraft masks ImportErrors when loading local plugins, obscuring typos and setup mistakes. The report recommends surfacing top-level import failures to improve debugging. It remains open, inactive, and unlabeled, requiring triage.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.