Uploaded image for project: 'Couchbase C client library libcouchbase'
  1. Couchbase C client library libcouchbase
  2. CCBC-1131

Hostname/port strings might be invalidated during KV socket connection

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 2.10.6
    • 2.10.5
    • None
    • None
    • 1

    Description

      #0  0x00007f943deea5f7 in raise () from /usr/lib64/libc-2.17.so
      #1  0x00007f943deebce8 in abort () from /usr/lib64/libc-2.17.so
      #2  0x00007f943df2a317 in __libc_message () from /usr/lib64/libc-2.17.so
      #3  0x00007f943df30184 in malloc_printerr () from /usr/lib64/libc-2.17.so
      #4  0x00007f943df338f6 in _int_malloc () from /usr/lib64/libc-2.17.so
      #5  0x00007f943df3487c in malloc () from /usr/lib64/libc-2.17.so
      #6  0x00007f943ea3a6a8 in operator new (sz=sz@entry=96) at /tmp/deploy/gcc-7.3.0/libstdc++-v3/libsupc++/new_op.cc:50
      #7  0x0000000000450873 in allocate (this=0x7f9432ff7810, __n=4) at /usr/local/include/c++/7.3.0/ext/new_allocator.h:111
      #8  allocate (__a=..., __n=4) at /usr/local/include/c++/7.3.0/bits/alloc_traits.h:436
      #9  _M_allocate (this=0x7f9432ff7810, __n=4) at /usr/local/include/c++/7.3.0/bits/stl_vector.h:172
      #10 _M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> > > const*, std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> > > > > > > (this=0x7f9432ff7810, __last=..., __first=..., __n=4) at /usr/local/include/c++/7.3.0/bits/stl_vector.h:1260
      #11 std::vector<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::operator= (this=this@entry=0x7f9432ff7810, __x=...)
          at /usr/local/include/c++/7.3.0/bits/vector.tcc:206
      #12 0x000000000049b9cf in _M_main_dispatch (
          __match_mode=std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Exact, this=0x7f9432ff7810)      at /usr/local/include/c++/7.3.0/bits/regex_executor.tcc:86
      #13 _M_main (
          __match_mode=std::__detail::_Executor<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::regex_traits<char>, true>::_Exact, this=0x7f9432ff7810)      at /usr/local/include/c++/7.3.0/bits/regex_executor.h:149
      #14 _M_match (this=0x7f9432ff7810) at /usr/local/include/c++/7.3.0/bits/regex_executor.h:93
      #15 std::__detail::__regex_algo_impl<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char, std::__cxx11::regex_traits<char>, (std::__detail::_RegexExecutorPolicy)0, true> (__s=..., __e=..., __m=..., __re=..., __flags=__flags@entry=0) at /usr/local/include/c++/7.3.0/bits/regex.tcc:80
      #16 0x000000000049aacf in regex_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> >, std::allocator<std::__cxx11::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> > > >, char, std::__cxx11::regex_traits<char> > (__flags=0, __re=..., __m=..., __e=..., __s=...) at /usr/local/include/c++/7.3.0/bits/regex.h:1997
      #17 regex_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char> >, char, std::__cxx11::regex_traits<char> > (__flags=0, __re=..., __last=..., __first=...)
          at /usr/local/include/c++/7.3.0/bits/regex.h:2022
      #18 regex_match<std::char_traits<char>, std::allocator<char>, char, std::__cxx11::regex_traits<char> > (__flags=0, __re=..., __s=...) at /usr/local/include/c++/7.3.0/bits/regex.h:2127
      #19 JoinHostPort (host=..., port=...) at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/features/src/utils.cc:288
      #20 0x000000000046e313 in GetUsername (cookie=0x7f943419d670, host=0x7f940c2f2c78 <Address 0x7f940c2f2c78 out of bounds>, port=0x7f940c2f307a <Address 0x7f940c2f307a out of bounds>,
          bucket=<optimized out>) at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/features/src/lcb_util.cc:24
      #21 0x00007f943f5bb60c in lcb::Authenticator::username_for[abi:cxx11](char const*, char const*, char const*, bool) (this=this@entry=0x7f943432f8b0,
          host=host@entry=0x7f940c2f2c78 <Address 0x7f940c2f2c78 out of bounds>, port=port@entry=0x7f940c2f307a <Address 0x7f940c2f307a out of bounds>, bucket=<optimized out>, use_cache=use_cache@entry=false)     at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/auth.cc:90
      #22 0x00007f943f60569d in lcb::SessionRequestImpl::setup (this=this@entry=0x7f940c179440, nistrs=..., host=..., auth=...)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/mcserver/negotiate.cc:241
      #23 0x00007f943f6079fc in lcb::SessionRequestImpl::start (this=this@entry=0x7f940c179440, sock=sock@entry=0x7f940c04a1e0)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/mcserver/negotiate.cc:708
      #24 0x00007f943f6080a2 in lcb::SessionRequest::start (sock=sock@entry=0x7f940c04a1e0, settings=0x7f943432d0f0, tmo=2500000,
          callback=callback@entry=0x7f943f603930 <on_connected(lcbio_SOCKET*, void*, lcb_error_t, lcbio_OSERR)>, data=data@entry=0x7f943434f9c0)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/mcserver/negotiate.cc:744
      #25 0x00007f943f603b20 in handle_connected (syserr=<optimized out>, err=<optimized out>, sock=0x7f940c04a1e0, this=0x7f943434f9c0)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/mcserver/mcserver.cc:794
      #26 on_connected (sock=0x7f940c04a1e0, data=0x7f943434f9c0, err=<optimized out>, syserr=<optimized out>)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/mcserver/mcserver.cc:766
      ---Type <return> to continue, or q <return> to quit---
      #27 0x00007f943f5a59bc in invoke (this=0x7f940c06fd50) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/manager.cc:281
      #28 connection_available (this=0x7f940c06ffe0) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/manager.cc:300
      #29 on_connected (err=<optimized out>, sock_=<optimized out>, this=<optimized out>) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/manager.cc:340
      #30 on_connected (sock=<optimized out>, arg=<optimized out>, err=<optimized out>) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/manager.cc:310
      #31 0x00007f943f5a21f9 in handler (this=0x7f940c25a5b0) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/connect.cc:162
      #32 lcb::io::Timer<lcb::io::Connstart, &lcb::io::Connstart::handler>::cb (arg=0x7f940c25a5b0) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/timer-cxx.h:80
      #33 0x00007f943f59ecad in timer_callback (sock=<optimized out>, which=<optimized out>, arg=0x7f940c28b830) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/lcbio/timer.c:45    #34 0x00007f943f5828f7 in run_loop (io=<optimized out>, is_tick=<optimized out>) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/plugins/io/select/plugin-select.c:289
      #35 0x00007f943f61147e in lcb_wait (instance=0x7f943432ce40) at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/wait.cc:103
      #36 0x0000000000463596 in RetryWithFixedBackoff<bool (&)(lcb_error_t), lcb_error_t (&)(lcb_st*), lcb_st*&, lcb_error_t, 0> (callable=@0x40a460: {lcb_error_t (lcb_st *)} 0x40a460 <lcb_wait@plt>,
          isRetriable=<optimized out>, initial_delay_milliseconds=200, max_retry_count=5)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/features/include/retry_util.h:40
      #37 0x000000000046581d in timer::TimerStore::Upsert (this=this@entry=0x7f9434322b30, key=..., value=...)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing-ee/features/src/timer_store.cc:362
      #38 0x000000000046683a in timer::TimerStore::SetTimer (this=0x7f9434322b30, timer=...)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing-ee/features/src/timer_store.cc:72
      #39 0x000000000041f846 in V8Worker::SetTimer (this=this@entry=0x7f94340b09a0, tinfo=...)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/v8_consumer/src/v8worker.cc:1148
      #40 0x000000000043dbdf in Timer::CreateTimerImpl (this=0x7f9434223020, args=...)
          at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/v8_consumer/src/timer.cc:98
      #41 0x000000000043e286 in CreateTimer (args=...) at /home/couchbase/jenkins/workspace/couchbase-server-unix/goproj/src/github.com/couchbase/eventing/v8_consumer/src/timer.cc:142
      #42 0x00007f9440d65239 in v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) () from /opt/couchbase/lib/libv8.so
      #43 0x00007f9440d64738 in v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) ()
         from /opt/couchbase/lib/libv8.so
      #44 0x00007f9440d63ec6 in v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) () from /opt/couchbase/lib/libv8.so
      #45 0x00007f944159d8ae in Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit () from /opt/couchbase/lib/libv8.so
      #46 0x00002ce55018816e in ?? ()
      #47 0x00002829aa1025a1 in ?? ()
      #48 0x0000106b2a31d139 in ?? ()
      #49 0x0000000900000000 in ?? ()
      #50 0x00002829aa102681 in ?? ()
      #51 0x00002fe24f4fee09 in ?? ()
      #52 0x0000195cae456e91 in ?? ()
      #53 0x00002fe24f4fed11 in ?? ()
      #54 0x00002e9736e04ad1 in ?? ()
      #55 0x00001e19ba08b1e1 in ?? ()
      #56 0x00002fe24f4fee09 in ?? ()
      #57 0x0000195cae456e91 in ?? ()
      #58 0x00002fe24f4fed11 in ?? ()
      #59 0x00002e9736e04ad1 in ?? ()
      #60 0x0000106b2a31d139 in ?? ()
      #61 0x00002fe24f4fee09 in ?? ()
      #62 0x0000195cae456eb9 in ?? ()
      #63 0x00002fe24f4fed11 in ?? ()
      #64 0x000000cf00000000 in ?? ()
      #65 0x00002e9736e04f59 in ?? ()
      #66 0x00002e9736e04a69 in ?? ()
      #67 0x0000106b2a302ad9 in ?? ()
      #68 0x00007f9432ff9578 in ?? ()
      ---Type <return> to continue, or q <return> to quit---
      #69 0x00007f944150d603 in Builtins_JSEntryTrampoline () from /opt/couchbase/lib/libv8.so
      #70 0x00002fe24f4feca1 in ?? ()
      #71 0x00001e19ba08b1e1 in ?? ()
      #72 0x00002e9736e04a69 in ?? ()
      #73 0x0000000000000020 in ?? ()
      #74 0x00007f9432ff95e0 in ?? ()
      #75 0x00002ce5501840de in ?? ()
      #76 0x0000000000000000 in ?? ()
      

      We see the first occurrence of Address 0x7f940c2f2c78 out of bounds at frame 21 -

      #21 0x00007f943f5bb60c in lcb::Authenticator::username_for[abi:cxx11](char const*, char const*, char const*, bool) (this=this@entry=0x7f943432f8b0,
          host=host@entry=0x7f940c2f2c78 <Address 0x7f940c2f2c78 out of bounds>, port=port@entry=0x7f940c2f307a <Address 0x7f940c2f307a out of bounds>, bucket=<optimized out>, use_cache=use_cache@entry=false)     at /home/couchbase/jenkins/workspace/couchbase-server-unix/libcouchbase/src/auth.cc:90
      

      Attachments

        Issue Links

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

          Activity

            People

              avsej Sergey Avseyev
              avsej Sergey Avseyev
              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