← Back to issue list

Hard to see what the causes an error for a 404 network error

View original Github issue

Metadata

Project
snapcraft
Number
#4328
Type
issue
State
open
Author
sergiusens
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

Enhancement: 404 network errors during source pull don't identify which part/source failed. Triaged by maintainer, synced to Jira SNAPCRAFT-1086. craft-parts NetworkRequestError now includes a source detail field.

Suggested action: keep open

Reason: The issue is triaged (Status: Triaged, Type: Enhancement labels) and synced to internal Jira SNAPCRAFT-1086, indicating active tracking. The underlying craft-parts NetworkRequestError now includes a source detail field (craft_parts/sources/errors.py), but it's unclear whether snapcraft surfaces this in its brief output or whether the 404 case specifically passes the source. No PR has closed this issue, so it should remain open pending verification.

Impact: 40 Quick Win: 28.0 Staleness: 55 Complexity: 30 Confidence: 60 Support Request: 10

Issue body

### Bug Description Running in brief, for sources, we can see a 404 network error, but not what part caused it or the actual source reference ### To Reproduce Run snapcraft in brief with a source that produces a 404, running in verbose makes it a bit more obvious, but still not entirely clear ### Environment Ubuntu 22.04 LTS ### snapcraft.yaml ```shell name: ansel version: "0.0.0" adopt-info: ansel grade: stable confinement: strict base: core22 compression: lzo donation: "https://liberapay.com/aurelienpierre" source-code: "https://github.com/aurelienpierreeng/ansel" website: "https://ansel.photos" architectures: - build-on: amd64 - build-on: arm64 apps: ansel: command: usr/bin/ansel --datadir $SNAP/usr/share/ansel --moduledir $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/ansel --configdir $SNAP_USER_DATA --localedir $SNAP/usr/share/locale environment: GTK_USE_PORTAL: 0 extensions: [gnome] plugs: - opengl - home - removable-media - password-manager-service - network - network-bind common-id: photos.ansel.app cli: command: usr/bin/ansel-cli --datadir $SNAP/usr/share/ansel --moduledir $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/ansel --configdir $SNAP_USER_DATA --localedir $SNAP/usr/share/locale extensions: [gnome] plugs: - opengl - home - removable-media - password-manager-service - network - network-bind # https://forum.snapcraft.io/t/help-gdbus-error-this-call-is-not-available-inside-the-sandbox/29969/5 - network-status lensfun-update-data: command: usr/bin/lensfun-update-data environment: PYTHONPATH: $SNAP/usr/lib/python3/dist-packages plugs: - network slots: session-dbus-interface: interface: dbus name: org.darktable.service bus: session layout: /usr/include/clc: symlink: $SNAP/usr/include/clc /usr/lib/clc: symlink: $SNAP/usr/lib/clc /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gallium-pipe: symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gallium-pipe /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/intel-opencl: symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/intel-opencl build-packages: - gcc-12 - g++-12 parts: opencl: plugin: nil stage-packages: - mesa-opencl-icd - ocl-icd-libopencl1 intel-opencl-icd: source: https://github.com/intel/compute-runtime/releases/download/intel-opencl-icd_23.22.26516.18_amd64.deb source-checksum: sha256/934959f815a2692a65a16cfe126b466749d03f14d0184afdf84a6453dba06b04 plugin: dump libigdgmm12: source: https://github.com/intel/compute-runtime/releases/download/libigdgmm12_23.22.26516.18_amd64.deb source-checksum: sha256/de6ed9333a74506de43993eb14c8e0e0eb23314c42b03af66fe9c3df24a8973d plugin: dump intel-level-zero-gpu: source: https://github.com/intel/compute-runtime/releases/download/intel-level-zero-gpu_1.3.26516.18_amd64.deb source-checksum: sha256/3505f1dad479aaeea1f2460cc9288edc031bead47ac924a9f78b3c01fdcf5d3a plugin: dump intel-igc-core: source: https://github.com/intel/intel-graphics-compiler/releases/download/intel-igc-core_1.0.14062.11_amd64.deb source-checksum: sha256/c75dc93b168246f0ac08aea6aef551312f54545771b4637a268de205617d2ab0 plugin: dump stage: - -usr/share/doc - -usr/local - -usr/lib/igc organize: usr/local/lib: usr/lib intel-igc-opencl: source: https://github.com/intel/intel-graphics-compiler/releases/download/intel-igc-opencl_1.0.14062.11_amd64.deb source-checksum: sha256/cf76d943dbe44d3da2b7bad2a1049b8834030ec03f7cea6270528f5e67251095 plugin: dump stage: - -usr/share/doc - -usr/local - -usr/lib/igc organize: usr/local/lib: usr/lib ansel: plugin: cmake source: . cmake-parameters: - -DCMAKE_BUILD_TYPE=Release # Place the data alongside that coming from stage-packages (e.g. the lensfun database) - -DCMAKE_INSTALL_PREFIX=/usr # Support Lua scripts by way of internal Lua implementation - -DDONT_USE_INTERNAL_LUA=OFF # Don't overly optimize for build CPU-- stay generic - -DBINARY_PACKAGE_BUILD=ON - -DCMAKE_FIND_ROOT_PATH="$SNAPCRAFT_STAGE;/snap/gnome-42-2204-sdk/current" - -DCMAKE_VERBOSE_MAKEFILE=ON - -DCMAKE_C_COMPILER="/usr/bin/gcc-12" - -DCMAKE_CXX_COMPILER="/usr/bin/g++-12" - -DUSE_LIGHTROOM=ON stage-packages: - libasn1-8-heimdal - libavif13 - libcurl3-gnutls - libexiv2-27 - libgraphicsmagick-q16-3 - libgssapi3-heimdal - libhcrypto4-heimdal - libheimbase1-heimdal - libheimntlm0-heimdal - libhx509-5-heimdal - libimage-exiftool-perl - libkrb5-26-heimdal - libgphoto2-6 - libldap-2.5-0 - liblensfun-bin - liblensfun-data-v1 - liblensfun1 - libnghttp2-14 - libpugixml1v5 - libroken18-heimdal - librtmp1 - libsasl2-2 - libssh-4 - libwind0-heimdal build-packages: - intltool - libavif-dev - libexiv2-dev - libgraphicsmagick1-dev - liblensfun-dev - libgphoto2-dev - libpugixml-dev - libsdl2-dev - libsm-dev - libxml2-utils - libxrandr-dev - ninja-build - patch - pkg-config - xsltproc # -- Missing jsonschema, problems in noiseprofiles.json might go unnoticed # -- GMIC not found # Disabled capabilities for now due to interfaces: # # Need to test with cups-control interface # - libcups2-dev # No colord interface # - libcolord-dev # - libcolord-gtk-dev build-environment: - LDFLAGS: "-L${CRAFT_STAGE}/usr/lib/${CRAFT_ARCH_TRIPLET} $(pkg-config --libs libheif sdl2 harfbuzz gtk+-3.0 OpenEXR)" # [-Werror=shadow] # :: src/src/gui/guides.c:534:63: error: declaration of ‘free’ shadows a global declaration - CFLAGS: "-O3 $(pkg-config --cflags libheif sdl2 harfbuzz OpenEXR) -Wno-error=type-limits -Wno-error=shadow -Wno-error=unused-value" # [-Werror=shadow] # :: usr/include/OpenEXR/ImfRational.h:48:26: error: declaration of ‘d’ shadows a member of ‘Imf_3_1::Rational’ - CXXFLAGS: "-O3 $(pkg-config --cflags libheif sdl2 harfbuzz OpenEXR) -Wno-error=register -Wno-error=shadow" override-pull: | craftctl default craftctl set version=$(git describe --tags) patch -p0 < "${SNAPCRAFT_PROJECT_DIR}/snap/local/patches/darktable-math_h.patch" patch -p0 < "${SNAPCRAFT_PROJECT_DIR}/snap/local/patches/darktable-lens_cc.patch" override-build: | snapcraftctl build PYTHONPATH=$SNAPCRAFT_PART_INSTALL/usr/lib/python3/dist-packages $SNAPCRAFT_PART_INSTALL/usr/bin/lensfun-update-data || echo No updates if [ -d /var/lib/lensfun-updates/version_1/]; then cp /var/lib/lensfun-updates/version_1/* $SNAPCRAFT_PART_INSTALL/usr/share/lensfun/version_1/ fi parse-info: - usr/share/metainfo/photos.ansel.app.appdata.xml after: - openexr - osmgpsmap - heif heif: source: https://github.com/strukturag/libheif/releases/download/v1.14.2/libheif-1.14.2.tar.gz source-checksum: sha256/d016905e247d6952cd7ee4f9b90957350b6a6caa466bc76fdfe6eb302b6d088c plugin: autotools autotools-configure-parameters: - --prefix=/usr build-environment: - CC: "/usr/bin/gcc-12" - CXX: "/usr/bin/g++-12" openexr: source: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz source-checksum: sha256/93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec plugin: cmake cmake-parameters: - -DCMAKE_INSTALL_PREFIX=/usr - -DDOCS=OFF - -DOPENEXR_INSTALL_EXAMPLES=OFF - -DOPENEXR_BUILD_TOOLS=OFF - -DOPENEXR_INSTALL_TOOLS=OFF - -DCMAKE_C_COMPILER="/usr/bin/gcc-12" - -DCMAKE_CXX_COMPILER="/usr/bin/g++-12" build-environment: - CFLAGS: "-O3" osmgpsmap: source: https://github.com/nzjrs/osm-gps-map/releases/download/1.2.0/osm-gps-map-1.2.0.tar.gz source-checksum: sha256/ddec11449f37b5dffb4bca134d024623897c6140af1f9981a8acc512dbf6a7a5 plugin: autotools autotools-configure-parameters: - --prefix=/usr - --enable-introspection=no build-packages: - libcurl4-gnutls-dev - libssl-dev - libsoup2.4-dev build-environment: - CFLAGS: "-O3" - CXXFLAGS: "-O3" - CC: "/usr/bin/gcc-12" - CXX: "/usr/bin/g++-12" ``` ### Relevant log output ```shell snapcraft build --shell-after Executed: skip pull heif (already ran) Executed: skip pull openexr (already ran) Executed: skip pull osmgpsmap (already ran) Executed: skip pull ansel (already ran) Executed: skip pull gnome/sdk (already ran) Network request error: network request failed (request=<PreparedRequest [GET]>, response=<Response [404]>). Check the network and try again. Failed to execute build in instance. Full execution log: '/home/sergiusens/.local/state/snapcraft/log/snapcraft-20230818-092033.508680.log' ``` ### Additional context _No response_

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 40
Quick Win: 28.0
Staleness: 55
Complexity: 30
Confidence: 60
Support Request: 10
keep open Enhancement: 404 network errors during source pull don't identify which part/source failed. Triaged by maintainer, synced to Jira SNAPCRAFT-1086. craft-parts NetworkRequestError now includes a source detail field.
qwen/qwen3.6-35b-a3b
Staleness: 88
Complexity: 20
Confidence: 75
Support Request: 5
keep open Enhancement to improve error messaging for 404 network failures by identifying the specific source or part that triggered the error. Currently triaged but inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 80
Support Request: 5
keep open Enhancement request to clarify which source or part triggered a 404 network error during builds. The issue is triaged but has seen no maintainer activity in over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 40
Confidence: 75
Support Request: 10
keep open Improve snapcraft brief mode error output for 404 network failures to explicitly identify the failing source. Triaged enhancement, awaiting implementation. Last updated 418 days ago.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#1533 (confidence 55%)

    fix(sources): handle streaming request errors — touches NetworkRequestError handling in craft-parts, the library that generates the 'Network request error' message reported here.

Related issues

No related issues found above the similarity threshold.