Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yep, exactly that killed my window manager on stable. I _have_ to use nightlies now, because I need the alloc_jemalloc feature.


How are you using it? jemalloc is already the default.


Really? Last time I checked it still didn't work. Will have to try when I get home.

The problem was that the config is compiled into a dynamic library and gets passed the config struct. The old alloc method kind of died on me when the dynamic library was trying to alter that struct. So I had to enable jemalloc to keep it from crashing.


Hmm. Yeah, I mean, jemalloc is the default allocator, so something must be wonky here. You don't need to explicitly use jemalloc. That's what you get by default.


But that wasn't always the case, right? I think around the time of 1.3/1.4 jemalloc was not the default.


Quite the opposite; jemalloc has been the default, and using the system allocator has been the "hassle" since well before 1.0.

However a few key platforms have jemalloc disabled because it's buggy (deadlocks or worse). I think as of a few days ago it's pretty much universally off on windows.

Also whether jemalloc is used depends on how you build your thing -- dylibs use the system allocator (because they're subordinate), static libs (rlibs) inherit from the thing they're linked into, and executables use jemalloc (because they're in control).


Then that's the reason. The config is a dylib, so I have to force it into using jemalloc, which I cannot do when using stable.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: