Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-22382

panic in gomemcached when uprfeed exits

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 4.6.2, 5.0.0
    • 4.6.0
    • XDCR
    • None
    • Untriaged
    • Unknown

    Description

      Saw the following panic when running local test.

      The root cause is that transmitCh may be closed without feed being closed. The cause for that is that runFeed may exit without closing the feed. The simplest way to fix this is to add a feed.Close() call before runFeed exits.

       

      time=2017-01-17T17:03:24.560-08:00 _level=ERROR _msg=Error in receive EOF
      _time=2017-01-17T17:03:24.561-08:00 _level=INFO _msg=runFeed exiting
      _time=2017-01-17T17:03:24.561-08:00 _level=INFO _msg=sendCommands exiting
      panic: send on closed channel

      goroutine 175458 [running]:
      runtime.gopanic(0x4feba0, 0xc8213dedb0)
              /Users/yu/.cbdepscache/exploded/x86_64/go-1.5.2/go/src/runtime/panic.go:461 +0x3e6 fp=0xc8213719f8 sp=0xc821371978
      runtime.chansend(0x4ea560, 0xc820c20060, 0xc821371b40, 0x668001, 0x1bdc4f, 0xc8212b5e00)
              /Users/yu/.cbdepscache/exploded/x86_64/go-1.5.2/go/src/runtime/chan.go:155 +0x1b4 fp=0xc821371ac8 sp=0xc8213719f8
      runtime.chansend1(0x4ea560, 0xc820c20060, 0xc821371b40)
              /Users/yu/.cbdepscache/exploded/x86_64/go-1.5.2/go/src/runtime/chan.go:92 +0x43 fp=0xc821371b00 sp=0xc821371ac8
      github.com/couchbase/gomemcached/client.(*UprFeed).CloseStream(0xc82013a1b0, 0x3ea0031, 0x0, 0x0)
              /Users/yu/master/godeps/src/github.com/couchbase/gomemcached/client/upr_feed.go:377 +0x38f fp=0xc821371b98 sp=0xc821371b00
      github.com/couchbase/goxdcr/parts.(*DcpNozzle).closeUprStreams(0xc8202731e0, 0x0, 0x0)
              /Users/yu/master/goproj/src/github.com/couchbase/goxdcr/parts/dcp_nozzle.go:334 +0x418 fp=0xc821371df0 sp=0xc821371b98
      github.com/couchbase/goxdcr/parts.(*DcpNozzle).Stop(0xc8202731e0, 0x0, 0x0)
              /Users/yu/master/goproj/src/github.com/couchbase/goxdcr/parts/dcp_nozzle.go:305 +0x204 fp=0xc821371f10 sp=0xc821371df0
      github.com/couchbase/goxdcr/common.(Part).Stop-fm(0x0, 0x0)
              /Users/yu/master/goproj/src/github.com/couchbase/goxdcr/pipeline/generic_pipeline.go:303 +0x40 fp=0xc821371f40 sp=0xc821371f10
      github.com/couchbase/goxdcr/simple_utils.ExecWithTimeout.func1(0xc820b53820, 0xc82127d1a0)
              /Users/yu/master/goproj/src/github.com/couchbase/goxdcr/simple_utils/simple_utils.go:43 +0x1d fp=0xc821371f80 sp=0xc821371f40
      runtime.goexit()
              /Users/yu/.cbdepscache/exploded/x86_64/go-1.5.2/go/src/runtime/asm_amd64.s:1721 +0x1 fp=0xc821371f88 sp=0xc821371f80
      created by github.com/couchbase/goxdcr/simple_utils.ExecWithTimeout
              /Users/yu/master/goproj/src/github.com/couchbase/goxdcr/simple_utils/simple_utils.go:45 +0x7e

      Attachments

        Issue Links

          For Gerrit Dashboard: MB-22382
          # Subject Branch Project Status CR V

          Activity

            People

              arunkumar Arunkumar Senthilnathan (Inactive)
              yu Yu Sui (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty