Uploaded image for project: 'Container Tools'
  1. Container Tools
  2. RUN-3552

[containers/podman] Error running `podman build` with option `--build-context` on Hyper-V

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • rhel-container-tools

      [2435492559] Upstream Reporter: Mario Loriedo
      Upstream issue status: Open
      Upstream description:

      Issue Description

      An image's build fails on Hyper-V when using additional build context. The same build works fine when using WSL as the machine provider.

      Unable to find source-code formatter for language: log. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      copier: get: "/test": getting extended attributes for "/test": listing extended attributes of "/test": invalid argument
      

      ??This error will be reproducible after we merge these PRs (1 and 2). Currently, podman build fails earlier with a different error message. ??One way to address this problem would be to send the additional build contexts as tarfiles. However, investigating the root cause of this problem is still important as it can have other effects.

      Steps to reproduce the issue

      Steps to reproduce the issue

      1. Create a folder context1 and add an empty file test in it
      2. Create a folder context2 and add this Dockerfile:
      Unable to find source-code formatter for language: dockerfile. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      FROM quay.io/libpod/alpine_nginx
      COPY --from=test-context test /"
      
      1. Run podman build --build-context test-context=.context1 .context2

      Describe the results you received

      Unable to find source-code formatter for language: log. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
        STEP 2/2: COPY --from=test-context test /
        Error: building at STEP "COPY --from=test-context test /": reading "/mnt/c/Users/mario/AppData/Local/Temp/ginkgo113287525/test": error during bulk transfer for copier.request{Request:"GET", Root:"/", preservedRoot:"/mnt/c/Users/mario/AppData/Local/Temp/ginkgo113287525", rootPrefix:"/mnt/c/Users/mario/AppData/Local/Temp/ginkgo113287525", Directory:"/", preservedDirectory:"/mnt/c/Users/mario/AppData/Local/Temp/ginkgo113287525", Globs:[]string{"/test"}, preservedGlobs:[]string{"/mnt/c/Users/mario/AppData/Local/Temp/ginkgo113287525/test"}, StatOptions:copier.StatOptions{CheckForArchives:false, Excludes:[]string(nil)}, GetOptions:copier.GetOptions{UIDMap:[]idtools.IDMap(nil), GIDMap:[]idtools.IDMap(nil), Excludes:[]string(nil), ExpandArchives:false, ChownDirs:(*idtools.IDPair)(nil), ChmodDirs:(*fs.FileMode)(nil), ChownFiles:(*idtools.IDPair)(nil), ChmodFiles:(*fs.FileMode)(nil), StripSetuidBit:false, StripSetgidBit:false, StripStickyBit:false, StripXattrs:false, KeepDirectoryNames:false, Rename:map[string]string(nil), NoDerefSymlinks:false, IgnoreUnreadable:false, NoCrossDevice:false}, PutOptions:copier.PutOptions{UIDMap:[]idtools.IDMap(nil), GIDMap:[]idtools.IDMap(nil), DefaultDirOwner:(*idtools.IDPair)(nil), DefaultDirMode:(*fs.FileMode)(nil), ChownDirs:(*idtools.IDPair)(nil), ChmodDirs:(*fs.FileMode)(nil), ChownFiles:(*idtools.IDPair)(nil), ChmodFiles:(*fs.FileMode)(nil), StripSetuidBit:false, StripSetgidBit:false, StripStickyBit:false, StripXattrs:false, IgnoreXattrErrors:false, IgnoreDevices:false, NoOverwriteDirNonDir:false, NoOverwriteNonDirDir:false, Rename:map[string]string(nil)}, MkdirOptions:copier.MkdirOptions{UIDMap:[]idtools.IDMap(nil), GIDMap:[]idtools.IDMap(nil), ChownNew:(*idtools.IDPair)(nil), ChmodNew:(*fs.FileMode)(nil)}, RemoveOptions:copier.RemoveOptions{All:false}}: copier: get: "/test": getting extended attributes for "/test": listing extended attributes of "/test": invalid argument
      

      Describe the results you expected

      The build should be successful

      podman info output

      host:   arch: amd64
        buildahVersion: 1.36.0
        cgroupControllers:   - cpu
        - io
        - memory
        - pids
        cgroupManager: systemd
        cgroupVersion: v2
        conmon:     package: conmon-2.1.10-1.fc40.x86_64
          path: /usr/bin/conmon
          version: 'conmon version 2.1.10, commit: '
        cpuUtilization:     idlePercent: 92.5
          systemPercent: 4.33
          userPercent: 3.17
        cpus: 4
        databaseBackend: sqlite
        distribution:     distribution: fedora
          variant: coreos
          version: "40"
        eventLogger: journald
        freeLocks: 2048
        hostname: localhost.localdomain
        idMappings:     gidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 1000000
          uidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 1000000
        kernel: 6.8.9-300.fc40.x86_64
        linkmode: dynamic
        logDriver: journald
        memFree: 180523008
        memTotal: 671866880
        networkBackend: netavark
        networkBackendInfo:     backend: netavark
          dns:       package: aardvark-dns-1.11.0-1.20240531102943328308.main.4.g6838c50.fc40.x86_64
            path: /usr/libexec/podman/aardvark-dns
            version: aardvark-dns 1.12.0-dev
          package: netavark-1.11.0-1.20240603091959994178.main.6.ge03b816.fc40.x86_64
          path: /usr/libexec/podman/netavark
          version: netavark 1.12.0-dev
        ociRuntime:     name: crun
          package: crun-1.15-1.20240531133908971237.main.28.g05c4ea1.fc40.x86_64
          path: /usr/bin/crun
          version: |-
            crun version UNKNOWN
            commit: 6cd8ca4ff492428eced77d57e8e8ebe3821ff193
            rundir: /run/user/1000/crun
            spec: 1.0.0
            +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
        os: linux
        pasta:     executable: /usr/bin/pasta
          package: passt-0^20240510.g7288448-1.fc40.x86_64
          version: |
            pasta 0^20240510.g7288448-1.fc40.x86_64
            Copyright Red Hat
            GNU General Public License, version 2 or later
              <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
            This is free software: you are free to change and redistribute it.
            There is NO WARRANTY, to the extent permitted by law.
        remoteSocket:     exists: true
          path: /run/user/1000/podman/podman.sock
        rootlessNetworkCmd: pasta
        security:     apparmorEnabled: false
          capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
          rootless: true
          seccompEnabled: true
          seccompProfilePath: /usr/share/containers/seccomp.json
          selinuxEnabled: true
        serviceIsRemote: true
        slirp4netns:     executable: /usr/bin/slirp4netns
          package: slirp4netns-1.2.2-2.fc40.x86_64
          version: |-
            slirp4netns version 1.2.2
            commit: 0ee2d87523e906518d34a6b423271e4826f71faf
            libslirp: 4.7.0
            SLIRP_CONFIG_VERSION_MAX: 4
            libseccomp: 2.5.3
        swapFree: 0
        swapTotal: 0
        uptime: 0h 1m 2.00s
        variant: ""
      plugins:   authorization: null
        log:   - k8s-file
        - none
        - passthrough
        - journald
        network:   - bridge
        - macvlan
        - ipvlan
        volume:   - local
      registries:   search:   - docker.io
      store:   configFile: /var/home/core/.config/containers/storage.conf
        containerStore:     number: 0
          paused: 0
          running: 0
          stopped: 0
        graphDriverName: overlay
        graphOptions: {}
        graphRoot: /var/home/core/.local/share/containers/storage
        graphRootAllocated: 106769133568
        graphRootUsed: 3944439808
        graphStatus:     Backing Filesystem: xfs
          Native Overlay Diff: "true"
          Supports d_type: "true"
          Supports shifting: "false"
          Supports volatile: "true"
          Using metacopy: "false"
        imageCopyTmpDir: /var/tmp
        imageStore:     number: 0
        runRoot: /run/user/1000/containers
        transientStore: false
        volumePath: /var/home/core/.local/share/containers/storage/volumes
      version:   APIVersion: 5.2.0-dev-c51095982
        Built: 1717459200
        BuiltTime: Tue Jun  4 00:00:00 2024
        GitCommit: ""
        GoVersion: go1.22.3
        Os: linux
        OsArch: linux/amd64
        Version: 5.2.0-dev-c51095982g.
      

      Podman in a container

      No

      Privileged Or Rootless

      Rootless

      Upstream Latest Release

      Yes

      Additional environment details

      Additional environment details

      Additional information

      Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting


      Upstream URL: https://github.com/containers/podman/issues/23429

              Unassigned Unassigned
              upstream-sync Upstream Sync
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: