From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: devel@lists.altlinux.org References: <20190917090515.3421584402D0@gitery.altlinux.org> <20191021234206.GA22520@altlinux.org> <20191022000116.GE28113@imap.altlinux.org> <20191022083258.GA28557@altlinux.org> <20191022153259.GA1096@altlinux.org> From: Anton Farygin X-Opacus-Archived: none Organization: BaseALT Message-ID: <48f4dd13-969b-faef-72e6-c3a766f7ba13@basealt.ru> Date: Tue, 22 Oct 2019 18:51:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20191022153259.GA1096@altlinux.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [devel] [SCM] packages/apt: tags/0.5.15lorg2-alt74 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Oct 2019 15:51:28 -0000 Archived-At: List-Archive: List-Post: On 22.10.2019 18:32, Dmitry V. Levin wrote: > On Tue, Oct 22, 2019 at 03:28:40PM +0300, Anton Farygin wrote: >> On 22.10.2019 11:32, Dmitry V. Levin wrote: >>> On Tue, Oct 22, 2019 at 03:01:16AM +0300, Michael Shigorin wrote: >>>> On Tue, Oct 22, 2019 at 02:42:06AM +0300, Dmitry V. Levin wrote: >>>>> On Tue, Sep 17, 2019 at 09:05:15AM +0000, Aleksei Nikiforov wrote: >>>>>> Update of /people/darktemplar/packages/apt.git >>>>>> 0.5.15lorg2-alt74 >>>>>> - Added debugging output for allocation functions. >>>>>> - Fixed dynamic memory allocation pointer arithmetics issue. >>>>> Жаль, что вы не дождались первого апреля, но всё равно спасибо, >>>>> шутка получилась отличная. >>>> В смысле про fixed? >>> Именно. >>> >>> Этот патч увеличивает расход оперативной памяти apt'ом в среднем в полтора >>> раза, но не исправляет UB с арифметикой указателей, поскольку MMap::Base >>> как был невыровненным, так и остался невыровненным. В отличие от Debian, >>> между прочим, где по умолчанию MMap::Base выровнен на начало страницы. >>> >> Я не вижу разницы в адресе MMap::Base на Debian и у нас - в обоих >> случаях он выровнен на начало страницы. > У Алексея: > > void *tmp_base = realloc(Base, newSize); > > if (debug_grow) > _error->Warning(_("DynamicMMap::Grow: realloc from %llu to %llu, result: %s"), WorkSpace, newSize, (tmp_base == n > > if (tmp_base == NULL) > return false; > > Base = tmp_base; > > В Debian по умолчанию: > > #ifdef MREMAP_MAYMOVE > > if ((Flags & Moveable) == Moveable) > Base = mremap(Base, WorkSpace, newSize, MREMAP_MAYMOVE); > else > #endif > Base = mremap(Base, WorkSpace, newSize, 0); > > if(Base == MAP_FAILED) > return false; > > Всё ещё не видно разницы? > Я просто посмотрел то, что получается (адреса). Результат одинаковый. Если поискать это место в коде Алексея, то я вижу его  в строке 180 (такое же как в приведённом тобой из Debian). Там же поведение разное - если файл открыт и если нет.