|
From: Julian S. <js...@ac...> - 2006-09-14 22:54:39
|
On Thursday 14 September 2006 23:36, Nicholas Nethercote wrote: > On Thu, 14 Sep 2006 sv...@va... wrote: > > +3.2.1 adds x86/amd64 support for all SSE3 instructions except monitor > > +and mwait, further reduces memcheck's false error rate on all > > +platforms, adds support for recent binutils (in OpenSUSE 10.2 and > > +Fedora Rawhide) and fixes a bunch of bugs in 3.2.0. Some of the fixed > > +bugs were causing large programs to segfault with --tool=callgrind and > > +--tool=cachegrind, so an upgrade is recommended. > > I don't think there were any problems with Cachegrind, were there? Well, the message is a bit misleading, but at least concise. In fact there were no problems with either cachegrind, callgrind, or any other tool. The problem was that the core's handling of sys_mremap (a horrible syscall) was wrong (my mistake). Turns out that glibc's realloc is the only real user of sys_mremap; hence memcheck and massif were unaffected, because they provide their own realloc implementation and hence don't use sys_remap; but all the other tools were susceptible to the problem. Please do feel free to rephrase it if you want. http://bugs.kde.org/show_bug.cgi?id=129866 if you want the gory details. It took a long time to track this down, and the reporter did a great job of reducing his huge Ada app to a tractable test case. Later I found out that some other folks running a multi-million LOC app on callgrind were also experiencing segfaults which were fixed by this bugfix. So it struck more than once. J |