#Seeing core dumps while compiling golang code in dagger v0.18.10 on Mac

1 messages · Page 1 of 1 (latest)

forest jacinth
#

Not sure how to debug this, compiling works outside of Dagger. Core dumps with multiple versions of Go.

#
● container(platform: "linux/amd64"): Container! 0.0s
● .from(address: "golang:1.23"): Container! 1.2s
● .withMountedCache(
  ┆ path: "/go/pkg/mod"
  ┆ cache: cacheVolume(key: "gomod-golang:1.23-linux/amd64"): CacheVolume!
  ): Container! 0.0s
● .withMountedCache(
  ┆ path: "/root/.cache/go-build"
  ┆ cache: cacheVolume(key: "go-build-golang:1.23-linux/amd64"): CacheVolume!
  ): Container! 0.0s
● .withWorkdir(path: "/work"): Container! 0.0s
● .withDirectory(
  ┆ path: "/work"
  ┆ directory: Host.directory(path: ".", exclude: ["cue.mod/pkg", "docs", "next"]): Directory!
  ┆ include: ["go.mod", "go.sums"]
  ): Container! 0.1s
● .withExec(args: ["go", "mod", "download"]): Container! 18.3s
● .withDirectory(
  ┆ path: "/work"
  ┆ directory: Host.directory(path: ".", exclude: ["cue.mod/pkg", "docs", "next"]): Directory!
  ┆ exclude: ["changelogs", "ci", "docs", "hack", "images", "notes", "test"]
  ): Container! 0.4s
▼ .withExec(args: ["go", "build", "./cmd/hof"]): Container! 57.7s
┃ crypto/md5: /usr/local/go/pkg/tool/linux_amd64/asm: signal: segmentation fault (core dumped)                                                    
┃ cuelang.org/go/cue/format: /usr/local/go/pkg/tool/linux_amd64/compile: signal: segmentation fault (core dumped)                                 

The specific libraries that seg fault are different each time I run it

#

Tried updating colima as well

colima version
colima version 0.8.1
git commit: 96598cc5b64e5e9e1e64891642b91edc8ac49d16

runtime: docker
arch: aarch64
client: v28.2.2
server: v27.4.0
#
docker version
Client: Docker Engine - Community
 Version:           28.2.2
 API version:       1.47 (downgraded from 1.50)
 Go version:        go1.24.3
 Git commit:        e6534b4eb7
 Built:             Fri May 30 09:39:08 2025
 OS/Arch:           darwin/arm64
 Context:           colima

Server: Docker Engine - Community
 Engine:
  Version:          27.4.0
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.10
  Git commit:       92a8393
  Built:            Sat Dec  7 10:39:01 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.7.24
  GitCommit:        88bf19b2105c8b17560993bee28a01ddc2f97182
 runc:
  Version:          1.2.2
  GitCommit:        v1.2.2-0-g7cb3632
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
#

Note, these are golang seg faults while compiling, not dagger

#

back to the archaic commit -> push -> pray loop :]

#

I believe this is the log line, but it does not elucidate anything for me

#

fyi, this seems like an arch / emulation mismatch issue. Just found a flag in the code to set the arch go should use and using arm64 resolves the issue

#

(this is what I get for my past self not writing documentation for my current self)