Re: lzma running out of memory on qemu-user (#846564)

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.debian.devel.dpkg.general
Message-ID <dcb0f1a639f7a4de7884db307560131fabf57e7b.camel@physik.fu-berlin.de>
Hi Guillem,

On Thu, 2024-09-26 at 13:20 +0200, Guillem Jover wrote:
> On Thu, 2024-09-26 at 10:31:55 +0200, John Paul Adrian Glaubitz wrote:
> > I'm using qemu-user with a Debian unstable sh4 chroot on a 40-core Xeon machine
> > and running dpkg-deb fails with the same issue reported in #846564 [1]:
> > 
> > dpkg-deb: building package 'gcc-snapshot' in '../gcc-snapshot_20240922-1+sh4.1_sh4.deb'.
> > dpkg-deb: building package 'gcc-snapshot-dbgsym' in '../gcc-snapshot-dbgsym_20240922-1+sh4.1_sh4.deb'.
> > dpkg-deb (subprocess): compressing tar member: lzma error: Cannot allocate memory
> > dpkg-deb: error: <compress> from tar -cf subprocess returned error exit status 2
> > dh_builddeb: error: dpkg-deb --root-owner-group --build debian/.debhelper/gcc-snapshot/dbgsym-root .. returned exit code 2
> > dh_builddeb: error: Aborting due to earlier error
> 
> Hmm, the heuristics in the code should in theory prevent this, so it
> would be nice to know what is going wrong with that, in case it could
> be improved. See the filter_xz_get_memlimit() and
> filter_xz_get_cputhreads() functions in lib/dpkg/.

You should be able to reproduce it with qemu-user on a machine with many cores.
Any emulated 32-bit architecture should work.

> > Is there a way to tune lzma such that it reduces memory consumption in this case?
> 
> You should be able to globally reduce the amount of threads used with
> the DPKG_DEB_THREADS_MAX envvar (as the --threads-max option would
> need to be passed from debian/rules or debhelper or similar).

Thanks a lot for the suggestion. For anyone else running into this problem,
the following workaround added to debian/rules did the trick to me:

# Workaround for #846564
override_dh_builddeb:
        dh_builddeb -- --threads-max=16

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.