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

Serveral crashes in go-couchbase and go-memcached

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 4.0.0
    • 4.0.0
    • clients
    • Security Level: Public

    Description

      The following crashes are observed in goxdcr system test (MB-14983)

      #4
      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=0x2f pc=0x40f20b]
      goroutine 66 [running]:
      runtime.gopanic(0x8ff620, 0xc20802a050)
      /usr/local/go/src/runtime/panic.go:425 +0x2a3 fp=0xc209007950 sp=0xc2090078e8
      encoding/json.func·001()
      /usr/local/go/src/encoding/json/decode.go:135 +0x8b fp=0xc2090079a0 sp=0xc209007950
      runtime.call16(0xc209008be8, 0xc208a8ac60, 0x0)
      /usr/local/go/src/runtime/asm_amd64.s:401 +0x45 fp=0xc2090079b8 sp=0xc2090079a0
      runtime.gopanic(0x8ff620, 0xc20802a050)
      /usr/local/go/src/runtime/panic.go:387 +0x3a8 fp=0xc209007a20 sp=0xc2090079b8
      runtime.panicmem()
      /usr/local/go/src/runtime/panic.go:42 +0x4e fp=0xc209007a48 sp=0xc209007a20
      runtime.sigpanic()
      /usr/local/go/src/runtime/sigpanic_unix.go:26 +0x274 fp=0xc209007a98 sp=0xc209007a48
      runtime.mallocgc(0x20, 0x81d7a0, 0xc200000001, 0x8)
      /usr/local/go/src/runtime/malloc.go:183 +0x8ab fp=0xc209007b48 sp=0xc209007a98
      runtime.newarray(0x81d7a0, 0x4, 0x81d7a0)
      /usr/local/go/src/runtime/malloc.go:365 +0xc1 fp=0xc209007b80 sp=0xc209007b48
      reflect.MakeSlice(0x7f4f8b327cb8, 0x808ea0, 0x0, 0x4, 0x0, 0x0, 0x0)
      /usr/local/go/src/reflect/value.go:2004 +0x228 fp=0xc209007bf0 sp=0xc209007b80
      encoding/json.(*decodeState).array(0xc20a2a0da8, 0x808ea0, 0xc2088ff818, 0xd7)
      /usr/local/go/src/encoding/json/decode.go:428 +0x8bf fp=0xc209007d98 sp=0xc209007bf0
      encoding/json.(*decodeState).value(0xc20a2a0da8, 0x808ea0, 0xc2088ff818, 0xd7)
      /usr/local/go/src/encoding/json/decode.go:285 +0x3ee fp=0xc209007e70 sp=0xc209007d98
      encoding/json.(*decodeState).array(0xc20a2a0da8, 0x806b00, 0xc209a8f6a0, 0xd7)
      /usr/local/go/src/encoding/json/decode.go:439 +0xa9b fp=0xc209008018 sp=0xc209007e70
      encoding/json.(*decodeState).value(0xc20a2a0da8, 0x806b00, 0xc209a8f6a0, 0xd7)
      /usr/local/go/src/encoding/json/decode.go:285 +0x3ee fp=0xc2090080f0 sp=0xc209008018
      encoding/json.(*decodeState).object(0xc20a2a0da8, 0x92d500, 0xc209a8f670, 0xd9)
      /usr/local/go/src/encoding/json/decode.go:605 +0x1199 fp=0xc209008430 sp=0xc2090080f0
      encoding/json.(*decodeState).value(0xc20a2a0da8, 0x92d500, 0xc209a8f670, 0xd9)
      /usr/local/go/src/encoding/json/decode.go:288 +0x3ce fp=0xc209008508 sp=0xc209008430
      encoding/json.(*decodeState).object(0xc20a2a0da8, 0x980a60, 0xc209a8f588, 0xd9)
      /usr/local/go/src/encoding/json/decode.go:605 +0x1199 fp=0xc209008848 sp=0xc209008508
      encoding/json.(*decodeState).value(0xc20a2a0da8, 0x980a60, 0xc209a8f588, 0xd9)
      /usr/local/go/src/encoding/json/decode.go:288 +0x3ce fp=0xc209008920 sp=0xc209008848
      encoding/json.(*decodeState).array(0xc20a2a0da8, 0x8080c0, 0xc2086c75c0, 0xd7)
      /usr/local/go/src/encoding/json/decode.go:439 +0xa9b fp=0xc209008ac8 sp=0xc209008920
      encoding/json.(*decodeState).value(0xc20a2a0da8, 0x7f7860, 0xc209698c80, 0x16)
      /usr/local/go/src/encoding/json/decode.go:285 +0x3ee fp=0xc209008ba0 sp=0xc209008ac8
      encoding/json.(*decodeState).unmarshal(0xc20a2a0da8, 0x7f7860, 0xc209698c80, 0x0, 0x0)
      /usr/local/go/src/encoding/json/decode.go:149 +0x1e7 fp=0xc209008c40 sp=0xc209008ba0
      encoding/json.(*Decoder).Decode(0xc20a2a0d80, 0x7f7860, 0xc209698c80, 0x0, 0x0)
      /usr/local/go/src/encoding/json/stream.go:53 +0x18f fp=0xc209008ce0 sp=0xc209008c40
      github.com/couchbase/go-couchbase.queryRestAPI(0xc208d54380, 0xc20a2be280, 0x47, 0x7f4f8b331860, 0xc2088b1660, 0x7f0300, 0xc2086c75c0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/go-couchbase/pools.go:450 +0x799 fp=0xc209008ea0 sp=0xc209008ce0
      github.com/couchbase/go-couchbase.(*Client).parseURLResponse(0xc20813db28, 0xc20a2be280, 0x47, 0x7f0300, 0xc2086c75c0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/go-couchbase/pools.go:457 +0x75 fp=0xc209008ef0 sp=0xc209008ea0
      github.com/couchbase/go-couchbase.(*Pool).refresh(0xc20813db00, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/go-couchbase/pools.go:660 +0x1a2 fp=0xc2090092c8 sp=0xc209008ef0
      github.com/couchbase/go-couchbase.(*Client).GetPool(0xc20963b980, 0x9a47d0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/go-couchbase/pools.go:691 +0x396 fp=0xc2090093f8 sp=0xc2090092c8
      github.com/couchbase/goxdcr/utils.LocalPool(0xc2096c0d70, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/utils/utils.go:88 +0x4a7 fp=0xc209009640 sp=0xc2090093f8
      github.com/couchbase/goxdcr/utils.LocalBucketUUID(0xc2096c0d70, 0xe, 0xc2080e5ae0, 0x9, 0x0, 0x0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/utils/utils.go:419 +0x73 fp=0xc209009920 sp=0xc209009640
      github.com/couchbase/goxdcr/service_impl.(*ReplicationSpecService).ValidateExistingReplicationSpec(0xc2080663c0, 0xc20819a500, 0x0, 0x0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/service_impl/replication_spec_service.go:313 +0x12d fp=0xc209009c80 sp=0xc209009920
      github.com/couchbase/goxdcr/service_impl.(*ReplicationSpecService).ValidateAndGC(0xc2080663c0, 0xc20819a500)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/service_impl/replication_spec_service.go:370 +0x40 fp=0xc209009d50 sp=0xc209009c80
      github.com/couchbase/goxdcr/pipeline_manager.CheckPipelines()
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/pipeline_manager/pipeline_manager.go:204 +0xcd fp=0xc209009e68 sp=0xc209009d50
      github.com/couchbase/goxdcr/replication_manager.(*replicationManager).checkReplicationStatus(0xc757a0, 0xc20812c1c0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/replication_manager/replication_manager.go:206 +0x133 fp=0xc209009fd0 sp=0xc209009e68
      runtime.goexit()
      /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc209009fd8 sp=0xc209009fd0
      #5
      unexpected fault address 0x0
      fatal error: fault
      [signal 0xb code=0x80 addr=0x0 pc=0x40f20b]
      goroutine 6214 [running]:
      runtime.gothrow(0x9a6170, 0x5)
      /usr/local/go/src/runtime/panic.go:503 +0x8e fp=0xc2095eb960 sp=0xc2095eb948
      runtime.sigpanic()
      /usr/local/go/src/runtime/sigpanic_unix.go:29 +0x265 fp=0xc2095eb9b0 sp=0xc2095eb960
      runtime.mallocgc(0xd00, 0x81e5a0, 0xc200000001, 0x18)
      /usr/local/go/src/runtime/malloc.go:183 +0x8ab fp=0xc2095eba60 sp=0xc2095eb9b0
      runtime.newarray(0x81e5a0, 0xc3b, 0x18)
      /usr/local/go/src/runtime/malloc.go:365 +0xc1 fp=0xc2095eba98 sp=0xc2095eba60
      runtime.makeslice(0x80b540, 0xc3b, 0xc3b, 0x0, 0x0, 0x0)
      /usr/local/go/src/runtime/slice.go:32 +0x15c fp=0xc2095ebae0 sp=0xc2095eba98
      github.com/couchbase/gomemcached.(*MCRequest).Receive(0xc2095ebe78, 0x7f385008fdb0, 0xc2081681f0, 0xc2088b3fe0, 0x18, 0x18, 0xc20a27069f, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/gomemcached/mc_req.go:154 +0x716 fp=0xc2095ebc60 sp=0xc2095ebae0
      github.com/couchbase/gomemcached/client.(*UprFeed).runFeed(0xc20a2402d0, 0xc2088d9bc0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/gomemcached/client/upr_feed.go:398 +0x16a fp=0xc2095ebfd0 sp=0xc2095ebc60
      runtime.goexit()
      /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc2095ebfd8 sp=0xc2095ebfd0
      created by github.com/couchbase/gomemcached/client.(*UprFeed).StartFeed
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/gomemcached/client/upr_feed.go:328 +0x90
      #6
      panic: runtime error: slice bounds out of range
      goroutine 5805 [running]:
      runtime.gopanic(0x8ff620, 0xc20802a010)
      /usr/local/go/src/runtime/panic.go:425 +0x2a3 fp=0xc20c1cd2e8 sp=0xc20c1cd280
      runtime.panicslice()
      /usr/local/go/src/runtime/panic.go:18 +0x4e fp=0xc20c1cd310 sp=0xc20c1cd2e8
      github.com/couchbase/gomemcached.(*MCRequest).Bytes(0xc2090e5860, 0x0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/godeps/src/github.com/couchbase/gomemcached/mc_req.go:101 +0x19a fp=0xc20c1cd390 sp=0xc20c1cd310
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).sendSingleSetMeta(0xc20a958000, 0xa0fc00, 0xc20b561200, 0xc20c1c0020, 0x5, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1274 +0x2db fp=0xc20c1cd490 sp=0xc20c1cd390
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).resendForNewConn(0xc20a958000, 0xc2091b1a90, 0x460020, 0xc20c4c0600, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1700 +0x261 fp=0xc20c1cd560 sp=0xc20c1cd490
      github.com/couchbase/goxdcr/parts.*XmemNozzle.(github.com/couchbase/goxdcr/parts.resendForNewConn)·fm(0xc2091b1a90, 0xc2ffff0020, 0x0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1913 +0x4e fp=0xc20c1cd598 sp=0xc20c1cd560
      github.com/couchbase/goxdcr/parts.(*requestBuffer).modSlot(0xc20819f300, 0xc20a950020, 0xc20c1cd680, 0xc20c8e3e00, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:237 +0xee fp=0xc20c1cd5f0 sp=0xc20c1cd598
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).onSetMetaConnRepaired(0xc20a958000)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1913 +0xb2 fp=0xc20c1cd6b0 sp=0xc20c1cd5f0
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).repairConn(0xc20a958000, 0xc2082743c0, 0xa51f10, 0x20, 0x0, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1896 +0x4a9 fp=0xc20c1cd858 sp=0xc20c1cd6b0
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).writeToClient(0xc20a958000, 0xc2082743c0, 0xc20ba72000, 0xe468, 0x12000, 0x0, 0x0, 0x3e8)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1803 +0x46b fp=0xc20c1cd990 sp=0xc20c1cd858
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).sendWithRetry(0xc20a958000, 0xc2082743c0, 0x5, 0xc20ba72000, 0xe468, 0x12000, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:1060 +0xa4 fp=0xc20c1cda18 sp=0xc20c1cd990
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).batchSetMetaWithRetry(0xc20a958000, 0xc20ad71500, 0x5, 0x0, 0x0)
      /home/couchbase/jenkins/workspace/sherlock-unix/goproj/src/github.com/couchbase/goxdcr/parts/xmem_nozzle.go:990 +0x758 fp=0xc20c1cdc78 sp=0xc20c1cda18
      github.com/couchbase/goxdcr/parts.(*XmemNozzle).sendSetMeta_internal(0xc20a958000, 0xc20ad71500, 0x0, 0x0)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            apiravi Aruna Piravi (Inactive)
            xiaomei Xiaomei Zhang (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty