← Back to issue list

'dict' object has no attribute 'startswith' on `expand-extensions` on firefox nightly snap

View original Launchpad issue

Metadata

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

Current evaluation

AttributeError in craft-parts when running snapcraft expand-extensions on firefox-snap nightly. No maintainer response or labels.

Suggested action: needs triage

Reason: The issue has no labels, no maintainer response, and 0 comments, indicating it hasn't been triaged yet. It's a valid bug report with a clear traceback showing an AttributeError in craft-parts' `_validate_relative_path_str` function when processing the firefox-snap's snapcraft.yaml.

Impact: 45 Quick Win: 31.5 Staleness: 85 Complexity: 30 Confidence: 65 Support Request: 10

Issue body

``` $ git clone https://github.com/canonical/firefox-snap.git -b nightly $ cd firefox-snap $ snapcraft expand-extensions snapcraft internal error: AttributeError("'dict' object has no attribute 'startswith'") Full execution log: '/home/michal/.local/state/snapcraft/log/snapcraft-20241008-195833.237405.log' $ cat /home/michal/.local/state/snapcraft/log/snapcraft-20241008-195833.237405.log 2024-10-08 19:58:33.238 Starting snapcraft, version 8.4.1 2024-10-08 19:58:33.238 Log verbosity level set to BRIEF 2024-10-08 19:58:33.238 Preparing application... 2024-10-08 19:58:33.238 Configuring application... 2024-10-08 19:58:33.238 Setting up ConfigService 2024-10-08 19:58:33.269 Build plan: platform=None, build_for=None 2024-10-08 19:58:33.269 Running snapcraft expand-extensions on host 2024-10-08 19:58:33.322 snapcraft internal error: AttributeError("'dict' object has no attribute 'startswith'") 2024-10-08 19:58:33.323 Traceback (most recent call last): 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_application/application.py", line 568, in run 2024-10-08 19:58:33.323 return_code = self._run_inner() 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/snapcraft/application.py", line 215, in _run_inner 2024-10-08 19:58:33.323 return_code = super()._run_inner() 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_application/application.py", line 549, in _run_inner 2024-10-08 19:58:33.323 return_code = dispatcher.run() or os.EX_OK 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_cli/dispatcher.py", line 487, in run 2024-10-08 19:58:33.323 return self._loaded_command.run(self._parsed_command_args) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/snapcraft/commands/extensions.py", line 137, in run 2024-10-08 19:58:33.323 project_data = models.Project.unmarshal(yaml_data_for_arch) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_application/models/base.py", line 61, in unmarshal 2024-10-08 19:58:33.323 return cls.model_validate(data) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/pydantic/main.py", line 568, in model_validate 2024-10-08 19:58:33.323 return cls.__pydantic_validator__.validate_python( 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_application/models/project.py", line 250, in _validate_part 2024-10-08 19:58:33.323 craft_parts.validate_part(part) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_parts/parts.py", line 648, in validate_part 2024-10-08 19:58:33.323 _get_part_spec(data) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_parts/parts.py", line 679, in _get_part_spec 2024-10-08 19:58:33.323 return PartSpec(**part_spec) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/pydantic/main.py", line 193, in __init__ 2024-10-08 19:58:33.323 self.__pydantic_validator__.validate_python(data, self_instance=self) 2024-10-08 19:58:33.323 File "/snap/snapcraft/12607/lib/python3.10/site-packages/craft_parts/constraints.py", line 44, in _validate_relative_path_str 2024-10-08 19:58:33.323 if path.startswith("/"): 2024-10-08 19:58:33.323 AttributeError: 'dict' object has no attribute 'startswith' 2024-10-08 19:58:33.323 Full execution log: '/home/michal/.local/state/snapcraft/log/snapcraft-20241008-195833.237405.log' ```

Evaluation history

Date Model Scores Action Summary
qwen3.6-35b-a3b-mtp-q6
Impact: 45
Quick Win: 31.5
Staleness: 85
Complexity: 30
Confidence: 65
Support Request: 10
needs triage AttributeError in craft-parts when running snapcraft expand-extensions on firefox-snap nightly. No maintainer response or labels.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 40
Confidence: 85
Support Request: 10
close stale AttributeError in snapcraft expand-extensions due to type mismatch in path validation. Untriaged, inactive for ~1.5 years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 45
Confidence: 85
Support Request: 10
close stale Snapcraft expand-extensions crashes with an AttributeError during part validation. The issue is 651 days old with zero comments or maintainer interaction.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 70
Support Request: 5
needs triage Bug in snapcraft causing AttributeError during expand-extensions on firefox-snap. No maintainer response or labels, 639 days old.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 40
Confidence: 80
Support Request: 5
needs triage Bug report for snapcraft crash during expand-extensions due to AttributeError in craft_parts validation. Unlabelled, no maintainer response, inactive for over a year.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.