The python bindings call lcb_exists, and deep in there, at the end of the callback, we get a segfault when assembling the spans. Here's a stack trace from lldb, plus some relevant info on the frames:
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Activity
Show:
CB robot September 15, 2020 at 11:05 AM
Build couchbase-server-7.0.0-3115 contains libcouchbase commit 7bdc23f with commit message: : Segfault in exists calls
David Kelly April 10, 2020 at 9:22 PM
so from the above, the list is definitely broken. We get the span above from a call to lcbtrace_span_get_parent where the span we pass in comes from lcb (we set a callback somewhere).
So – since I'm pretty sure the spans themselves come from lcb, and we seem to be using them in an opaque fashion (manipulating them via lcb calls only, no direct access), I'm guessing there is a code path that somethings leaves this uninitialized next in the list above.
Fixed
Pinned fields
Click on the next to a field label to start pinning.
The python bindings call lcb_exists, and deep in there, at the end of the callback, we get a segfault when assembling the spans. Here's a stack trace from lldb, plus some relevant info on the frames: