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; Всё ещё не видно разницы? -- ldv