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

[BP to 7.1.5/7.2.1 MB-57072] panic in go_json.stateInString

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      Issue Resolution
      A panic in go_json.stateInString under parsed value functions caused by incorrect concurrent access resulted in the state being freed whilst still in use. The concurrent access issue has been resolved.

      2023-05-22T18:44:09.180+00:00 [SEVERE] query context: <ud></ud>
      2023-05-22T18:44:09.180+00:00 [SEVERE] stack: goroutine 2978204 [running]:
      github.com/couchbase/query/execution.(*Context).Recover(0xc0029bb340, 0xc00a5cd440)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/context.go:1206 +0x8a
      panic({0x255b000, 0xc002ac4288})
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.18.7/go/src/runtime/panic.go:838 +0x207
      github.com/couchbase/query/execution.(*base).runConsumer.func1.2()
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:895 +0xb6
      panic({0x255b000, 0xc002ac4288})
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.18.7/go/src/runtime/panic.go:838 +0x207
      github.com/couchbase/go_json.stateInString(0xc00294e798?, 0xff?)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/scanner.go:402 +0x1c5
      github.com/couchbase/go_json.nextScanValue(0xc00294e798)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/simple.go:396 +0x206
      github.com/couchbase/go_json.(*IndexState).FindIndex(0xc00294e768, 0x1b)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/keys.go:371 +0x338
      github.com/couchbase/query/value.(*parsedValue).Index(0xc00294e680, 0x1b)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/value/parsed.go:331 +0x405
      github.com/couchbase/query/execution.(*Unnest).processItem(0xc00a5cd440, {0x2d56230?, 0xc000f3bcb0}, 0xc0029bb340)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/unnest.go:91 +0x2ce
      github.com/couchbase/query/execution.(*base).runConsumer.func1()
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:930 +0x3cf
      github.com/couchbase/query/util.(*Once).Do(0x0?, 0x0?)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/util/sync.go:54 +0x31
      github.com/couchbase/query/execution.(*base).runConsumer(0x0?, {0x2cfc5c0?, 0xc00a5cd440?}, 0x0?, {0x0?, 0x0?})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:864 +0x85
      github.com/couchbase/query/execution.(*Unnest).RunOnce(0x122351f?, 0xc000ad21b0?, {0x0?, 0x0?})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/unnest.go:49 +0x38
      github.com/couchbase/query/execution.execOp({0x2d1a880, 0xc00a5cd440}, 0xc00256d7d0?, {0x0, 0x0})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:526 +0x54
      github.com/couchbase/query/execution.execOp({0x2d1a880, 0xc00a5cd440}, 0xc00256d7d0?, {0x0, 0x0})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:526 +0x54
      created by github.com/couchbase/query/execution.(*base).fork
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:537 +0x125
      goroutine 2978204 [running]:
      github.com/couchbase/query/execution.(*Context).Recover(0xc0029bb340, 0xc00a5cd440)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/context.go:1206 +0x8a
      panic({0x255b000, 0xc002ac4288})
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.18.7/go/src/runtime/panic.go:838 +0x207
      github.com/couchbase/query/execution.(*base).runConsumer.func1.2()
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:895 +0xb6
      panic({0x255b000, 0xc002ac4288})
              /home/couchbase/.cbdepscache/exploded/x86_64/go-1.18.7/go/src/runtime/panic.go:838 +0x207
      github.com/couchbase/go_json.stateInString(0xc00294e798?, 0xff?)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/scanner.go:402 +0x1c5
      github.com/couchbase/go_json.nextScanValue(0xc00294e798)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/simple.go:396 +0x206
      github.com/couchbase/go_json.(*IndexState).FindIndex(0xc00294e768, 0x1b)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/go_json/keys.go:371 +0x338
      github.com/couchbase/query/value.(*parsedValue).Index(0xc00294e680, 0x1b)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/value/parsed.go:331 +0x405
      github.com/couchbase/query/execution.(*Unnest).processItem(0xc00a5cd440, {0x2d56230?, 0xc000f3bcb0}, 0xc0029bb340)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/unnest.go:91 +0x2ce
      github.com/couchbase/query/execution.(*base).runConsumer.func1()
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:930 +0x3cf
      github.com/couchbase/query/util.(*Once).Do(0x0?, 0x0?)
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/util/sync.go:54 +0x31
      github.com/couchbase/query/execution.(*base).runConsumer(0x0?, {0x2cfc5c0?, 0xc00a5cd440?}, 0x0?, {0x0?, 0x0?})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:864 +0x85
      github.com/couchbase/query/execution.(*Unnest).RunOnce(0x122351f?, 0xc000ad21b0?, {0x0?, 0x0?})
            /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/unnest.go:49 +0x38
      github.com/couchbase/query/execution.execOp({0x2d1a880, 0xc00a5cd440}, 0xc00256d7d0?, {0x0, 0x0})
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:526 +0x54
      created by github.com/couchbase/query/execution.(*base).fork
              /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/query/execution/base.go:537 +0x125
      

      Attachments

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

        Activity

          People

            pierre.regazzoni Pierre Regazzoni
            Sitaram.Vemulapalli Sitaram Vemulapalli
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty