• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 19598
83%
master: 88%

Build:
Build:
LAST BUILD BRANCH: drewdzzz/convert_boolean_arrow
DEFAULT BRANCH: master
Ran 26 Nov 2019 11:40AM UTC
Jobs 1
Files 306
Run time 29s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
19598

push

travis-ci

kyukhin
iproto: don't destroy a session during disconnect

Binary session disconnect trigger yield could lead to use after
free of the session object. That happened because iproto thread
sent two requests to TX thread at disconnect:

    - Close the session and run its on disconnect triggers;

    - If all requests are handled, destroy the session.

When a connection is idle, all requests are handled, so both these
requests are sent. If the first one yielded in TX thread, the
second one arrived and destroyed the session right under the feet
of the first one.

This can be solved in two ways - in TX thread, and in iproto
thread.

Iproto thread solution (which is chosen in the patch): just don't
send destroy request until disconnect returns back to iproto
thread.

TX thread solution (alternative): add a flag which says whether
disconnect is processed by TX. When destroy request arrives, it
checks the flag. If disconnect is not done, the destroy request
waits on a condition variable until it is.

The iproto is a bit tricker to implement, but it looks more
correct.

Closes #4627

(cherry picked from commit 6da9d3953)

18 of 18 new or added lines in 1 file covered. (100.0%)

41711 of 50564 relevant lines covered (82.49%)

830670.53 hits per line

Jobs
ID Job ID Ran Files Coverage
4 19598.4 (TARGET=coverage) 26 Nov 2019 11:40AM UTC 0
82.49
Travis Job 19598.4
Source Files on build 19598
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #19598
  • cf99b51c on github
  • Prev Build on 1.10 (#19593)
  • Next Build on 1.10 (#19600)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc