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