Sau Sheong Chang(Manning, 2016)μ "Go Web Programming" μ±
μ λν μμ΅μ μ½λλ₯Ό μ΄ν΄λ³΄κ³ μλλ° go build
ν λ² μ€ννλ €κ³ νλ©΄ "μΉλͺ
μ μΈ μ€λ₯: λ°νμ μ€ν μ€ μκΈ°μΉ μμ μ νΈ"κ° νμλ©λλ€. μ무 κ²λ μλνμ§ μκ³ μ μ ν λ λ²μ§Έλ‘ μλνμ΅λλ€. λ΄κ° λ§λ€κ³ μλ μ½λλ μ¬κΈ°μ μμ΅λλ€ .
λνμ΄νκ³ μΆμ΅λλ€. μ΄κ²μ ν λ²λ§ λ°μνμ΅λλ€. go build
_μ무κ²λ λ³κ²½νμ§ μκ³ _ νμ μ€νμ μμλλ‘ μλνμ΅λλ€. λΆννλ λλ μ¬νν μ μμκΈ° λλ¬Έμ μλμ μ€ν μΆμ μ μλΌλ΄μ΄ λΆμ¬λ£λ κ² μΈμ μ 곡ν μ λ³΄κ° κ±°μ μμ΅λλ€. λμΌν λ²κ·Έλ‘ 보μ΄λ λ¬Έμ κ° λ°μν κ²μ 보μμ§λ§ ν΄λΉ μ€λ λλ μ€μ νλμ¨μ΄(μ: 2013 MacBook Pro)μ λνλλ©΄ μ λ¬Έμ λ₯Ό μ΄μ΄μΌ νλ€κ³ νμνμ΅λλ€.
go version
: go version go1.6.2 darwin/amd64
go env
:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bart/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.6.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.6.2/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
bart@Barts-MBP:chitchat (master*)$ go build
# github.com/sausheong/gwp/Chapter_2_Go_ChitChat/chitchat/data
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x7b6c76bc73b0 pc=0xf0eb]
runtime stack:
runtime.throw(0x4971e0, 0x2a)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:547 +0x90
runtime.sigpanic()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/sigpanic_unix.go:12 +0x5a
runtime.unlock(0x984540)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/lock_sema.go:107 +0x14b
runtime.(*mheap).alloc_m(0x984540, 0x1, 0x9, 0xb92fa0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:492 +0x314
runtime.(*mheap).alloc.func1()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:502 +0x41
runtime.systemstack(0x7fff5fbff218)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:307 +0xab
runtime.(*mheap).alloc(0x984540, 0x1, 0x10000000009, 0xed8f)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:503 +0x63
runtime.(*mcentral).grow(0x985c00, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcentral.go:209 +0x93
runtime.(*mcentral).cacheSpan(0x985c00, 0xb54508)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcentral.go:89 +0x47d
runtime.(*mcache).refill(0xaf64b0, 0x9, 0xb54508)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcache.go:119 +0xcc
runtime.mallocgc.func2()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:642 +0x2b
runtime.systemstack(0x975d00)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:291 +0x79
runtime.mstart()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/proc.go:1051
goroutine 1 [running]:
runtime.systemstack_switch()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:245 fp=0xc82084cfe0 sp=0xc82084cfd8
runtime.mallocgc(0x80, 0x405340, 0xc800000000, 0x11029)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:643 +0x869 fp=0xc82084d0b8 sp=0xc82084cfe0
runtime.newarray(0x405340, 0x4, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:798 +0xc9 fp=0xc82084d0f8 sp=0xc82084d0b8
runtime.growslice(0x3b0120, 0xc820ac9740, 0x2, 0x2, 0x3, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/slice.go:100 +0x2c1 fp=0xc82084d168 sp=0xc82084d0f8
cmd/compile/internal/gc.livenessepilogue(0xc820b028c0)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/plive.go:1289 +0x3323 fp=0xc82084d708 sp=0xc82084d168
cmd/compile/internal/gc.liveness(0xc820518b40, 0xc820ba4360, 0xc820b17480, 0xc820b17500)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/plive.go:1794 +0x334 fp=0xc82084d7e8 sp=0xc82084d708
cmd/compile/internal/gc.compile(0xc820518b40)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/pgen.go:541 +0xdf2 fp=0xc82084da58 sp=0xc82084d7e8
cmd/compile/internal/gc.funccompile(0xc820518b40)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/dcl.go:1450 +0x1c0 fp=0xc82084dad0 sp=0xc82084da58
cmd/compile/internal/gc.Main()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/lex.go:472 +0x2116 fp=0xc82084ddf0 sp=0xc82084dad0
cmd/compile/internal/amd64.Main()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/amd64/galign.go:127 +0x58d fp=0xc82084de58 sp=0xc82084ddf0
main.main()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/main.go:32 +0x395 fp=0xc82084df30 sp=0xc82084de58
runtime.main()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/proc.go:188 +0x2b0 fp=0xc82084df80 sp=0xc82084df30
runtime.goexit()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc82084df88 sp=0xc82084df80
Go 1.6.2λ macOS 10.12λ₯Ό μ§μνμ§ μμ΅λλ€. Go 1.7λ‘ μ κ·Έλ μ΄λνμμμ€.
2016λ 9μ 26μΌ μ€ν 4μ 34λΆμ "Bart Grantham" [email protected]μ΄ λ€μκ³Ό κ°μ΄ μΌμ΅λλ€.
"Go Web Programming" μ± μ νν λ¦¬μΌ μ½λλ₯Ό μμ± μ€μ λλ€.
Sau Sheong Chang(Manning, 2016)μ μν΄ "μΉλͺ μ μΈ μ€λ₯: μκΈ°μΉ μμ μ νΈ
λ°νμ μ€ν μ€" go buildλ₯Ό ν λ² μ€ννλ €κ³ μλν λ€μ μλνμ΅λλ€.
μ무 κ²λ μλνμ§ μκ³ μ μ ν λ λ²μ§Έλ‘ μλνμ΅λλ€. μ½λ
λ΄κ° μ§κ³ μλ μ΄κ³³μ΄
https://github.com/sausheong/gwp/tree/master/Chapter_2_Go_ChitChat/chitchat
.λνμ΄νκ³ μΆμ΅λλ€. μ΄κ²μ ν λ²λ§ λ°μνμ΅λλ€. go build _withoutμ νμ μ€ν
무μμ΄λ λ³κ²½_ μμλλ‘ μλνμ΅λλ€. λΆννλ λλ κ±°μ μλ€
μλ μ€ν μΆμ μ μλΌλ΄κΈ° λ° λΆμ¬λ£κΈ° μΈμ μ 곡ν μ 보
λ²μμ ν μ μμκΈ° λλ¬Έμ λλ€. λ¬Έμ κ° μ΄λ¦° κ²μ 보μμ΅λλ€.
https://github.com/golang/go/issues/11792
λμΌν λ²κ·Έμ΄μ§λ§ ν΄λΉ μ€λ λλ μ€μ νλμ¨μ΄μ λνλλ κ²½μ°
(μ: 2013 MacBook Pro) μλ‘μ΄ λ¬Έμ λ₯Ό μ΄μ΄μΌ ν©λλ€.μ΄λ λ²μ : μ΄λ λ²μ go1.6.2 darwin/amd64
νκ²½μΌλ‘ μ΄λ:GOARCH="amd64"
κ³ λΉ=""
GOEXE=""
κ³ νΈμ€νμΉ="amd64"
GOHOSTOS="λ€μ"
GOOS="λ€μ"
GOPATH="/μ¬μ©μ/λ°νΈ/μ΄λ"
κ³ λΌμ€=""
GOROOT="/usr/local/Cellar/go/1.6.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.6.2/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="ν΄λ"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="ν΄λ++"
CGO_ENABLED="1"bart@Barts-MBP : μ‘λ΄ (λ§μ€ν°*)$ λΉλ μ΄λ
github.com/sausheong/gwp/Chapter_2_Go_ChitChat/chitchat/data
μΉλͺ μ μΈ μ€λ₯: λ°νμ μ€ν μ€ μκΈ°μΉ μμ μ νΈ
[μ νΈ 0xb μ½λ=0x1 addr=0x7b6c76bc73b0 pc=0xf0eb]λ°νμ μ€ν:
λ°νμ.throw(0x4971e0, 0x2a)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:547 +0x90
λ°νμ.μκ·Έν¨λ()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/sigpanic_unix.go:12 +0x5a
λ°νμ.μ κΈ ν΄μ (0x984540)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/lock_sema.go:107 +0x14b
λ°νμ.(_mheap).alloc_m(0x984540, 0x1, 0x9, 0xb92fa0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:492 +0x314
λ°νμ.(_mheap).alloc.func1()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:502 +0x41
λ°νμ.μμ€ν μ€ν(0x7fff5fbff218)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:307 +0xab
λ°νμ.(_mheap).alloc(0x984540, 0x1, 0x10000000009, 0xed8f)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mheap.go:503 +0x63
λ°νμ.(_mcentral).grow(0x985c00, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcentral.go:209 +0x93
λ°νμ.(_mcentral).cacheSpan(0x985c00, 0xb54508)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcentral.go:89 +0x47d
λ°νμ.(_mcache).refill(0xaf64b0, 0x9, 0xb54508)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/mcache.go:119 +0xcc
λ°νμ.mallocgc.func2()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:642 +0x2b
λ°νμ.μμ€ν μ€ν(0x975d00)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:291 +0x79
λ°νμ.mstart()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/proc.go:1051κ³ λ£¨ν΄ 1 [μ€ν μ€]:
λ°νμ.μμ€ν μ€ν_μ€μμΉ()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:245 fp=0xc82084cfe0 sp=0xc82084cfd8
λ°νμ.mallocgc(0x80, 0x405340, 0xc800000000, 0x11029)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:643 +0x869 fp=0xc82084d0b8 sp=0xc82084cfe0
runtime.newarray(0x405340, 0x4, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/malloc.go:798 +0xc9 fp=0xc82084d0f8 sp=0xc82084d0b8
runtime.growslice(0x3b0120, 0xc820ac9740, 0x2, 0x2, 0x3, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/slice.go:100 +0x2c1 fp=0xc82084d168 sp=0xc82084d0f8
cmd/compile/internal/gc.livenessepilogue(0xc820b028c0)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/plive.go:1289 +0x3323 fp=0xc82084d708 sp=0xc82084d168
cmd/compile/internal/gc.liveness(0xc820518b40, 0xc820ba4360, 0xc820b17480, 0xc820b17500)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/plive.go:1794 +0x334 fp=0xc82084d7e8 sp=0xc82084d708
cmd/μ»΄νμΌ/λ΄λΆ/gc.compile(0xc820518b40)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/pgen.go:541 +0xdf2 fp=0xc82084da58 sp=0xc82084d7e8
cmd/μ»΄νμΌ/λ΄λΆ/gc.funccompile(0xc820518b40)
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/dcl.go:1450 +0x1c0 fp=0xc82084dad0 sp=0xc82084da58
cmd/μ»΄νμΌ/λ΄λΆ/gc.Main()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/gc/lex.go:472 +0x2116 fp=0xc82084ddf0 sp=0xc82084dad0
cmd/μ»΄νμΌ/λ΄λΆ/amd64.Main()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/internal/amd64/galign.go:127 +0x58d fp=0xc82084de58 sp=0xc82084ddf0
λ©μΈ.λ©μΈ()
/usr/local/Cellar/go/1.6.2/libexec/src/cmd/compile/main.go:32 +0x395 fp=0xc82084df30 sp=0xc82084de58
λ°νμ.λ©μΈ()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/proc.go:188 +0x2b0 fp=0xc82084df80 sp=0xc82084df30
λ°νμ.goexit()
/usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc82084df88 sp=0xc82084df80β
μ΄ μ€λ λμ κ°μ νκΈ° λλ¬Έμ μ΄ λ©μμ§λ₯Ό λ°κ³ μμ΅λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈ
https://github.com/golang/go/issues/17241 , λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/AAIR5C2-SKYNt3CqpAEFbHLlLyOY1Ja6ks5quCxAgaJpZM4KG9tL
.
κ°μ₯ μ μ©ν λκΈ
Go 1.6.2λ macOS 10.12λ₯Ό μ§μνμ§ μμ΅λλ€. Go 1.7λ‘ μ κ·Έλ μ΄λνμμμ€.
2016λ 9μ 26μΌ μ€ν 4μ 34λΆμ "Bart Grantham" [email protected]μ΄ λ€μκ³Ό κ°μ΄ μΌμ΅λλ€.