【发布时间】:2016-07-25 17:35:59
【问题描述】:
我目前正在尝试在 Amazon Linux Distro 上首次运行以下 Golang 构建:
https://github.com/adammck/s3-graphite
这里是自述文件:
go get github.com/adammck/s3-graphite
cd $GOPATH/adammck/s3-graphite
go build
在此之后,我在 .bashrc 文件中设置变量,如下所示:
# AWS keys with read access to the bucket
export AWS_ACCESS_KEY_ID=xxxxxxxxxx
export AWS_SECRET_ACCESS_KEY=yyyyyyyyyy
export AWS_REGION=us-east-1
# the bucket to watch
export S3_BUCKET=my-bucket
export S3_PREFIX=dir/subdir
# the server to send metrics to
export GRAPHITE_ADDRESS=metrics.example.com
export GRAPHITE_PREFIX=s3-count.my-bucket.dir.subdir
我将我的 GOPATH 设置为:
export GOPATH="$HOME/work/"
我 cd 进入目录运行一个 go build,它应该像它应该的那样工作,但是当我在 go build 之后运行以下内容时:
./s3-石墨
我收到以下错误:
INFO[0000] Starting s3-graphite...
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x4e3256]
goroutine 1 [running]:
github.com/aws/aws-sdk-go/service/s3.New(0x0, 0x0, 0x0, 0x0, 0x0, 0x3f)
/home/ec2-user/work/src/github.com/aws/aws-sdk-go/service/s3/service.go:41 +0x76
main.NewS3(0x7ffc202bef6e, 0x1b, 0x7ffc202be684, 0x9, 0x1, 0x0, 0x0)
/home/ec2-user/work/src/github.com/adammck/s3-graphite/s3.go:20 +0x66
main.main()
/home/ec2-user/work/src/github.com/adammck/s3-graphite/main.go:19 +0x21c
goroutine 2 [runnable]:
runtime.forcegchelper()
/usr/lib/golang/src/runtime/proc.go:90
runtime.goexit()
/usr/lib/golang/src/runtime/asm_amd64.s:2232 +0x1
goroutine 3 [runnable]:
runtime.bgsweep()
/usr/lib/golang/src/runtime/mgc0.go:82
runtime.goexit()
/usr/lib/golang/src/runtime/asm_amd64.s:2232 +0x1
goroutine 4 [runnable]:
runtime.runfinq()
/usr/lib/golang/src/runtime/malloc.go:712
runtime.goexit()
/usr/lib/golang/src/runtime/asm_amd64.s:2232 +0x1
这是我的 GOPATH:
$GOPATH
-bash: /home/ec2-user/work/: Is a directory
这是我执行 s3-graphite 的目录:
/home/ec2-user/work/src/github.com/adammck/s3-graphite
编辑(使用您的回答中的项目更新:
[ec2-user@s3-graphite]$ go version
go version go1.6.3 linux/amd64
[ec2-user@ s3-graphite]$ $GOPATH
-bash: /home/ec2-user/work: Is a directory
[ec2-user@ s3-graphite]$ pwd
/home/ec2-user/work/src/github.com/adammck/s3-graphite
[ec2-user@ s3-graphite]$ ./s3-graphite
INFO[0000] Starting s3-graphite...
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x512aa2]
goroutine 1 [running]:
panic(0x873120, 0xc82000a0e0)
/usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/aws/aws-sdk-go/service/s3.New(0x0, 0x0, 0x0, 0x0, 0x0, 0x3f)
/home/ec2-user/work/src/github.com/aws/aws-sdk-go/service/s3/service.go:41 +0x72
main.NewS3(0xc82001603a, 0x1b, 0xc82000e06a, 0x9, 0x1, 0x0, 0x0)
/home/ec2-user/work/src/github.com/adammck/s3-graphite/s3.go:20 +0x4a
main.main()
/home/ec2-user/work/src/github.com/adammck/s3-graphite/main.go:19 +0x229
[ec2-user@ s3-graphite]$
【问题讨论】:
标签: amazon-web-services github go amazon-s3 runtime-error