[Debian-med-packaging] Bug#953832: cannot allocate memory in static TLS block

Faidon Liambotis paravoid at debian.org
Tue Mar 17 11:29:59 GMT 2020


Hi Andreas,

Thanks for reaching out. It sounds like this is already reported as
#951704 (Cc'ed now). I'll need to give this a closer look, but I hope I
can have an update within the next couple of weeks. Does this work?

Thanks!
Faidon

On Sun, Mar 15, 2020 at 10:33:20AM +0100, Andreas Tille wrote:
> Hi Faidon,
> 
> could you imagine to build jemalloc with --disable-initial-exec-tls
> as Sergio suggests below to fix the issue in drmaa (and possibly other
> packages)?
> 
> Should I open a separate bug report against jemalloc to request this?
> 
> Kind regards
> 
>       Andreas.
> 
> On Sat, Mar 14, 2020 at 05:18:49PM -0400, Sergio Durigan Junior wrote:
> > > $ python3
> > > Python 3.7.6 (default, Jan 19 2020, 22:34:52) 
> > > [GCC 9.2.1 20200117] on linux
> > > Type "help", "copyright", "credits" or "license" for more information.
> > >>>> import drmaa
> > > Traceback (most recent call last):
> > >   File "<stdin>", line 1, in <module>
> > >   File "/home/andreas/debian-maintain/salsa/med-team/python-drmaa/drmaa/__init__.py", line 65, in <module>
> > >     from .session import JobInfo, JobTemplate, Session
> > >   File "/home/andreas/debian-maintain/salsa/med-team/python-drmaa/drmaa/session.py", line 39, in <module>
> > >     from drmaa.helpers import (adapt_rusage, Attribute, attribute_names_iterator,
> > >   File "/home/andreas/debian-maintain/salsa/med-team/python-drmaa/drmaa/helpers.py", line 36, in <module>
> > >     from drmaa.wrappers import (drmaa_attr_names_t, drmaa_attr_values_t,
> > >   File "/home/andreas/debian-maintain/salsa/med-team/python-drmaa/drmaa/wrappers.py", line 58, in <module>
> > >     _lib = CDLL(libpath, mode=RTLD_GLOBAL)
> > >   File "/usr/lib/python3.7/ctypes/__init__.py", line 364, in __init__
> > >     self._handle = _dlopen(self._name, mode)
> > > OSError: /usr/lib/x86_64-linux-gnu/libjemalloc.so.2: cannot allocate memory in static TLS block
> > 
> > This is an issue with jemalloc's handling of the TLS model when being
> > dlopened..  See:
> > 
> >   https://github.com/jemalloc/jemalloc/issues/1237
> > 
> > The recommended way to build a libjemalloc that is suitable for being
> > dlopened is to use '--disable-initial-exec-tls' when building it.  Take
> > a look at the INSTALL.md file, and look for this option:
> > 
> >   https://github.com/jemalloc/jemalloc/blob/dev/INSTALL.md
> > 
> > There is a way to workaround this bug by doing an LD_PRELOAD of
> > libjemalloc when invoking python, but this will only mask the problem
> > and we can't expect users to do/know this.
> > 
> > The way I see it, you can try to convince jemalloc's maintainer to
> > enable that flag.
> > 
> > BTW, the reason 'find_library' can't find drmaa's library is because the
> > .so is being installed in a non-standard directory.  I don't know why
> > the package was made like this, though.
> > 
> > Thanks,
> > 
> > -- 
> > Sergio
> > GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
> > Please send encrypted e-mail if possible
> > http://sergiodj.net/
> 
> 
> 
> -- 
> http://fam-tille.de
> 



More information about the Debian-med-packaging mailing list