Thanks for the review, Sergio. I addressed your comments and pushed the proposed fix to the following PPA:
https://launchpad.net/~athos-ribeiro/+archive/ubuntu/lp-1813003-docker- credential-helpers/+packages ** Patch added: "1-0.5.0-2ubuntu0.1.debdiff" https://bugs.launchpad.net/ubuntu/+source/golang-github-docker-docker-credential-helpers/+bug/1813003/+attachment/5517153/+files/1-0.5.0-2ubuntu0.1.debdiff ** Description changed: [Impact] The bug results in an error being printed on the user screen when running docker builds. While the error will not cause the build to fail, the bug does prevent users to login on servers with no X11 installed. [Test Plan] - Install docker.io and golang-docker-credential-helpers - Run a simple docker build - Verify that the error occurs - Install the proposed fix - Run a simple docker build - Verify the error is no longer present - alternatively, try to run "docker login" and provide a correct username and password. By the end of the login process, an error will occur and the login will not succeed. ``` apt-get update apt-get install -y docker.io golang-docker-credential-helpers mkdir /tmp/dummy-docker-build cd /tmp/dummy-docker-build cat <<EOF > Dockerfile FROM ubuntu:focal LABEL hello=label EOF - docker build -t golang-docker-credential-helpers:test + docker build -t golang-docker-credential-helpers:test . # Verify the error is triggered. # update the package and try the build again with # docker build -t golang-docker-credential-helpers:test # from this directory ``` [Where problems could occur] While the patch being applied is a simple, straightforward change, performing a rebuild of this package in bionic may pull newer versions of build dependencies which may cause unpredictable behavior in a stable package. [Other Info] - - This fix is already present upstream, in Debian, and in all following Ubuntu series. + + This fix is already present upstream, in Debian, and in all following + Ubuntu series. [Original message] Description of the problem: Running docker build generates a warning that an invalid free was performed. Steps to reproduce: sudo apt-get install docker-compose sudo docker build -f Dockerfile.build https://github.com/docker-library/hello-world.git Expected results: Docker container to be built without errors Actual results: An error is produced while the container is being built: free(): invalid pointer SIGABRT: abort PC=0x7f7027c42e97 m=0 sigcode=18446744073709551610 signal arrived during cgo execution goroutine 1 [syscall, locked to thread]: runtime.cgocall(0x4afd50, 0xc420073cc0, 0xc420073ce8) /usr/lib/go-1.8/src/runtime/cgocall.go:131 +0xe2 fp=0xc420073c90 sp=0xc420073c50 github.com/docker/docker-credential-helpers/secretservice._Cfunc_free(0x12c4da0) github.com/docker/docker-credential-helpers/secretservice/_obj/_cgo_gotypes.go:111 +0x41 fp=0xc420073cc0 sp=0xc420073c90 github.com/docker/docker-credential-helpers/secretservice.Secretservice.List.func5(0x12c4da0) /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/obj-x86_64-linux-gnu/src/github.com/docker/docker-credential-helpers/secretservice/secretservice_linux.go:96 +0x60 fp=0xc420073cf8 sp=0xc420073cc0 github.com/docker/docker-credential-helpers/secretservice.Secretservice.List(0x0, 0x756060, 0xc420014370) /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/obj-x86_64-linux-gnu/src/github.com/docker/docker-credential-helpers/secretservice/secretservice_linux.go:97 +0x217 fp=0xc420073da0 sp=0xc420073cf8 github.com/docker/docker-credential-helpers/secretservice.(*Secretservice).List(0x77e548, 0xc420073e88, 0x410022, 0xc4200142d0) <autogenerated>:4 +0x46 fp=0xc420073de0 sp=0xc420073da0 github.com/docker/docker-credential-helpers/credentials.List(0x756ba0, 0x77e548, 0x7560e0, 0xc42000e018, 0x0, 0x10) /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/obj-x86_64-linux-gnu/src/github.com/docker/docker-credential-helpers/credentials/credentials.go:145 +0x3e fp=0xc420073e68 sp=0xc420073de0 github.com/docker/docker-credential-helpers/credentials.HandleCommand(0x756ba0, 0x77e548, 0x7fff8fa9e879, 0x4, 0x7560a0, 0xc42000e010, 0x7560e0, 0xc42000e018, 0x40e398, 0x4d35c0) /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/obj-x86_64-linux-gnu/src/github.com/docker/docker-credential-helpers/credentials/credentials.go:60 +0x16d fp=0xc420073ed8 sp=0xc420073e68 github.com/docker/docker-credential-helpers/credentials.Serve(0x756ba0, 0x77e548) /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/obj-x86_64-linux-gnu/src/github.com/docker/docker-credential-helpers/credentials/credentials.go:41 +0x1cb fp=0xc420073f58 sp=0xc420073ed8 main.main() /build/golang-github-docker-docker-credential-helpers-cMhSy1/golang-github-docker-docker-credential-helpers-0.5.0/secretservice/cmd/main_linux.go:9 +0x4f fp=0xc420073f88 sp=0xc420073f58 runtime.main() /usr/lib/go-1.8/src/runtime/proc.go:185 +0x20a fp=0xc420073fe0 sp=0xc420073f88 runtime.goexit() /usr/lib/go-1.8/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc420073fe8 sp=0xc420073fe0 goroutine 17 [syscall, locked to thread]: runtime.goexit() /usr/lib/go-1.8/src/runtime/asm_amd64.s:2197 +0x1 rax 0x0 rbx 0x7fff8fa9e310 rcx 0x7f7027c42e97 rdx 0x0 rdi 0x2 rsi 0x7fff8fa9e0a0 rbp 0x7fff8fa9e410 rsp 0x7fff8fa9e0a0 r8 0x0 r9 0x7fff8fa9e0a0 r10 0x8 r11 0x246 r12 0x7fff8fa9e310 r13 0x1000 r14 0x0 r15 0x30 rip 0x7f7027c42e97 rflags 0x246 cs 0x33 fs 0x0 gs 0x0 How reproducible is the problem? Happens every time. Version information: Ubuntu 18.04.1 LTS docker.io 18.06.1-0ubuntu1~18.04.1 docker-compose 1.17.1-2 golang-docker-credential-helpers 0.5.0-2 Additional information: It looks like there's a patch which will fix this issue in the docker-credential-helpers project (see the https://github.com/docker/docker-credential-helpers/commit/73e5f5dbfea31ee3b81111ebbf189785fa69731c commit) but it only landed on master on the 19th July 2018 and the last "release" was v0.6.1. The patch looks fairly self contained though so looks like a ready candidate for backporting (and given how widespread this issue is this is the course of action I would recommend). There are also a lot of issues elsewhere on the web describing this issue: https://github.com/moby/moby/issues/34048 ("Error in `docker-credential-secretservice': free(): invalid pointer: 0x00000000011b3150" which reports that you need to install gnome-keyring) https://github.com/docker/for-linux/issues/185 ("Docker-engine on Debian should have `accountsservice` and `gnome-keyring` as dependencies") https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884596 ("Please make golang-docker-credential-helpers depend on gnome-keyring") https://github.com/docker/docker-credential-helpers/issues/103 ("strange errors on docker build " where someone says they have both gnome-keyring and accountsservice installed but they still see a problem. https://github.com/docker/docker-credential-helpers/issues/104 and https://github.com/docker/docker-credential-helpers/issues/23 appear to be duplicates). https://bugs.launchpad.net/ubuntu/+source/docker-compose/+bug/1792824 ("Please remove golang-docker-credential-helpers dependency from the Ubuntu docker-compose package" got the reply "Please don't ask us (Ubuntu) - go and ask Debian") https://github.com/moby/moby/issues/37916 ("Error on build: double free or corruption (out) SIGABRT: abort PC=0x7f7464f01e97 m=0 sigcode=18446744073709551610 signal arrived during cgo execution", seems to be the same as the problem described in https://github.com/docker/docker-credential-helpers/issues/103 ). -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1813003 Title: Invalid free while running docker build To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/golang-github-docker-docker-credential-helpers/+bug/1813003/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs