← Back to issue list

pulling repository can hang execution indefinitely

View original Github issue

Metadata

Project
craft-parts
Number
#933
Type
issue
State
open
Author
dariuszd21
Labels
—
Created
Updated
Closed
—

Current evaluation

Git sources still allow credential prompts during clone and fetch, so inaccessible private or nonexistent HTTPS repositories can leave pull blocked indefinitely.

Suggested action: keep open

Reason: The report provides an HTTPS URL, part YAML, and logs showing git clone stopping at “Cloning into,” and the current clone/fetch commands do not disable terminal prompting. No resolving change was found; disable Git credential prompts consistently for non-interactive source operations and add tests for both clone and fetch paths.

Evaluated by: mr-cal-bot

Impact: 65 Quick Win: 39 Complexity: 25 Confidence: 86 Actionability: 80

Issue body

### Bug Description During pull phase if repository is private or does not exist, craft will hung forever waiting for the credentials. It should immediately fail as there is no place for user to put the credentials in ### To Reproduce Build the source that requests you to use credentials (e.g. source from GitHub or Launchpad via `https://` that is not public or does not exist). ### part yaml ```yaml non-existing-part: # See 'snapcraft plugins' source: https://github.com/non-existing-user/non-existing-repo source-type: git plugin: nil ``` ### Relevant log output ``` 2024-12-12 10:37:22.198 execute action my-part:Action(part_name='my-part', step=Step.PULL, action_type=ActionType.RUN, reason=None, project_vars=None, properties=ActionProperties(changed_files=None, changed_dirs=None)) │ 2024-12-12 10:37:22.199 Executing: git clone --recursive https://github.com/non-existing-user/non-existing-repo │ 2024-12-12 10:37:22.201 :: Cloning into '/root/parts/my-part/src'... ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 65
Quick Win: 39
Complexity: 25
Confidence: 86
Actionability: 80
keep open Git sources still allow credential prompts during clone and fetch, so inaccessible private or nonexistent HTTPS repositories can leave pull blocked indefinitely.
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 45
Complexity: 20
Confidence: 70
Actionability: 80
needs triage craft-parts hangs indefinitely when git clone prompts for credentials on private or non-existing repositories
qwen/qwen3.8-27b
Impact: 50
Quick Win: 35
Staleness: 75
Complexity: 30
Confidence: 70
Support Request: 5
needs triage Git source pull hangs indefinitely when repo is private/nonexistent because git prompts for credentials with no way to provide them. Reported Dec 2024, no maintainer response, no fix found in current code.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 20
Confidence: 70
Support Request: 5
needs triage Git clone hangs indefinitely when pulling a private or non-existent repository, waiting for credentials instead of failing immediately. Currently unlabelled with minimal maintainer interaction since December 2024.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 75
Support Request: 5
needs triage Git clone hangs indefinitely when pulling a private or non-existent repository due to unhandled credential prompts. Currently unlabelled and inactive for over a year, awaiting maintainer assessment.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2052928 Pulling from private repository without known_hosts hangs forever snapcraft (launchpad) open SSH-based Git source pulls can block indefinitely when the host is absent from known_hosts because the host-key prompt is obscured by pull progress; clear core22 reproducer, no maintainer triage.
79%