From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id F055F30F8C for ; Fri, 7 Dec 2018 17:24:47 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vWBoXRBUoxsK for ; Fri, 7 Dec 2018 17:24:47 -0500 (EST) Received: from smtp37.i.mail.ru (smtp37.i.mail.ru [94.100.177.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id AD36D3060E for ; Fri, 7 Dec 2018 17:24:47 -0500 (EST) Date: Sat, 8 Dec 2018 01:24:43 +0300 From: Konstantin Osipov Subject: [tarantool-patches] Re: [PATCH] Fix premature cdata collecting in luaT_pusherror() Message-ID: <20181207222443.GB2217@chai> References: <20181207173204.GA840@chai> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: Vladislav Shpilevoy Cc: Alexander Turenko , tarantool-patches@freelists.org * Vladislav Shpilevoy [18/12/08 01:20]: > > > On 07/12/2018 21:15, Alexander Turenko wrote: > > This is follow up of 28c7e667aee9be8c3288597bcc179d9b4e7b4940 to fix > > luaT_pusherror() itself, not only luaT_error(). > > > > Fixes #1955 (again). > > > > It is backport of 480868ff8f304ead2fd03e317902a1e8d41c6248 for 1.10. > > --- > > > > https://github.com/tarantool/tarantool/issues/1955 > > https://github.com/tarantool/tarantool/tree/Totktonada/gh-1955-fix-luaT_pusherror-1.10 > > > > src/lua/utils.c | 20 ++++++++++---------- > > 1 file changed, 10 insertions(+), 10 deletions(-) > > > > diff --git a/src/lua/utils.c b/src/lua/utils.c > > index 27772a9d3..b05d16a73 100644 > > --- a/src/lua/utils.c > > +++ b/src/lua/utils.c > > @@ -898,12 +898,20 @@ luaL_error_gc(struct lua_State *L) > > void > > luaT_pusherror(struct lua_State *L, struct error *e) > > { > > + /* > > + * gh-1955 luaT_pusherror allocates Lua objects, thus it > > Sorry, but usually we do not mention issue numbers in comments. > Please, reword the comment so as to do not use explicit issue > number. I think it's oK to mention issue ## in a changeset doesn't have a test case. This all comes from future use: if there is no test, it's difficult to understand what was the patch about without a quick link to the bugs database. > > - /* > > - * gh-1955 luaT_pusherror allocates Lua objects, thus it may trigger > > - * GC. GC may invoke finalizers which are arbitrary Lua code, > > - * potentially invalidating last error object, hence error_ref > > - * below. > > - */ Alexander only moved this comment. The comment itself was added by Nick Zavaritsky, I think it was appropriate in this case. -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov