Jemalloc assertion failing in latest UNSTABLE


I’m using Ocaml and with the latest version of TrueOS, running a binary that is compiled with the byte code interpreter built in, I’m getting the following error:

<jemalloc>: jemalloc_rtree.c:205: Failed assertion: "!dependent || leaf != NULL"

This works fine on 12.0-CURRENT-up-20170704_044036, but I have not tested every boot env between that and what I’m running now.

Also, if I compile the binary on the working BE and then run it on the broken BE, it runs fine. It’s just building it on the broken version of TrueOS I see this behaviour.

Has anything changed in jemalloc that could explain this? I am using the same version of Ocaml and all my Ocaml deps in both cases.

Note, I am using Ocaml via opam, so not the system Ocaml.


jemalloc would be upstream, from FreeBSD proper. It could be that the Ocaml “compiler” needs to be rebuilt or updated for the newer version of FreeBSD that TrueOS is using.


Recompiling everything worked. Thanks for the suggestion.


not a problem. It’s a side effect of TrueOS tracking 12-Current: sometimes things get broken. kernel ABI is roughly constant, but occasionally changes. Backwards compatibility is usually kept (your “…build on working BE” statement), so older stuff will run, but newly built, you need to rebuild all the toolchain involved.