graveyard / gearcmd

Utility to create gearman workers out of command-line programs
Apache License 2.0
13 stars 0 forks source link

intermittent errors #51

Open natebrennand opened 8 years ago

natebrennand commented 8 years ago

This occasionally pops up in the tests on Drone, looks like we have a race condition:

$ make test
go get github.com/GeertJohan/fgt
go get github.com/golang/lint/golint
echo 'const Version = "0.8.2"' >> cmd/gearcmd/version.go
FORMATTING github.com/Clever/gearcmd/argsparser...
LINTING github.com/Clever/gearcmd/argsparser...
VETTING github.com/Clever/gearcmd/argsparser...
TESTING github.com/Clever/gearcmd/argsparser...
=== RUN   TestParseArgs
--- PASS: TestParseArgs (0.00s)
PASS
ok      github.com/Clever/gearcmd/argsparser    0.006s
FORMATTING github.com/Clever/gearcmd/baseworker...
LINTING github.com/Clever/gearcmd/baseworker...
/var/cache/drone/src/github.com/Clever/gearcmd/baseworker/worker.go:101:7: don't use underscores in Go names; var rc_err should be rcErr
VETTING github.com/Clever/gearcmd/baseworker...
TESTING github.com/Clever/gearcmd/baseworker...
=== RUN   TestJobFuncConversion
--- PASS: TestJobFuncConversion (0.00s)
=== RUN   TestCanDo
--- PASS: TestCanDo (0.00s)
=== RUN   TestJobAssign
{"error":"read tcp4 127.0.0.1:37266-\u003e127.0.0.1:1337: use of closed network connection","level":"info","name":"worker_name","source":"gearcmd","title":"err-disconnected-and-reconnecting"}
{"level":"info","name":"worker_name","source":"gearcmd","title":"gearman-reconnected"}
--- PASS: TestJobAssign (0.00s)
=== RUN   TestShutdownWaitsForJobCompletion
{"error":"EOF","level":"info","name":"worker_name","source":"gearcmd","title":"err-disconnected-and-reconnecting"}
{"level":"info","name":"worker_name","source":"gearcmd","title":"gearman-reconnected"}
panic: send on closed channel [recovered]
    panic: interface conversion: string is not error: missing method Error

goroutine 26 [running]:
panic(0x603ac0, 0xc8200985c0)
    /usr/local/go/src/runtime/panic.go:481 +0x3e6
github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).work.func1(0xc820014370)
    /var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:49 +0x6f
panic(0x5ad840, 0xc8200aa3f0)
    /usr/local/go/src/runtime/panic.go:443 +0x4e9
github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).work(0xc820014370)
    /var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:102 +0x7a7
created by github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker.(*agent).reconnect
    /var/cache/drone/src/github.com/Clever/gearcmd/vendor/github.com/Clever/gearman-go/worker/agent.go:166 +0x384
exit status 2
FAIL    github.com/Clever/gearcmd/baseworker    0.008s
make: *** [github.com/Clever/gearcmd/baseworker] Error 1