From: Konstantin Osipov <kostja.osipov@gmail.com> To: Cyrill Gorcunov <gorcunov@gmail.com> Cc: tml <tarantool-patches@dev.tarantool.org> Subject: Re: [Tarantool-patches] [PATCH 4/4] box/txn: fix nil dereference in txn_rollback Date: Mon, 17 Feb 2020 23:01:17 +0300 [thread overview] Message-ID: <20200217200117.GA12248@atlas> (raw) In-Reply-To: <20200217190508.GA2482@uranus> * Cyrill Gorcunov <gorcunov@gmail.com> [20/02/17 22:07]: > b) error during journal_write > > txn_write > txn_write_to_wal > journal_write > wal_write > ... > entry->res = -1; > return -1; > txn_rollback(with fiber.txn != NULL), which > is fine. After you remove journal_entry_complete_cb from fail: branch of wal_write(), if you set txn to null only after successful journal_write, you'll be fine. On failure, the rollback will be done by txn_write(). > Guys, do I miss something obvious? The key moment > is dropping journal_entry_complete call from wal.c > on error path and defer setting fiber.txn = NULL > until journal_write passed without errors. Don't know how obvious this is, but it is something both me and Georgy are suggesting it seems. -- Konstantin Osipov, Moscow, Russia
next prev parent reply other threads:[~2020-02-17 20:01 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-17 15:59 [Tarantool-patches] [PATCH 0/4] box/txn: fix nil dereference on txn error path Cyrill Gorcunov 2020-02-17 15:59 ` [Tarantool-patches] [PATCH 1/4] box/txn: fix void args mess Cyrill Gorcunov 2020-02-17 17:13 ` Konstantin Osipov 2020-02-17 15:59 ` [Tarantool-patches] [PATCH 2/4] box/journal: sanitize completion naming Cyrill Gorcunov 2020-02-17 17:14 ` Konstantin Osipov 2020-02-17 15:59 ` [Tarantool-patches] [PATCH 3/4] box/txn: rename txn_entry_done_cb to txn_entry_complete_cb Cyrill Gorcunov 2020-02-17 17:14 ` Konstantin Osipov 2020-02-17 15:59 ` [Tarantool-patches] [PATCH 4/4] box/txn: fix nil dereference in txn_rollback Cyrill Gorcunov 2020-02-17 17:19 ` Konstantin Osipov 2020-02-17 19:05 ` Cyrill Gorcunov 2020-02-17 20:01 ` Konstantin Osipov [this message] 2020-02-17 20:01 ` Konstantin Osipov 2020-02-17 20:05 ` Cyrill Gorcunov 2020-02-17 20:34 ` Cyrill Gorcunov 2020-02-17 17:25 ` Georgy Kirichenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200217200117.GA12248@atlas \ --to=kostja.osipov@gmail.com \ --cc=gorcunov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 4/4] box/txn: fix nil dereference in txn_rollback' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox