Hi all, Unfortunately that was the case - I definitely went down the wrong path with that merge.
I've reverted it now - the commit can be found on http://cgit.freedesktop.org/libreoffice/core/commit/?id=b4b0cc2a5eef42434444e51fda4a13fc48183aa0 I need to check that UBSan tool more regularly. But I definitely have to put my hand up for causing these errors. Apologies for this, I will do my level best not to let this occur again. When I'm back home I've been meaning to send a post to the list summarising how font handling works and some ideas and questions around the code. Thanks all (especially Caolon and Stephan)! Chris > On 12 Jan 2016, at 7:20 PM, Stephan Bergmann <sberg...@redhat.com> wrote: > >> On 01/11/2016 06:29 PM, Caolán McNamara wrote: >> commit c93a43c0c9113bc1c787fe6b3c5e58a8bfd80be0 >> Author: Caolán McNamara <caol...@redhat.com> >> Date: Mon Jan 11 17:08:39 2016 +0000 >> >> initialize new member variables >> >> Change-Id: I3839bc134b337ccb7cfdb2ee70524e4721c8f83c >> >> diff --git a/vcl/source/font/fontattributes.cxx >> b/vcl/source/font/fontattributes.cxx >> index be3ab68..49060f0 100644 >> --- a/vcl/source/font/fontattributes.cxx >> +++ b/vcl/source/font/fontattributes.cxx >> @@ -93,7 +93,18 @@ bool >> FontAttributes::CompareDeviceIndependentFontAttributes(const FontAttributes >> } >> >> FontAttributes::FontAttributes() >> - : mnWidth ( 0 ) >> + : meWeight(WEIGHT_DONTKNOW) >> + , meItalic(ITALIC_DONTKNOW) >> + , meFamily(FAMILY_DONTKNOW) >> + , mePitch(PITCH_DONTKNOW) >> + , meWidthType(WIDTH_DONTKNOW) >> + , mbSymbolFlag(false) >> + , mnQuality(0) >> + , mbOrientation(false) >> + , mbDevice(false) >> + , mbSubsettable(false) >> + , mbEmbeddable(false) >> + , mnWidth ( 0 ) >> , mnOrientation( 0 ) >> , mnAscent( 0 ) >> , mnDescent( 0 ) > [...] > > Tools like UBSan or Valgrind's memcheck started to complain about reads of > uninitialized members after a series of commits that merged font-related > structs in VCL together. What looked fishy is that those members had not > been default-initialized in the original structs, the number of setter calls > had not changed, and yet the code started to grow uninitialized reads of the > members. Without a clear understanding of what was going on, we were > reluctant to blindly default-initialize those members now, as it might hide > problems (at least from the eyes of UBSan and Valgrind) instead of fixing > them. > > Now, as I understand, Chris is going to revert those merges, as he came to > the conclusion that they went in the wrong direction after all, and I assume > that will obsolete the above potentially problematic commit anyway. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice