On Sun, Apr 04, 2021 at 02:26:16AM +0200, Samuel Thibault wrote:
> So basically libpthread is trying to initialize itself, calls malloc,
> which initializes jemalloc, which calls pthread_self, which is not happy
> that libpthread is not initialized yet, thus calls assert, which tries
> to malloc as well, which tries (again!) to initialize jemalloc, and
> gets stuck on mutex_lock. And since this is all happening at very early
> initialization of libc, interaction with ps etc. is not possible yet.
> 
> [...]
>
> I'm wondering how this kind of bootstrap issue is solved on Linux? The
> _dl_allocate_tls code is exactly the same.

Thanks for looking into this! I'm really out of my depth here. Don't
assume that the platform settings in configure.ac are the right ones
either -- I just guesstimated them, and may just as well be something
there.

I'd suggest reaching out to upstream directly on either a GitHub issue,
or their Gitter channel (they're responsive in my experience). Note that
I haven't sent them debian/patches/hurd.patch as it hasn't been
functional so far, so it may be worth prefacing your communication with
the configure.ac settings that we've chosen.

If you succeed into figuring out the root cause and making jemalloc
build, happy to prepare a PR to upstream this.

Regards,
Faidon

Reply via email to