proxy_test is failing with a runtime error due to an invalid/nil pointer dereference. This was triggered by adding docker to the travis test environment. (Docker is being added as part of automatic testing against a live kubernetes system.)
No further debugging yet.
Travis config file is:
sudo: required
services:
- docker
language: go
go:
- 1.5
- 1.6
before_install:
- docker pull gcr.io/google_containers/hyperkube-amd64:v1.2.4
- docker ps -a
before_script:
- curl -L https://github.com/coreos/etcd/releases/download/v2.3.1/etcd-v2.3.1-linux-amd64.tar.gz -o etcd-v2.3.1-linux-amd64.tar.gz
- tar xzvf etcd-v2.3.1-linux-amd64.tar.gz
- ./etcd-v2.3.1-linux-amd64/etcd &
- go get
- go get github.com/coreos/go-etcd/etcd
script:
- go test -tags etcd -race -bench=. ./...
Travis log is:
Worker information
hostname: travis-worker-gce-org-prod5-6:3b4051a7-b355-4da1-9b27-0650ada72a28
version: v2.3.0-5-gef7116f https://github.com/travis-ci/worker/tree/ef7116fac34a232b5d8ecfe0eb9d834b0af9705d
instance: testing-gce-341ec1bc-4ad3-4ce1-878d-fd76be27b5a1:travis-ci-mega-trusty-1445287562
startup: 21.84772751s
Build system information
Build language: go
Build group: stable
Build dist: trusty
Build image provisioning date and time
Mon Oct 19 21:23:19 UTC 2015
Operating System Details
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Linux Version
3.19.0-28-generic
Cookbooks Version
fffffff https://github.com/travis-ci/travis-cookbooks/tree/fffffff
Git version
git version 1.9.1
GCC version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
LLVM version
clang version 3.5.0 (tags/RELEASE_350/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Pre-installed Ruby versions
jruby-9.0.1.0
ruby-1.9.3-p551
ruby-2.0.0-p647
ruby-2.1.7
ruby-2.2.3
Pre-installed Node.js versions
iojs-v1.6
iojs-v1.6.4
v0.10
v0.10.40
v0.11.16
v0.12.2
v0.12.7
v0.6.21
v0.8.28
v4.1.2
Pre-installed Go versions
1.0.3
1.1.2
1.2.2
1.3.3
1.4.2
1.5.1
mysql --version
mysql Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) using readline 6.3
Pre-installed PostgreSQL versions
9.1.19
9.2.14
9.3.10
9.4.5
Redis version
redis-server 3.0.5
RabbitMQ Version
3.5.4
Installed Sphinx versions
2.0.10
2.1.9
2.2.8
Default Sphinx version
2.2.8
Installed Firefox version
firefox 31.6.0esr
ant -version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn -version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 15:22:22+0000)
Maven home: /usr/local/maven
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-28-generic", arch: "amd64", family: "unix"
gradle -version
------------------------------------------------------------
Gradle 2.7
------------------------------------------------------------
Build time: 2015-09-14 07:26:16 UTC
Build number: none
Revision: c41505168da69fb0650f4e31c9e01b50ffc97893
Groovy: 2.3.10
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.8.0_60 (Oracle Corporation 25.60-b23)
OS: Linux 3.19.0-28-generic amd64
lein version
Downloading Leiningen to /home/travis/.lein/self-installs/home/travis/.lein/leiningen-2.5.1-standalone.jar now...
Leiningen 2.5.1 on Java 1.8.0_60 Java HotSpot(TM) 64-Bit Server VM
phpenv versions
* system (set by /home/travis/.phpenv/version)
$ export DEBIAN_FRONTEND=noninteractive
W: There is no public key available for the following key IDs:
1397BC53640DB551
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
libc-dev-bin libc6-dev
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc-dev-bin libc6 libc6-dev
3 upgraded, 0 newly installed, 0 to remove and 285 not upgraded.
Need to get 6,696 kB of archives.
After this operation, 19.5 kB of additional disk space will be used.
Get:1 http://us-central1.gce.archive.ubuntu.com/ubuntu/ trusty-updates/main libc6-dev amd64 2.19-0ubuntu6.9 [1,910 kB]
Get:2 http://us-central1.gce.archive.ubuntu.com/ubuntu/ trusty-updates/main libc-dev-bin amd64 2.19-0ubuntu6.9 [69.0 kB]
Get:3 http://us-central1.gce.archive.ubuntu.com/ubuntu/ trusty-updates/main libc6 amd64 2.19-0ubuntu6.9 [4,717 kB]
Fetched 6,696 kB in 0s (44.5 MB/s)
Preconfiguring packages ...
(Reading database ... 135346 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.19-0ubuntu6.9_amd64.deb ...
Unpacking libc6-dev:amd64 (2.19-0ubuntu6.9) over (2.19-0ubuntu6.6) ...
Preparing to unpack .../libc-dev-bin_2.19-0ubuntu6.9_amd64.deb ...
Unpacking libc-dev-bin (2.19-0ubuntu6.9) over (2.19-0ubuntu6.6) ...
Preparing to unpack .../libc6_2.19-0ubuntu6.9_amd64.deb ...
Unpacking libc6:amd64 (2.19-0ubuntu6.9) over (2.19-0ubuntu6.6) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libc6:amd64 (2.19-0ubuntu6.9) ...
Setting up libc-dev-bin (2.19-0ubuntu6.9) ...
Setting up libc6-dev:amd64 (2.19-0ubuntu6.9) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
$ git clone --depth=50 --branch=wildcard-support https://github.com/Infoblox-CTO/coredns.git Infoblox-CTO/coredns
Cloning into 'Infoblox-CTO/coredns'...
remote: Counting objects: 690, done.
remote: Compressing objects: 100% (431/431), done.
remote: Total 690 (delta 326), reused 513 (delta 240), pack-reused 0
Receiving objects: 100% (690/690), 316.45 KiB | 0 bytes/s, done.
Resolving deltas: 100% (326/326), done.
Checking connectivity... done.
$ cd Infoblox-CTO/coredns
$ git checkout -qf 28a7fc7873ed7f7db57e87470f10c5a83d00adc9
$ sudo service docker start
start: Job is already running: docker
$ eval "$(gimme 1.6)"
go version go1.6 linux/amd64
$ export GOPATH=$HOME/gopath
$ export PATH=$HOME/gopath/bin:$PATH
$ mkdir -p $HOME/gopath/src/github.com/Infoblox-CTO/coredns
$ rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/Infoblox-CTO/coredns/
$ export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/Infoblox-CTO/coredns
$ cd $HOME/gopath/src/github.com/Infoblox-CTO/coredns
$ gimme version
v0.2.3
$ go version
go version go1.6 linux/amd64
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/travis/gopath"
GORACE=""
GOROOT="/home/travis/.gimme/versions/go1.6.linux.amd64"
GOTOOLDIR="/home/travis/.gimme/versions/go1.6.linux.amd64/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
$ docker pull gcr.io/google_containers/hyperkube-amd64:v1.2.4
v1.2.4: Pulling from google_containers/hyperkube-amd64
Digest: sha256:73ef4af07cda6dd49e93ee8665bb7687dc2f45ed4f59517c4863f5d6219cbaa9
Status: Downloaded newer image for gcr.io/google_containers/hyperkube-amd64:v1.2.4
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Using Go 1.5 Vendoring, not checking for Godeps
$ true
$ curl -L https://github.com/coreos/etcd/releases/download/v2.3.1/etcd-v2.3.1-linux-amd64.tar.gz -o etcd-v2.3.1-linux-amd64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 606 0 606 0 0 2554 0 --:--:-- --:--:-- --:--:-- 2556
100 7946k 100 7946k 0 0 5026k 0 0:00:01 0:00:01 --:--:-- 11.5M
$ tar xzvf etcd-v2.3.1-linux-amd64.tar.gz
etcd-v2.3.1-linux-amd64/
etcd-v2.3.1-linux-amd64/Documentation/
etcd-v2.3.1-linux-amd64/Documentation/runtime-configuration.md
etcd-v2.3.1-linux-amd64/Documentation/admin_guide.md
etcd-v2.3.1-linux-amd64/Documentation/tuning.md
etcd-v2.3.1-linux-amd64/Documentation/glossary.md
etcd-v2.3.1-linux-amd64/Documentation/rfc/
etcd-v2.3.1-linux-amd64/Documentation/rfc/v3api.md
etcd-v2.3.1-linux-amd64/Documentation/discovery_protocol.md
etcd-v2.3.1-linux-amd64/Documentation/errorcode.md
etcd-v2.3.1-linux-amd64/Documentation/metrics.md
etcd-v2.3.1-linux-amd64/Documentation/security.md
etcd-v2.3.1-linux-amd64/Documentation/configuration.md
etcd-v2.3.1-linux-amd64/Documentation/docker_guide.md
etcd-v2.3.1-linux-amd64/Documentation/dev/
etcd-v2.3.1-linux-amd64/Documentation/dev/release.md
etcd-v2.3.1-linux-amd64/Documentation/members_api.md
etcd-v2.3.1-linux-amd64/Documentation/auth_api.md
etcd-v2.3.1-linux-amd64/Documentation/backward_compatibility.md
etcd-v2.3.1-linux-amd64/Documentation/platforms/
etcd-v2.3.1-linux-amd64/Documentation/platforms/freebsd.md
etcd-v2.3.1-linux-amd64/Documentation/libraries-and-tools.md
etcd-v2.3.1-linux-amd64/Documentation/implementation-faq.md
etcd-v2.3.1-linux-amd64/Documentation/reporting_bugs.md
etcd-v2.3.1-linux-amd64/Documentation/upgrade_2_2.md
etcd-v2.3.1-linux-amd64/Documentation/internal-protocol-versioning.md
etcd-v2.3.1-linux-amd64/Documentation/upgrade_2_1.md
etcd-v2.3.1-linux-amd64/Documentation/faq.md
etcd-v2.3.1-linux-amd64/Documentation/api_v3.md
etcd-v2.3.1-linux-amd64/Documentation/runtime-reconf-design.md
etcd-v2.3.1-linux-amd64/Documentation/clustering.md
etcd-v2.3.1-linux-amd64/Documentation/proxy.md
etcd-v2.3.1-linux-amd64/Documentation/branch_management.md
etcd-v2.3.1-linux-amd64/Documentation/other_apis.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-2-2-0-rc-memory-benchmarks.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-3-demo-benchmarks.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-2-2-0-benchmarks.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-2-1-0-alpha-benchmarks.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-storage-memory-benchmark.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/README.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-2-2-0-rc-benchmarks.md
etcd-v2.3.1-linux-amd64/Documentation/benchmarks/etcd-3-watch-memory-benchmark.md
etcd-v2.3.1-linux-amd64/Documentation/api.md
etcd-v2.3.1-linux-amd64/Documentation/authentication.md
etcd-v2.3.1-linux-amd64/Documentation/04_to_2_snapshot_migration.md
etcd-v2.3.1-linux-amd64/Documentation/upgrade_2_3.md
etcd-v2.3.1-linux-amd64/Documentation/production-users.md
etcd-v2.3.1-linux-amd64/README-etcdctl.md
etcd-v2.3.1-linux-amd64/etcdctl
etcd-v2.3.1-linux-amd64/etcd
etcd-v2.3.1-linux-amd64/README.md
$ ./etcd-v2.3.1-linux-amd64/etcd &
$ go get
2016-07-07 17:54:11.627638 I | etcdmain: etcd Version: 2.3.1
2016-07-07 17:54:11.627673 I | etcdmain: Git SHA: 2b67f52
2016-07-07 17:54:11.627686 I | etcdmain: Go Version: go1.5.3
2016-07-07 17:54:11.627698 I | etcdmain: Go OS/Arch: linux/amd64
2016-07-07 17:54:11.627715 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
2016-07-07 17:54:11.627729 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd
2016-07-07 17:54:11.628030 I | etcdmain: listening for peers on http://localhost:2380
2016-07-07 17:54:11.628133 I | etcdmain: listening for peers on http://localhost:7001
2016-07-07 17:54:11.628323 I | etcdmain: listening for client requests on http://localhost:2379
2016-07-07 17:54:11.628422 I | etcdmain: listening for client requests on http://localhost:4001
2016-07-07 17:54:11.628683 I | etcdserver: name = default
2016-07-07 17:54:11.628776 I | etcdserver: data dir = default.etcd
2016-07-07 17:54:11.628835 I | etcdserver: member dir = default.etcd/member
2016-07-07 17:54:11.628856 I | etcdserver: heartbeat = 100ms
2016-07-07 17:54:11.628867 I | etcdserver: election = 1000ms
2016-07-07 17:54:11.628877 I | etcdserver: snapshot count = 10000
2016-07-07 17:54:11.628894 I | etcdserver: advertise client URLs = http://localhost:2379,http://localhost:4001
2016-07-07 17:54:11.628915 I | etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2016-07-07 17:54:11.629011 I | etcdserver: initial cluster = default=http://localhost:2380,default=http://localhost:7001
2016-07-07 17:54:11.634010 I | etcdserver: starting member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2016-07-07 17:54:11.634065 I | raft: ce2a822cea30bfca became follower at term 0
2016-07-07 17:54:11.634091 I | raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-07-07 17:54:11.634106 I | raft: ce2a822cea30bfca became follower at term 1
2016-07-07 17:54:11.634334 I | etcdserver: starting server... [version: 2.3.1, cluster version: to_be_decided]
2016-07-07 17:54:11.635572 N | etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2016-07-07 17:54:12.034446 I | raft: ce2a822cea30bfca is starting a new election at term 1
2016-07-07 17:54:12.034602 I | raft: ce2a822cea30bfca became candidate at term 2
2016-07-07 17:54:12.034630 I | raft: ce2a822cea30bfca received vote from ce2a822cea30bfca at term 2
2016-07-07 17:54:12.034665 I | raft: ce2a822cea30bfca became leader at term 2
2016-07-07 17:54:12.034688 I | raft: raft.node: ce2a822cea30bfca elected leader ce2a822cea30bfca at term 2
2016-07-07 17:54:12.035081 I | etcdserver: published {Name:default ClientURLs:[http://localhost:2379 http://localhost:4001]} to cluster 7e27652122e8b2ae
2016-07-07 17:54:12.035151 I | etcdserver: setting up the initial cluster version to 2.3
2016-07-07 17:54:12.040468 N | etcdserver: set the initial cluster version to 2.3
$ go get github.com/coreos/go-etcd/etcd
$ go test -tags etcd -race -bench=. ./...
PASS
ok github.com/Infoblox-CTO/coredns 1.022s
PASS
ok github.com/Infoblox-CTO/coredns/core 1.037s
PASS
ok github.com/Infoblox-CTO/coredns/core/assets 1.009s
PASS
ok github.com/Infoblox-CTO/coredns/core/dns 1.011s
PASS
ok github.com/Infoblox-CTO/coredns/core/https 1.892s
PASS
ok github.com/Infoblox-CTO/coredns/core/parse 1.017s
2016/07/07 17:56:17 [WARNING] Root path does not exist: /tmp/highly_unlikely_to_exist_dir
PASS
ok github.com/Infoblox-CTO/coredns/core/setup 1.536s
PASS
BenchmarkStateDo-2 20000000 62.6 ns/op
BenchmarkStateSize-2 20000000 62.4 ns/op
ok github.com/Infoblox-CTO/coredns/middleware 3.658s
2016/07/07 17:56:23 [ERROR] Caching called with empty cache key
PASS
ok github.com/Infoblox-CTO/coredns/middleware/cache 1.020s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/chaos 1.010s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/dnssec 1.067s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/errors 1.010s
2016/07/07 17:56:27 [WARNING] Forwarding cycle detected, refusing msg: example.org.
PASS
ok github.com/Infoblox-CTO/coredns/middleware/etcd 1.401s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/etcd/msg 1.014s
2016/07/07 17:56:29 [INFO] Successfully reloaded zone `miek.nl.'
2016/07/07 17:56:30 [ERROR] Failed to open `go-test-tmpfile621970336' for `miek.nl.': open go-test-tmpfile621970336: no such file or directory
2016/07/07 17:56:30 [INFO] Transferred: secondary.miek.nl. from 127.0.0.1:59580
PASS
BenchmarkLookupDNSSEC-2 10000 181037 ns/op
BenchmarkParseInsert-2 500 4318473 ns/op
BenchmarkLookup-2 50000 32197 ns/op
ok github.com/Infoblox-CTO/coredns/middleware/file 8.454s
? github.com/Infoblox-CTO/coredns/middleware/file/tree [no test files]
? github.com/Infoblox-CTO/coredns/middleware/health [no test files]
testing: warning: no tests to run
PASS
ok github.com/Infoblox-CTO/coredns/middleware/kubernetes 1.013s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/kubernetes/k8sclient 1.027s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/kubernetes/msg 1.011s
[debug] Template string has static element ''
PASS
ok github.com/Infoblox-CTO/coredns/middleware/kubernetes/nametemplate 1.010s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/kubernetes/util 1.016s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/loadbalance 1.019s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/log 1.015s
? github.com/Infoblox-CTO/coredns/middleware/metrics [no test files]
? github.com/Infoblox-CTO/coredns/middleware/pprof [no test files]
PASS
ok github.com/Infoblox-CTO/coredns/middleware/proxy 1.093s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/rewrite 1.011s
? github.com/Infoblox-CTO/coredns/middleware/secondary [no test files]
PASS
ok github.com/Infoblox-CTO/coredns/middleware/singleflight 1.110s
PASS
ok github.com/Infoblox-CTO/coredns/middleware/test 1.010s
PASS
ok github.com/Infoblox-CTO/coredns/server 1.012s
Activating privacy features...
Activating privacy features...
--- FAIL: TestLookupBalanceRewriteCacheDnssec (1.00s)
core.go:421: Starting 1 servers
middleware_dnssec_test.go:46: Could not send query: dial udp [::]:46766: connect: network is unreachable
Activating privacy features...
--- FAIL: TestLookupProxy (1.00s)
core.go:421: Starting 1 servers
proxy_test.go:46: Expected to receive reply, but didn't
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x48 pc=0x4a0b37]
goroutine 35 [running]:
panic(0xf5b3e0, 0xc820010170)
/home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/panic.go:464 +0x3ff
testing.tRunner.func1(0xc82010e2d0)
/home/travis/.gimme/versions/go1.6.linux.amd64/src/testing/testing.go:467 +0x22a
panic(0xf5b3e0, 0xc820010170)
/home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/panic.go:426 +0x521
github.com/Infoblox-CTO/coredns/test.TestLookupProxy(0xc82010e2d0)
/home/travis/gopath/src/github.com/Infoblox-CTO/coredns/test/proxy_test.go:49 +0x837
testing.tRunner(0xc82010e2d0, 0x15b0908)
/home/travis/.gimme/versions/go1.6.linux.amd64/src/testing/testing.go:473 +0xdd
created by testing.RunTests
/home/travis/.gimme/versions/go1.6.linux.amd64/src/testing/testing.go:582 +0xae3
exit status 2
FAIL github.com/Infoblox-CTO/coredns/test 2.028s
The command "go test -tags etcd -race -bench=. ./..." exited with 1.
Done. Your build exited with 1.
proxy_test is failing with a runtime error due to an invalid/nil pointer dereference. This was triggered by adding docker to the travis test environment. (Docker is being added as part of automatic testing against a live kubernetes system.)
No further debugging yet.
Travis config file is:
Travis log is: