• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yarpc / yarpc-go
80%
master: %

Build:
Build:
LAST BUILD BRANCH: nooptrace
DEFAULT BRANCH: master
Repo Added 09 Mar 2016 12:01AM UTC
Files 395
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH ajs-races
branch: ajs-races
CHANGE BRANCH
x
Reset
  • ajs-races
  • RoundRobinRename
  • _start_-adjustchoosepeer-part_1.0
  • _start_-buffer-part_1.0
  • _start_-buffer-part_2.0
  • _start_-changelog-part_1.0
  • _start_-config-part_1.0
  • _start_-fixDebug-part_1.0
  • _start_-fixGen-part_1.0
  • _start_-fixTravis-part_1.0
  • _start_-fixTravis-part_2.0
  • _start_-idemPOTent-part_0.5
  • _start_-idemPOTent-part_1.0
  • _start_-idemPOTent-part_2.0
  • _start_-idemPOTent-part_3.0
  • _start_-idemPOTent-part_4.0
  • _start_-lifecyclecomment-part_1.0
  • _start_-lifecycleflakyness-part_1.0
  • _start_-middlewareStutter-part_1.0
  • _start_-moredeps-part_1.0
  • _start_-moveBack-part_1.0
  • _start_-nitz-part_1.0
  • _start_-outboundName-part_1.0
  • _start_-outboundName-part_2.0
  • _start_-peerRenames-part#1.0
  • _start_-peerRenames-part_1.0
  • _start_-peerRenames-part_2.0-renameOutbound
  • _start_-peerRenames-part_3.0
  • _start_-peerRenames-part_4.0
  • _start_-peerRenames-part_5.0
  • _start_-peerRenames-part_6.0
  • _start_-refactorOneway-part_1.0
  • _start_-release-part_1.0
  • _start_-removeInitPeers-part_1.0
  • _start_-rename-part_1.0
  • _start_-rename-part_2.0
  • _start_-rename-part_3.0
  • _start_-renames-part_1.0
  • _start_-renames-part_2.0
  • _start_-router-part_1.0
  • _start_-router-part_2.0
  • _start_-singlestate-part_1.0
  • _start_-startstop-part_1.0
  • _start_-startstop-part_2.0
  • _start_-startstop-part_3.0
  • _start_-startstop-part_3.5
  • _start_-startstop-part_4.0
  • _start_-states-part_1.0
  • _start_-thriftbenchmark-part_1.0
  • _start_-unlimitedbuffer-part_1.0
  • _start_-updateLicenses-part_1.0
  • _start_-updateObject-part_1.0
  • _start_-wh_exposemiddleware-part_1.0
  • abhinav-patch-1
  • abshost
  • add-missing-license-headers
  • add-x-docs
  • addPeerListToChangeLog
  • adjustchoosepeer-part_1.0
  • ag-installed
  • ajs-build
  • ajs-chains
  • ajs-collect-state
  • ajs-expose-logger
  • ajs-histograms
  • ajs-labels
  • ajs-logging
  • ajs-metrics
  • ajs-pally
  • ajs-pally-helpers
  • ajs-pally-nop
  • ajs-panic
  • ajs-redis
  • ajs-request
  • ajs-tchannel-traces
  • ajs-zap
  • alt-life
  • apache-thrift
  • apache-thrift-0.10.0
  • apache-thrift-0.9
  • append-copy
  • automate-generate
  • back-out-vanity
  • back-to-client
  • backup
  • bad-request
  • badrequest
  • bench
  • benchmark
  • billf-checkbench
  • bind-peers
  • buffer
  • buffer-part_1.0
  • buffer-part_2.0
  • cache-example
  • call-w-nil-reqmeta
  • canonpath
  • catchpanic
  • cesym
  • changelog
  • changelog-part_1.0
  • changelog-rc4
  • changelog-transport-refactor
  • changelog-update
  • cherami_crossdocker
  • choose
  • chooser
  • circleci
  • circleci-fix
  • circleci-parallel
  • circleci-work
  • close-outbounds
  • comment-out-docker-cache
  • concrete-dispatcher
  • config
  • config-cherami
  • config-chooser
  • config-docs-pass
  • config-examples
  • config-fakes
  • config-http
  • config-http-test
  • config-interpolate
  • config-interpolate-change-resolver
  • config-interpolation
  • config-kit
  • config-part_1.0
  • config-peers
  • config-peers-http
  • config-peers-names
  • config-peers-tchannel
  • config-redis
  • config-register-peers
  • config-servicename
  • config-tchannel
  • consolidate-meta
  • context-baggage
  • context-header-apis
  • context-matcher
  • context-matcher-baggage
  • context-propagation-crossdock
  • cover-test-imports
  • coverage
  • coverage-my-bad
  • cramfix
  • createrpc
  • crossdock-add-params-to-t
  • crossdock-client
  • crossdock-echo-behaviors
  • crossdock-errors
  • crossdock-fix
  • crossdock-go
  • crossdock-headers
  • crossdock-http-thrift
  • crossdock-lib
  • crossdock-lib-move-up
  • crossdock-lib2
  • crossdock-lib3
  • crossdock-node-master
  • crossdock-remote-errors
  • crossdock-subject
  • crossdock-t
  • crossdock-testify
  • crossdock-tests
  • ctx-err
  • ctxprop-transports
  • debug-docker
  • decoder
  • default-local-glide
  • define-chooser-list
  • delete-unnecessary
  • dep-rules
  • dependencies
  • dev
  • disable-1.7-tip
  • disable-golang-tip-testing
  • dispatch-on-service-procedure
  • dispatcher-hide
  • dispatcher-not-a-router
  • dispatcher-stop-if-start-fails
  • doc-vet-yarpc
  • docker-dev
  • docker-improvements
  • dont-dontNotify
  • enable-java
  • encoding-apis-subpackage
  • endreq
  • enforce-outbound
  • enveloper
  • error-directive
  • error-group
  • error-messages
  • errors
  • errorstchin
  • errorstchout
  • errtest
  • example-warning
  • example_logging
  • examples
  • examples-move
  • examples-org
  • examplespb-nocover
  • expose-inbounds
  • expose-peers-updater
  • fake-req-res-meta
  • fire-done
  • fix-build
  • fix-changelog
  • fix-crossdock
  • fix-crossdock-sleep
  • fix-dco-logs
  • fix-gauntlet
  • fix-mockgen
  • fix-oneway-crossdock
  • fix-protobuf-examples
  • fix-redis-test
  • fix-ref-link
  • fix-travis-crossdock-logging
  • fix-unbind
  • fixDebug-part_1.0
  • fixGen-part_1.0
  • fixMaster
  • fixTravis-part_1.0
  • fixTravis-part_2.0
  • fix_header_crossdock
  • fixdep
  • flake
  • forwarding
  • free-ports
  • gauntlet
  • gauntlet-behavior
  • gauntlet-subject
  • glide-fix
  • glide-instructions
  • glide-update
  • glide_up_cherami
  • go-uber-atomic
  • go.uber.org
  • go17
  • gob-encoding
  • godocs
  • goversions
  • grpc
  • grpc-2
  • grpc-oneway-delete
  • grpc-release
  • grpc-release-part1-dependencies
  • grpc-release-part10-errors
  • grpc-release-part12-opentracing
  • grpc-release-part2-passthroughcodec
  • grpc-release-part3-sample
  • grpc-release-part4-barebonesyarpc
  • grpc-release-part5-procedurerouting
  • grpc-release-part6-crossdock
  • grpc-release-part7-coreheaders
  • grpc-release-part8-appheaders
  • grpc-release-part9-baggageheaders
  • grpc-transport
  • grpc-user-agent
  • header-match
  • headers
  • hello-detail
  • hide-error-constructors
  • hostport-identify
  • hotfix-travis-docker-cache
  • http-app-error
  • http-context-propagation
  • http-docs
  • http-header-prefix
  • http-headers
  • http-inbound-ttl
  • http-new-client
  • http-new-outbound-use-transport
  • http-oneway-ctx
  • http-option-unify
  • http-return-transports
  • http-stop
  • http-transport
  • http-transport-refactor
  • httpchooseroutbound
  • idemPOTent-part_1.0
  • idemPOTent-part_2.0
  • idemPOTent-part_3.0
  • idemPOTent-part_4.0
  • imp_http_inbound_close_err
  • inbound-registry
  • inbound-tracer-options
  • inject-clients
  • inject-options
  • internal-buffer-to-pkg-bufferpool
  • internal-examples-crossdock
  • internal-validator
  • introspection_1
  • introspection_2
  • introspection_3
  • introspection_4
  • introspection_5
  • introspectionmultiplerpctype
  • is-error
  • json-headers-test
  • json-interface-empty
  • jsontest
  • kill-symlinks
  • lessflaky-part_1.0
  • license-fix
  • lifecyclecomment-part_1.0
  • lifecycleflakyness-part_1.0
  • lint-cover-bins-glide
  • lintfix
  • listener
  • local-remote-errors
  • lol/envelope
  • lolhack
  • lostmyhead
  • make-cover-work
  • make-fixes
  • make-generate-fix
  • mapdecode-append-field-hooks
  • mapdecode-decode-hooks
  • mapdecode-field-hooks
  • mapdecode-fix
  • mapdecode-squash-embedded
  • mapdecode-strings
  • mapdecode-vendor
  • mapdecode-vendor-mapstructure
  • marshal-rpc
  • mask-tchannel-existing
  • master
  • matcher-fail
  • mention-bot
  • mentionbot-limit
  • meta
  • meta2
  • meta3
  • metreqnil
  • middleware
  • middleware-docs
  • middlewareStutter-part_1.0
  • moredeps-part_1.0
  • move-methods-to-t
  • move-safely-call
  • moveBack-part_1.0
  • moveRoundRobin
  • multierr
  • new-channel-transport
  • new-crossdock
  • nitz-part_1.0
  • no-git-in-dockerignore
  • no-if-any
  • no-realpath
  • no-ret-ctx
  • noagent
  • nocover
  • nomorechannel
  • nop-lifecycle
  • noregistry
  • nosym
  • oldgos
  • oneway
  • oneway-1-renames
  • oneway-2-handlers
  • oneway-3-registration
  • oneway-4-outbounds
  • oneway-5-validate
  • oneway-6-call
  • oneway-7-crossdock
  • oneway-8-gauntlet
  • oneway-crossdock
  • oneway-ctx-prop
  • oneway-inbounds
  • oneway-rel
  • oneway-rename
  • onewayfilter
  • opentracing-part1-updatecrossdock
  • opentracing-part2-removebaggage
  • opentracing1
  • out-start-stop
  • outbound-enforce-start
  • outbound-ttl
  • outboundName-part_1.0
  • outboundName-part_2.0
  • overalls
  • patch-jaeger-v
  • pb
  • peer-heap
  • peerChangelog
  • peerLicense
  • peerList
  • peerList-part1-interfaces
  • peerList-part10-movepeersubs
  • peerList-part11-connectionstatus
  • peerList-part12-movefolders
  • peerList-part13-updatetests
  • peerList-part14-moretests
  • peerList-part15-refactorOneway
  • peerList-part2-hostportpeer
  • peerList-part3-httpAgent
  • peerList-part4-refactor
  • peerList-part5-singlepeerlist
  • peerList-part6-shimoldoutbounds
  • peerList-part7-roundrobin
  • peerList-part8-addremove
  • peerList-part8-blockchoose
  • peerList-part9-upwardlocks
  • peerListLicenses
  • peerRenames-part#1.0
  • peerRenames-part_1.0
  • peerRenames-part_2.0-renameOutbound
  • peerRenames-part_3.0
  • peerRenames-part_4.0
  • peerRenames-part_5.0
  • peerRenames-part_6.0
  • peernitz
  • peers
  • pgrpc
  • phone-tchannel
  • pin-glide
  • pin-to-tch-major
  • pin-to-thriftrw-010
  • ping-example
  • pivotxports
  • plugin
  • prefix-loop
  • prep020
  • preview
  • props
  • protoc-static
  • provider-plus-list
  • public-validator
  • pv_peer-heap
  • ragel-no-ignore-cmds
  • ragel-predeps
  • raw-external-example
  • rawtest
  • rc2
  • readme
  • readme-1
  • readme-update
  • recorderdoc
  • redis
  • redis-crossdock
  • redis-lifecycle
  • redis-pubsub
  • redis-transport
  • refactor-part1
  • refactor-part2
  • refactor-part3
  • refactor-travis-yml
  • refactorOneway-part_1.0
  • regenerate
  • registrar
  • relax-flap
  • relay
  • release-part_1.0
  • release-up
  • remove-kv-example
  • remove-validate-oneway-context
  • remove-with-registry
  • removeInitPeers-part_1.0
  • removego1516
  • removego16file
  • rename-meta
  • rename-part_1.0
  • rename-part_2.0
  • rename-part_3.0
  • renames-part_1.0
  • renames-part_2.0
  • renaming
  • require-1.7-tip
  • require-encoding
  • reuse-build-func
  • revert-license-fix
  • revise-changelog-bind-chooserlist
  • rm-choose-procedure
  • rm-custom-t
  • rm-meta
  • rm-meta-call-from-context
  • rm-meta-json-client
  • rm-meta-json-server
  • rm-meta-raw-client
  • rm-meta-raw-server
  • rm-meta-server
  • rm-meta-tests
  • rm-meta-thrift-client
  • rm-meta-thrift-server
  • rm-ptr
  • rm-req-res-meta
  • rm-yarpc-headers
  • router-part_1.0
  • router-part_2.0
  • rpc-to-dispatcher
  • runner
  • serialization-changelog
  • serialize-prepend
  • service-test
  • shame-shame
  • signals
  • simplify-dispatch
  • simplify-single-peer-chooser
  • single-peer-lifecycle
  • single-register
  • singler
  • singlestate-part_1.0
  • singlestate-part_2.0
  • skip-tchannel-tracer-tests
  • specify-glide-golang-org-imports
  • split-ctx-2
  • startstop-part_1.0
  • startstop-part_2.0
  • startstop-part_3.0
  • startstop-part_3.5
  • startstop-part_4.0
  • stateful-channels
  • states-part_1.0
  • staticcheck-fix
  • status-stringer
  • strayagent
  • strictsrvname
  • stringconv
  • sync-internal
  • tapplicationexception
  • tc-any-service
  • tch-compat
  • tchannel-application-error
  • tchannel-constructors
  • tchannel-context-propagation
  • tchannel-docs
  • tchannel-empty-body-headers
  • tchannel-inbound-iface
  • tchannel-interface
  • tchannel-option-clarification
  • tchannel-peers
  • tchannel-transport-refactor
  • tchannel_existing_handlers
  • tchannelsrvs
  • tchclient-gauntlet
  • tchcompat-gauntlet
  • tchcompat1
  • tchcompat2
  • tchcompat3
  • tchcompat4
  • tchcompat5
  • tchserver-gauntlet
  • tchserver-gauntlet2
  • test-examples
  • test-faster
  • test-middleware
  • there-can-only-be-one-tchannel-inbound
  • thrift-application-errors
  • thrift-doc-update
  • thrift-drop-yarpc
  • thrift-multiplexed-client
  • thrift-no-pooling
  • thrift-options
  • thrift-unexpected
  • thriftbenchmark-part_1.0
  • thriftrw-1.0
  • thriftrw-client-mocks
  • thriftrw-parents
  • thriftrw-plugin-clean
  • thriftrw-plugin-test
  • thriftrw-update
  • thriftrw-upgrade
  • thriftrw020
  • tidy-crossdock-dir
  • timeout
  • top-level-inbounds
  • tracer
  • tracing
  • transport-errors
  • transport-handler
  • transport-lifecycle
  • transport-options
  • transport-registry-transparency
  • transport_outbound_cherami
  • transporttest-channel
  • travis-docker-version
  • travis-handle-suppress-docker
  • travis-lint
  • travis-pr-no-push
  • travisbranchinenv
  • unary
  • unexpand
  • unflake
  • unflake-err
  • unlimitedbuffer-part_1.0
  • unrecognized
  • unsub
  • update-crossdock-main-test
  • update-deps
  • update-examples
  • update-license
  • update-licenses
  • updateLicenses-part_1.0
  • updateObject-part_1.0
  • upgrade-build-deps
  • upgrade-docker
  • upgrade-docker-golang-1.8.1
  • upgrade-multierr
  • use-local-plugin
  • use-tch-master
  • userhandler
  • usethriftrw030
  • v0.1.0
  • v0.1.1
  • v0.2.0
  • v0.2.1
  • v0.3.1
  • v0.4.0
  • v0.5.0
  • v1.0.0
  • v1.0.0-rc1
  • v1.0.0-rc2
  • v1.0.0-rc3
  • v1.0.0-rc4
  • v1.0.0-rc5
  • v1.0.1
  • v1.1.0
  • v1.2.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.6.0
  • v1.7.0
  • v1.7.1
  • validator-parsettl
  • vendor-run-src
  • version
  • versioncheckfix
  • wait-out
  • wh_exposemiddleware-part_1.0
  • without
  • yack-shaving
  • yarpc-build-container
  • yarpc-prefix-protoc-gen-yarpc-go
  • yarpc-uberfx-plugin
  • yuttl
  • ✉️

pending completion
4634

push

travis-ci

web-flow
Fix race condition in lifecycle code

Summary: There is a race condition for access to the l.err in the
lifecycleOnce code.  Essentially, if we have the following occurence:
- Start
- Failed Stop
- Start

There is a potential race between the Failed Stop and the second Start.
Because we're sharing the err between start and stop.

6826 of 8560 relevant lines covered (79.74%)

69.04 hits per line

Relevant lines Covered
Build:
Build:
8560 RELEVANT LINES 6826 COVERED LINES
69.04 HITS PER LINE
Source Files on ajs-races
  • List 0
  • Changed 115
  • Source Changed 7
  • Coverage Changed 115
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
4634 ajs-races Fix race condition in lifecycle code Summary: There is a race condition for access to the l.err in the lifecycleOnce code. Essentially, if we have the following occurence: - Start - Failed Stop - Start There is a potential race between th... push 08 Mar 2017 08:46PM UTC web-flow travis-ci pending completion  
4517 ajs-races Always test with the race detector on We're not testing with the race detector enabled, which has allowed several data races to sneak into YARPC. push 06 Mar 2017 06:19AM UTC akshayjshah travis-ci pending completion  
See All Builds (4514)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc