jemalloc 3.5.0 regressions on i586

Jason Evans jasone at
Wed Jan 29 11:09:29 PST 2014

On Jan 29, 2014, at 4:28 AM, İsmail Dönmez <ismail at> wrote:
> I have 2 new failures:
> thd_start:test/unit/prof_accum.c:83: Failed assertion: (bt_count_prev+(i-i_prev)) <= (bt_count) --> 6 > 1: thd_start

I'm guessing that this is due to the compiler being especially intelligent regarding mutual recursion for alloc_[01](), and I just added noinline attributes for those functions:

However, if the compiler is being that smart, it may also be smart enough to do tail call optimization despite an attempt in the code to thwart optimization.  It appears that the gcc flag to disable this is -fno-optimize-sibling-calls, but I'm reluctant to resort to that unless the noinline attribute fails to do the job.

> [test_alignment_errors:test/integration/allocm.c:60: Failed assertion: (allocm(&p, &rsz, sz, (ffs(alignment)-1))) != (0) --> 0 == 0: test_alignment_errors

This is the equivalent failure to the mallocx failure you hit before.  Fixed:

Testing is hard.  I am continually amazed by how much variation there is in compiler warnings and other behaviors, even between minor compiler revisions.  That said, most of the issues you hit are unique to 32-bit systems, so I really need to set up a 32-bit test system prior to the next release.


More information about the jemalloc-discuss mailing list