From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Mons Anderson <v.perepelitsa@corp.mail.ru>, tml <tarantool-patches@dev.tarantool.org> Subject: Re: [Tarantool-patches] [PATCH v4 3/4] crash: move fatal signal handling in Date: Sun, 20 Dec 2020 15:48:11 +0100 [thread overview] Message-ID: <a86fce26-55a3-1da0-30fe-0ee99c60e899@tarantool.org> (raw) In-Reply-To: <20201215081645.GB983198@grain> >>> +static struct crash_info { >>> + /** >>> + * These two are mostly useless as being >>> + * plain addresses but keep for backward >>> + * compatibility. >> >> 3. Why don't you say the same about 'siaddr'? It is also >> just a plain address. > > The other members are exported to report while these two > are printed in local console only. To be honest I don't > see any reason in these two members but I kept them to > not break backward compatibility. This one also is printed to local console only. So the question is the same, why don't you call it also a useless plain address? >>> +#ifdef ENABLE_BACKTRACE >>> + /* >> >> 4. We usually use /** in out-of-function comment's >> first line. > > This comment is not a part of doxygen, I left it this > way intentionally. This comment for internal use. So you seriously think everything else should go to doxygen? Please, lets be consistent. The rule is simple - /** our of functions, /* - inside. Please, just follow it. >>> + * 4K of memory should be enough to keep the backtrace. >>> + * In worst case it gonna be simply trimmed. >>> + */ >>> + char backtrace_buf[4096]; >> >> 5. This is a functional change. Previously for the backtrace >> we used the static buffer. >> >> 1) Why did you change it? > > Because the buffer is used between the calls, iow it filled once > and then passed to plain report to the console and then to > json encoding. And keeping data in static buffer between the > calls is very bad idea, it bounds calls to the context. I'm ready > to spend 4K per instance for this. We can shrink the value down > to 1K if you prefer but keeping static buffer between the calls > definitely is not an option. > >> 2) Why isn't it in a separate commit? As I told you, it is really >> hard to extract what did you change in a ~460 lines patch titled as >> 'move' to check if it does not break anything or is even needed. >> Please, don't make it harder. > > Vlad, I remember this. The problem is that if I would do interdiff > the result will be simply unreadable (believe me, I tried). This > is why I sent the whole new patch instead. I reworked the patch > too much. I don't know what is 'interdiff'. But I do know what is an atomic commit. And this commit is not atomic. Also I know when a patch is easy to follow and easy to review. This one isn't. Because I constantly need to look for changes you did among hundreds of lines of refactoring. Please, split the independent changes into separate commits so as they could be properly reviewed and the changes could be justified in the commit messages. >> Also print_backtrace() becomes unused after your patch. > > Not really > > [cyrill@grain tarantool.git] git grep -n print_backtrace > src/lib/core/backtrace.cc:436:print_backtrace(void) > src/lib/core/backtrace.cc:449: print_backtrace(); > src/lib/core/backtrace.h:46:void print_backtrace(void); > src/lua/init.c:367: print_backtrace(); > > It is still suitable own handler, no? Yes, my bad.
next prev parent reply other threads:[~2020-12-20 14:48 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-10 16:18 [Tarantool-patches] [PATCH v4 0/4] crash: implement sending feedback Cyrill Gorcunov 2020-12-10 16:18 ` [Tarantool-patches] [PATCH v4 1/4] util: introduce strlcpy helper Cyrill Gorcunov 2020-12-11 7:34 ` Serge Petrenko 2020-12-11 7:58 ` Serge Petrenko 2020-12-11 10:04 ` Cyrill Gorcunov 2020-12-11 11:07 ` Serge Petrenko 2020-12-11 11:38 ` Cyrill Gorcunov 2020-12-14 22:54 ` Vladislav Shpilevoy 2020-12-14 22:54 ` Vladislav Shpilevoy 2020-12-15 8:47 ` Cyrill Gorcunov 2020-12-10 16:18 ` [Tarantool-patches] [PATCH v4 2/4] backtrace: allow to specify destination buffer Cyrill Gorcunov 2020-12-11 7:50 ` Serge Petrenko 2020-12-10 16:18 ` [Tarantool-patches] [PATCH v4 3/4] crash: move fatal signal handling in Cyrill Gorcunov 2020-12-11 9:31 ` Serge Petrenko 2020-12-11 10:38 ` Cyrill Gorcunov 2020-12-11 11:12 ` Serge Petrenko 2020-12-14 22:54 ` Vladislav Shpilevoy 2020-12-15 8:16 ` Cyrill Gorcunov 2020-12-20 14:48 ` Vladislav Shpilevoy [this message] 2020-12-20 15:49 ` Cyrill Gorcunov 2020-12-20 16:07 ` Vladislav Shpilevoy 2020-12-20 16:58 ` Cyrill Gorcunov 2020-12-20 15:45 ` Vladislav Shpilevoy 2020-12-10 16:18 ` [Tarantool-patches] [PATCH v4 4/4] crash: report crash data to the feedback server Cyrill Gorcunov 2020-12-11 12:57 ` Serge Petrenko 2020-12-12 16:19 ` Cyrill Gorcunov 2020-12-12 17:07 ` Cyrill Gorcunov 2020-12-14 9:41 ` Serge Petrenko 2020-12-14 22:54 ` Vladislav Shpilevoy 2020-12-16 11:16 ` Cyrill Gorcunov 2020-12-16 20:31 ` Cyrill Gorcunov 2020-12-20 15:16 ` Vladislav Shpilevoy 2020-12-20 18:26 ` Cyrill Gorcunov 2020-12-20 14:48 ` Vladislav Shpilevoy 2020-12-20 18:21 ` Cyrill Gorcunov 2020-12-20 18:41 ` Vladislav Shpilevoy 2020-12-20 19:16 ` Cyrill Gorcunov 2020-12-21 17:01 ` Vladislav Shpilevoy
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=a86fce26-55a3-1da0-30fe-0ee99c60e899@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=gorcunov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.perepelitsa@corp.mail.ru \ --subject='Re: [Tarantool-patches] [PATCH v4 3/4] crash: move fatal signal handling in' \ /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