← Back to issue list

Snapcraft could show the traceback rather than just offer to send it to LP

View original Launchpad issue

Metadata

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

Current evaluation

Feature request to display the full Python traceback in the terminal when snapcraft crashes, rather than only offering to anonymously send it to Launchpad. Open since 2018, no maintainer activity, and the referenced snapcraft 3.1 error flow no longer exists in the current codebase.

Suggested action: close stale

Reason: The issue is from 2018 (snapcraft 3.1 era) with zero comments and no maintainer interaction in ~7.5 years. The exact 'Sorry, an error occurred' prompt and the internal/project_loader code paths it references no longer exist in the current codebase — the project has since been rewritten (snapcraft 8.x/9.x with a different architecture), so the original problem is no longer reproducible as described. The underlying UX idea (showing tracebacks) may still be relevant, but this specific report is outdated.

Impact: 35 Quick Win: 24.5 Staleness: 95 Complexity: 30 Confidence: 70 Support Request: 10

Issue body

I have a bug in my snapcraft plugin which causes it to crash. Snapcraft shows me this: Sorry, an error occurred in Snapcraft. We would appreciate it if you anonymously reported this issue. No other data than the traceback ('/tmp/tmpw4id89ag/trace.txt') and the version of snapcraft in use will be sent. Would you like to send this error data? (Yes/No/Always) [no]: That's nice, but it would be even better if it actually showed me the traceback. Perhaps like this: Sorry, an error occurred in Snapcraft. Here is the traceback: Traceback (most recent call last): File "/snap/snapcraft/2496/bin/snapcraft", line 11, in <module> load_entry_point('snapcraft==3.1', 'console_scripts', 'snapcraft')() File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/__main__.py", line 81, in run run_snapcraft(prog_name="snapcraft") File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/snap/snapcraft/2496/lib/python3.5/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 253, in snap _execute(steps.PRIME, parts=[], pack_project=True, output=output, **kwargs) File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 110, in _execute project_config = project_loader.load_config(project) File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/__init__.py", line 47, in load_config return Config(project) File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_config.py", line 242, in __init__ build_tools=self.build_tools, File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 52, in __init__ self._process_parts() File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 71, in _process_parts self.load_part(part_name, plugin_name, properties) File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 186, in load_part definitions_schema=self._validator.definitions_schema, File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_plugin_loader.py", line 41, in load_plugin plugin_name, plugin_class, part_schema, definitions_schema File "/snap/snapcraft/2496/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_plugin_loader.py", line 112, in _validate_pull_and_build_properties part_schema, definitions_schema, plugin.schema() File "/root/project/snap/plugins/my_plugin.py", line 15, in schema schema['required'].append('my-property') KeyError: 'required' We would appreciate it if you anonymously reported this issue. No other data than the traceback and the version of snapcraft in use will be sent. Would you like to send this error data? (Yes/No/Edit/Always) [no]: Note that I added the option to 'Edit' which would launch an editor with the traceback so someone could remove any awkward information and then send it.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 24.5
Staleness: 95
Complexity: 30
Confidence: 70
Support Request: 10
close stale Feature request to display the full Python traceback in the terminal when snapcraft crashes, rather than only offering to anonymously send it to Launchpad. Open since 2018, no maintainer activity, and the referenced snapcraft 3.1 error flow no longer exists in the current codebase.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 20
Confidence: 85
Support Request: 10
needs triage Feature request to display full Python tracebacks directly in the terminal instead of only prompting to send them to Launchpad. Untriaged, inactive for over seven years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 10
Confidence: 85
Support Request: 10
close stale Feature request to display full Python tracebacks by default instead of hiding them and only offering to send to Launchpad. Untriaged, inactive for over 7 years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 15
Confidence: 90
Support Request: 10
close stale Feature request to print Python tracebacks directly to the console before offering to send them to Launchpad, with an optional edit step. Unaddressed for over 7 years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 15
Confidence: 90
Support Request: 10
close stale Feature request to print full Python tracebacks to console instead of only offering to send them to Launchpad. No maintainer interaction or labels after 7+ years.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1807492 Snapcraft should print the path of the stack trace file even when the error report is sent automatically snapcraft (launchpad) open Feature request to always print the local stack trace file path when Snapcraft auto-sends error reports. Open since 2018 with zero comments, no labels, and no maintainer interaction.
70%