Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/link: Darwin build fails with "unknown load command" #25908

Closed
mistydemeo opened this issue Jun 15, 2018 · 22 comments

Comments

Projects
None yet
8 participants
@mistydemeo
Copy link
Contributor

commented Jun 15, 2018

What version of Go are you using (go version)?

go version go1.10.3 darwin/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/vagrant/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/vagrant/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.10.3/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.10.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4d/rttdp_9d2s7f36zplgwnqrgr0000gn/T/go-build152874796=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Attempted to build https://github.com/sstephenson/launch_socket_server, a Go program with libc linkage.

What did you expect to see?

Build succeeds.

What did you see instead?

GOPATH=/private/tmp/launch_socket_server-20180614-6825-1xxvz8v/launch_socket_server-1.0.0 go build -o sbin/launch_socket_server src/launch_socket_server.go
# command-line-arguments
/usr/local/Cellar/go/1.10.2/libexec/pkg/tool/darwin_amd64/link: /usr/local/Cellar/go/1.10.2/libexec/pkg/tool/darwin_amd64/link: combining dwarf failed: Unknown load command 0x32 (50)

Notes

This is fixed by #25906.

@bradfitz bradfitz changed the title Darwin build fails with "unknown load command" cmd/link: Darwin build fails with "unknown load command" Jun 15, 2018

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

@ianlancetaylor, okay for Go 1.11?

@bradfitz bradfitz added the NeedsFix label Jun 15, 2018

@bradfitz bradfitz added this to the Go1.11 milestone Jun 15, 2018

@gopherbot

This comment has been minimized.

Copy link

commented Jun 15, 2018

Change https://golang.org/cl/119115 mentions this issue: ld/macho: add all missing load commands

@gopherbot gopherbot closed this in 1a92cdb Jun 15, 2018

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

@gopherbot please consider this for backport to 1.10, it's a regression

@gopherbot

This comment has been minimized.

Copy link

commented Jun 15, 2018

Backport issue(s) opened: #25912 (for 1.10).

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases.

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

@gopherbot please consider this for backport to 1.9, it's a regression

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

@mistydemeo, regression from when? When did it last work?

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

@bradfitz It's broken on upcoming Darwin releases, but works on current releases.

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

Ah, gotcha. Thanks. I'm cool with both backports in that case.

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

Thanks! 👍 Did I do something wrong wrt getting gopherbot to trigger the 1.9 backport?

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

/cc @andybons, @FiloSottile for gopherbot cherry-pick question.

@mistydemeo, feel free to file a manual cherry-pick bug like a caveperson in the meantime if you'd like.

@FiloSottile

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

It's not you :) the bot doesn't notice commands after the first, it's tracked at #25574. (You can ask for 1.10 and 1.9 in a single message though.)

@FiloSottile

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

Filed #25915 for cherry-pick to 1.9.

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

Thanks for opening that!

I'm running into an issue pushing the change. This one can't be cherry-picked via Gerrit, since the lines in question moved between 1.9 and 1.10. I have a local patch, and I've followed the instructions here through to the final step. However, it's failing with this message:

remote: Processing changes: refs: 1, done
To https://go.googlesource.com/go
 ! [remote rejected]       HEAD -> refs/for/master (change https://go-review.googlesource.com/#/c/go/+/119115 closed)

It's true that that review is closed, but that's the one that this is backporting. Did I do something wrong with my commit message? This is what I have:

From 4002698146b99540f2abc00df91e87826eccd08d Mon Sep 17 00:00:00 2001
From: Misty De Meo <mistydemeo@gmail.com>
Date: Fri, 15 Jun 2018 11:25:57 -0700
Subject: [PATCH] [release-branch.go1.9] ld/macho: add all missing load
 commands

The ld/macho code currently understands a subset of the mach-o load
commands. I've encountered one of these in the wild in a Go-produced
binary, which tripped up the Go linker because its switch statement
expects its list of load commands to be exhaustive; the rest I've
added for the sake of completion.

The ruby-macho library is a good non-Darwin header resource for these:
https://github.com/homebrew/ruby-macho

Fixes #25915

Change-Id: Ib54c065d27e87d8726a9870df05a2bae24828b98
GitHub-Last-Rev: 655e3f4
GitHub-Pull-Request: golang/go#25906
Reviewed-on: https://go-review.googlesource.com/119115
Reviewed-by: Ian Lance Taylor <iant@golang.org>
---
 .../link/internal/ld/macho_combine_dwarf.go   | 73 +++++++++++++------
 1 file changed, 52 insertions(+), 21 deletions(-)

diff --git a/src/cmd/link/internal/ld/macho_combine_dwarf.go b/src/cmd/link/internal/ld/macho_combine_dwarf.go
index 8c6c4a86ac..515f798a9c 100644
--- a/src/cmd/link/internal/ld/macho_combine_dwarf.go
+++ b/src/cmd/link/internal/ld/macho_combine_dwarf.go
@@ -21,26 +21,57 @@ var dwarfaddr, linkaddr int64
 var linkoffset uint32
 
 const (
-	LC_ID_DYLIB             = 0xd
-	LC_LOAD_DYLINKER        = 0xe
-	LC_PREBOUND_DYLIB       = 0x10
-	LC_LOAD_WEAK_DYLIB      = 0x18
-	LC_UUID                 = 0x1b
-	LC_RPATH                = 0x8000001c
-	LC_CODE_SIGNATURE       = 0x1d
-	LC_SEGMENT_SPLIT_INFO   = 0x1e
-	LC_REEXPORT_DYLIB       = 0x8000001f
-	LC_ENCRYPTION_INFO      = 0x21
-	LC_DYLD_INFO            = 0x22
-	LC_DYLD_INFO_ONLY       = 0x80000022
-	LC_VERSION_MIN_MACOSX   = 0x24
-	LC_VERSION_MIN_IPHONEOS = 0x25
-	LC_FUNCTION_STARTS      = 0x26
-	LC_MAIN                 = 0x80000028
-	LC_DATA_IN_CODE         = 0x29
-	LC_SOURCE_VERSION       = 0x2A
-	LC_DYLIB_CODE_SIGN_DRS  = 0x2B
-	LC_ENCRYPTION_INFO_64   = 0x2C
+	LC_SEGMENT                  = 0x1
+	LC_SYMTAB                   = 0x2
+	LC_SYMSEG                   = 0x3
+	LC_THREAD                   = 0x4
+	LC_UNIXTHREAD               = 0x5
+	LC_LOADFVMLIB               = 0x6
+	LC_IDFVMLIB                 = 0x7
+	LC_IDENT                    = 0x8
+	LC_FVMFILE                  = 0x9
+	LC_PREPAGE                  = 0xa
+	LC_DYSYMTAB                 = 0xb
+	LC_LOAD_DYLIB               = 0xc
+	LC_ID_DYLIB                 = 0xd
+	LC_LOAD_DYLINKER            = 0xe
+	LC_ID_DYLINKER              = 0xf
+	LC_PREBOUND_DYLIB           = 0x10
+	LC_ROUTINES                 = 0x11
+	LC_SUB_FRAMEWORK            = 0x12
+	LC_SUB_UMBRELLA             = 0x13
+	LC_SUB_CLIENT               = 0x14
+	LC_SUB_LIBRARY              = 0x15
+	LC_TWOLEVEL_HINTS           = 0x16
+	LC_PREBIND_CKSUM            = 0x17
+	LC_LOAD_WEAK_DYLIB          = 0x18
+	LC_SEGMENT_64               = 0x19
+	LC_ROUTINES_64              = 0x1a
+	LC_UUID                     = 0x1b
+	LC_RPATH                    = 0x8000001c
+	LC_CODE_SIGNATURE           = 0x1d
+	LC_SEGMENT_SPLIT_INFO       = 0x1e
+	LC_REEXPORT_DYLIB           = 0x8000001f
+	LC_LAZY_LOAD_DYLIB          = 0x20
+	LC_ENCRYPTION_INFO          = 0x21
+	LC_DYLD_INFO                = 0x22
+	LC_DYLD_INFO_ONLY           = 0x80000022
+	LC_LOAD_UPWARD_DYLIB        = 0x80000023
+	LC_VERSION_MIN_MACOSX       = 0x24
+	LC_VERSION_MIN_IPHONEOS     = 0x25
+	LC_FUNCTION_STARTS          = 0x26
+	LC_DYLD_ENVIRONMENT         = 0x27
+	LC_MAIN                     = 0x80000028
+	LC_DATA_IN_CODE             = 0x29
+	LC_SOURCE_VERSION           = 0x2A
+	LC_DYLIB_CODE_SIGN_DRS      = 0x2B
+	LC_ENCRYPTION_INFO_64       = 0x2C
+	LC_LINKER_OPTION            = 0x2D
+	LC_LINKER_OPTIMIZATION_HINT = 0x2E
+	LC_VERSION_MIN_TVOS         = 0x2F
+	LC_VERSION_MIN_WATCHOS      = 0x30
+	LC_VERSION_NOTE             = 0x31
+	LC_BUILD_VERSION            = 0x32
 
 	pageAlign = 12 // 4096 = 1 << 12
 )
@@ -242,7 +273,7 @@ func machoCombineDwarf(inexe, dsym, outexe string) error {
 			err = machoUpdateLoadCommand(reader, &linkEditDataCmd{}, "DataOff")
 		case LC_ENCRYPTION_INFO, LC_ENCRYPTION_INFO_64:
 			err = machoUpdateLoadCommand(reader, &encryptionInfoCmd{}, "CryptOff")
-		case macho.LoadCmdDylib, macho.LoadCmdThread, macho.LoadCmdUnixThread, LC_PREBOUND_DYLIB, LC_UUID, LC_VERSION_MIN_MACOSX, LC_VERSION_MIN_IPHONEOS, LC_SOURCE_VERSION, LC_MAIN, LC_LOAD_DYLINKER, LC_LOAD_WEAK_DYLIB, LC_REEXPORT_DYLIB, LC_RPATH, LC_ID_DYLIB:
+		case macho.LoadCmdDylib, macho.LoadCmdThread, macho.LoadCmdUnixThread, LC_PREBOUND_DYLIB, LC_UUID, LC_VERSION_MIN_MACOSX, LC_VERSION_MIN_IPHONEOS, LC_SOURCE_VERSION, LC_MAIN, LC_LOAD_DYLINKER, LC_LOAD_WEAK_DYLIB, LC_REEXPORT_DYLIB, LC_RPATH, LC_ID_DYLIB, LC_SYMSEG, LC_LOADFVMLIB, LC_IDFVMLIB, LC_IDENT, LC_FVMFILE, LC_PREPAGE, LC_ID_DYLINKER, LC_ROUTINES, LC_SUB_FRAMEWORK, LC_SUB_UMBRELLA, LC_SUB_CLIENT, LC_SUB_LIBRARY, LC_TWOLEVEL_HINTS, LC_PREBIND_CKSUM, LC_ROUTINES_64, LC_LAZY_LOAD_DYLIB, LC_LOAD_UPWARD_DYLIB, LC_DYLD_ENVIRONMENT, LC_LINKER_OPTION, LC_LINKER_OPTIMIZATION_HINT, LC_VERSION_MIN_TVOS, LC_VERSION_MIN_WATCHOS, LC_VERSION_NOTE, LC_BUILD_VERSION:
 			// Nothing to update
 		default:
 			err = fmt.Errorf("Unknown load command 0x%x (%s)\n", int(cmd.Cmd), cmd.Cmd)
-- 
2.17.1
@FiloSottile

This comment has been minimized.

Copy link
Member

commented Jun 15, 2018

@mistydemeo It's complaining because you are submitting the change to branch master. The critical step in the instructions is git checkout release-branch.go1.9 before git codereview change, so that the change branch is set to have release-branch.go1.9 as upstream.

@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

Thank you! I could have sworn I'd done that, but it seems to have worked the second try.

@IdiotLeon

This comment has been minimized.

Copy link

commented Aug 10, 2018

What was the solution?
I still met this problem when trying to debug a tutorial level go project.
Here is the log

# _/Users/leon/Documents/Projects/GoLang/TutorialLearningGoForWebDevelopment
/usr/local/go/pkg/tool/darwin_amd64/link: /usr/local/go/pkg/tool/darwin_amd64/link: combining dwarf failed: Unknown load command 0x32 (50)
exit status 2
Process exiting with code: 1
@mistydemeo

This comment has been minimized.

Copy link
Contributor Author

commented Aug 11, 2018

@Unc7e The PRs mentioned earlier were the fixes. It's been fixed in the 1.11 and 1.10 branches, but hasn't yet made it into a stable release of Go.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Aug 11, 2018

@mistydemeo 1.10 is a stable release of Go.

@bbuchalter bbuchalter referenced this issue Oct 2, 2018

Open

Add support for go1.11 #639

3 of 3 tasks complete

walac added a commit to taskcluster/generic-worker that referenced this issue Oct 31, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Oct 31, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Oct 31, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Oct 31, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 1, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 2, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 2, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 7, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 8, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to walac/generic-worker that referenced this issue Nov 9, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to walac/generic-worker that referenced this issue Nov 9, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to walac/generic-worker that referenced this issue Nov 12, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to walac/generic-worker that referenced this issue Nov 14, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 19, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908

walac added a commit to taskcluster/generic-worker that referenced this issue Nov 20, 2018

Bug 1502337: Initial support for docker-worker payloads
This commit implements the initial support for docker-worker payloads.
So far, only the Image, Command, Env and MaxRunTime fields are supported.
It hasn't been extensive tested so features like task cancellation may
not work. Also, it doesn't implement custom artifacts and more extensive
tests.

The support for docker-worker payloads is achieved through build flags.
To build with docker-worker paylod, build it with the "docker" flag,
like so:

$ go build -tags=docker

Notice that generic-worker will not be supported in this build.

We also needed to upgrade golang due to a bug in the go compiler [1].

[1] golang/go#25908
@cuijianzhi

This comment has been minimized.

Copy link

commented Dec 19, 2018

it's gone when i upgrade to go1.11.4.

@Toplife

This comment has been minimized.

Copy link

commented Jan 31, 2019

I am also meet this error in 1.10.3, upgrade to 1.11.x is fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.