Stack trace makes it hard to discern real errors
Metadata
Current evaluation
Closed without resolution due to inactivity. The request to suppress verbose Python stack traces by default in snapcraft was abandoned. No implementation or configuration changes were made.
Suggested action: —
No scores available.
Issue body
Can we please make the display of stack traces in snapcraft an option which is off by default. It's really not a pleasant experience to have an entire 1080p terminal screen full of python trace to discover a simple typo or mistake in a yaml.
I get this, just because I didn't mention the source-type for example.
Traceback (most recent call last):
File "/snap/snapcraft/1008/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.38', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/1008/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/1008/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/snap/snapcraft/1008/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/snap/snapcraft/1008/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/cli/__main__.py", line 19, in <module>
run(prog_name='snapcraft')
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 1043, in invoke
return Command.invoke(self, ctx)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/cli/__init__.py", line 124, in run
ctx.forward(lifecyclecli.commands['snap'])
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 553, in forward
return self.invoke(cmd, **kwargs)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 136, in snap
container_config, output, directory)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_containers.py", line 43, in containerbuild
config = project_loader.load_config(project_options)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/project_loader/__init__.py", line 25, in load_config
return Config(project_options)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/project_loader/_config.py", line 131, in __init__
snapcraft_yaml=self.snapcraft_yaml_path)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 56, in __init__
self._process_parts()
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 86, in _process_parts
self.load_part(part_name, plugin_name, properties)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/project_loader/_parts_config.py", line 196, in load_part
confinement=self._confinement)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 94, in __init__
self._part_properties)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 130, in _get_source_handler
self._source, source_type=properties['source-type'])
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/sources/__init__.py", line 161, in get_source_handler
source_type = _get_source_type_from_uri(source)
File "/snap/snapcraft/1008/lib/python3.6/site-packages/snapcraft/internal/sources/__init__.py", line 189, in _get_source_type_from_uri
raise ValueError('no handler to manage source ({})'.format(source))
ValueError: no handler to manage source (https://bitbucket.org/klembot/twinejs)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution due to inactivity. The request to suppress verbose Python stack traces by default in snapcraft was abandoned. No implementation or configuration changes were made. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The request to suppress stack traces by default was likely abandoned or superseded by improved error handling in later releases. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1719968 Misleading error messages | snapcraft (launchpad) | closed | Closed without resolution. The report notes that missing dependencies cause snapcraft to output verbose Python tracebacks instead of clear error messages. No fix or follow-up was provided. | |
| #1721932 Package resolution issue results in backtrace | snapcraft (launchpad) | closed | Closed without comments or explicit resolution. The request to display apt output instead of Python tracebacks for package resolution failures was likely abandoned or superseded by later snapcraft updates. |