<div dir="ltr"><div dir="ltr">Two important fixes have gone into master with a version of them also brought in to the release branch.  The first is a floating point bug related to a (long time) known hardware issue on Intel CPUs.  We thought we had fixed this bug ages ago, but it turns out we didn't so it is being fixed permanently with the removal of the of the remainder of the FP switching heuristic.<div><br></div><div>If you do not want to update immediately, you can fix the problem live with a simple sysctl:<br></div><div><br></div><div>sysctl machdep.npx_fpu_heuristic=1<br><div><br></div><div>or put 'machdep.npx_fpu_heuristic=1' in your /etc/sysctl.conf and reboot.</div><div><br></div><div>--</div><div><br></div><div>The second bug is related to mmap()s MAP_STACK feature, which a number of interpreted languages use, in particular 'ruby'.   The kernel was not handling several of the cases properly.  In addition to fixing that case, we have also basically stopped allowing user programs to create grow-down segments in memory any more.  We do this by converting MAP_STACK into a normal anonymous mapping.</div><div><br></div><div>The grow-down feature will ultimately be removed entirely as it is not really applicable to 64-bit systems, but because the -release threading libraries still assume that the main user stack uses this mode, it will be another one or two release cycles before we actually scrap it completely.</div><div><br></div><div>This fix requires updating sources and building and installing a new kernel.</div><div><br></div><div>--</div><div><br></div><div>This work is in both master and the release branch.  No sub-release has been scheduled for the release branch at this time, we need to talk about it internally a bit first.</div></div><div><br></div><div>Thanks for the bug reports everyone!</div><div><br></div><div>-Matt</div></div></div>