docker / for-mac

Bug reports for Docker Desktop for Mac
https://www.docker.com/products/docker#/mac
2.44k stars 118 forks source link

Linux kernel v6.6.12 crash on virtualization.framework #7257

Open GuillaumeDua opened 6 months ago

GuillaumeDua commented 6 months ago

Description

Docker crash. Not only one container: the docker process.

Context: It seems that such crash happens when a container is performing intense I/O operation, such as deleting a large amount of files.
However, this happens at random moments too.

[371558.909105] Internal error: Oops: 0000000096000004 [#1] SMP
[371558.909756] Modules linked in: selfowner(O) shiftfs(O) rosetta(O) grpcfuse(O) fakeowner(O)
[371558.909913] CPU: 1 PID: 71 Comm: khugepaged Tainted: G           O       6.6.12-linuxkit #1
[371558.910340] pstate: 81400005 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
[371558.910532] pc : anon_vma_interval_tree_iter_first+0x30/0x70
[371558.910690] lr : rmap_walk_anon+0x7c/0x260
[371558.910791] sp : ffff0000c0b174d0
[371558.910835] x29: ffff0000c0b174d0 x28: fffffc000437fa40 x27: 0000000000000000
[371558.911016] x26: fffffffffffffff2 x25: ffff0000d01f0340 x24: 0000000004000796
[371558.911160] x23: 0000000004000796 x22: ffff0000c0b17538 x21: 0000000000000001
[371558.911264] x20: 0000000000000000 x19: fffffc000437fa80 x18: ffff0000c0b17dc8
[371558.911416] x17: 536e6f6974634128 x16: 4e4f4954494e4946 x15: 45445f4e4f495443
[371558.911607] x14: 4120200a72656973 x13: 616520736576696c x12: 0000000000000007
[371558.911759] x11: ffff800081aff540 x10: 0000000000000001 x9 : ffff80008029378c
[371558.911947] x8 : ffff0000c0b17468 x7 : ffff0000c0b9b000 x6 : ffff0000cb2a3140
[371558.912108] x5 : 0000000000000040 x4 : 0000000000000001 x3 : 623366383362392d
[371558.912301] x2 : 0000000004000796 x1 : 0000000004000796 x0 : 0000000000000000
[371558.912445] Call trace:
[371558.912476]  anon_vma_interval_tree_iter_first+0x30/0x70
[371558.912568]  try_to_migrate+0xe8/0x128
[371558.912608]  migrate_pages_batch+0x5c0/0xe20
[371558.912646]  migrate_pages+0x4e0/0xd28
[371558.912730]  compact_zone+0x978/0xeb8
[371558.912792]  compact_zone_order+0xbc/0x118
[371558.912906]  try_to_compact_pages+0xe4/0x340
[371558.913010]  __alloc_pages_direct_compact+0x84/0x2f0
[371558.913118]  __alloc_pages+0xa80/0xcb0
[371558.913186]  alloc_charge_hpage+0x5c/0x1d8
[371558.913238]  hpage_collapse_scan_pmd+0x2d8/0x1538
[371558.913323]  khugepaged+0x6a0/0x878
[371558.913377]  kthread+0xe8/0xf8
[371558.913419]  ret_from_fork+0x10/0x20
[371558.913474] Code: 54000208 f9400463 d2800000 f85e0063 (f9404063) 
[371558.913624] ---[ end trace 0000000000000000 ]---

Reproduce

Kinda hard to describe, but most likely the crash happens when cleaning a CMake cache of a large C++ project on a build container.

Expected behavior

Not crash

docker version

Client:
 Cloud integration: v1.0.35+desktop.10
 Version:           25.0.3
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        4debf41
 Built:             Tue Feb  6 21:13:26 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.27.2 (137060)
 Engine:
  Version:          25.0.3
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       f417435
  Built:            Tue Feb  6 21:14:22 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    25.0.3
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.1-desktop.4
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.24.5-desktop.1
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container. (Docker Inc.)
    Version:  0.0.24
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-debug
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.21
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.4
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.0.0
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-sbom
  scout: Docker Scout (Docker Inc.)
    Version:  v1.4.1
    Path:     /Users/guillaume.dua/.docker/cli-plugins/docker-scout
WARNING: Plugin "/Users/guillaume.dua/.docker/cli-plugins/docker-scan" is not valid: failed to fetch metadata: fork/exec /Users/guillaume.dua/.docker/cli-plugins/docker-scan: no such file or directory

Server:
 Containers: 3
  Running: 2
  Paused: 0
  Stopped: 1
 Images: 7
 Server Version: 25.0.3
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 6.6.12-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 8
 Total Memory: 19.51GiB
 Name: docker-desktop
 ID: 0cfa3b79-6e28-4e35-a8d9-1357c0a1ef82
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile

Diagnostics ID

A6A6E05F-E808-491B-B0A5-B82DEBE576EC/20240419151558

Additional Info

No response

GuillaumeDua commented 6 months ago

This issue also can reproduced by rebuilding a (large) C++ project after git checkout another branch.

GuillaumeDua commented 2 months ago

Any update ?