Hi Noel, I just saw this ubsan thing. Looks like there is a mix-up with: if (SfxItemState::SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_POS_X,true,&pPoolItem)) { nPosDX=static_cast<const SfxInt32Item*>(pPoolItem)->GetValue() - aRect.Left(); bChgPos=true; } if (SfxItemState::SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_POS_Y,true,&pPoolItem)){ nPosDY=static_cast<const SfxInt32Item*>(pPoolItem)->GetValue() - aRect.Top(); bChgPos=true; } and so on - and the signed-ness of their types: SfxUInt32Ite vs. SfxInt32Item And I wondered - is that something we could build a table for, and a clang plugin that could catch whenever we do something like: cui/source/tabpages/swpossizetabpage.cxx: rSet->Put( SfxInt32Item( GetWhich( SID_ATTR_TRANSFORM_POS_X ), nHoriByPos ) ); or perhaps harder: chart2/source/controller/main/ChartController_Position.cxx: nWhich = pPool->GetWhich(SID_ATTR_TRANSFORM_POS_X); chart2/source/controller/main/ChartController_Position.cxx- aItemSet.Put(SfxInt32Item(nWhich, nValue)); And warn in the code that the wrong type is going into this pool of 'any's ? =) [ or perhaps we have something like that already? ] Just a thought, Michael. Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1588:16: runtime error: downcast of address 0x6030016eb260 which does not point to an object of type 'const SfxInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: 0x6030016eb260: note: object is of type 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: c7 07 00 62 b0 71 99 c5 2b 7f 00 00 01 00 00 00 68 27 00 be 94 09 00 00 be be be be 01 00 00 00 Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: ^~~~~~~~~~~~~~~~~~~~~~~ Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: vptr for 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1588:16 in Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1588:61: runtime error: member call on address 0x6030016eb260 which does not point to an object of type 'CntInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: 0x6030016eb260: note: object is of type 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: c7 07 00 62 b0 71 99 c5 2b 7f 00 00 01 00 00 00 68 27 00 be 94 09 00 00 be be be be 01 00 00 00 Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: ^~~~~~~~~~~~~~~~~~~~~~~ Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: vptr for 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1588:61 in Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: /home/collabora/online-buildscripts/staging/builddir/libreoffice/include/svl/cintitem.hxx:126:41: runtime error: member access within address 0x6030016eb260 which does not point to an object of type 'const CntInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: 0x6030016eb260: note: object is of type 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: c7 07 00 62 b0 71 99 c5 2b 7f 00 00 01 00 00 00 68 27 00 be 94 09 00 00 be be be be 01 00 00 00 Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: ^~~~~~~~~~~~~~~~~~~~~~~ Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: vptr for 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/collabora/online-buildscripts/staging/builddir/libreoffice/include/svl/cintitem.hxx:126:41 in Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1592:16: runtime error: downcast of address 0x6030020a1300 which does not point to an object of type 'const SfxInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: 0x6030020a1300: note: object is of type 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: c7 07 00 62 b0 71 99 c5 2b 7f 00 00 01 00 00 00 69 27 00 be ec 03 00 00 be be be be 01 00 00 00 Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: ^~~~~~~~~~~~~~~~~~~~~~~ Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: vptr for 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1592:16 in Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: /home/collabora/online-buildscripts/staging/builddir/libreoffice/svx/source/svdraw/svdedtv1.cxx:1592:61: runtime error: member call on address 0x6030020a1300 which does not point to an object of type 'CntInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: 0x6030020a1300: note: object is of type 'SfxUInt32Item' Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: c7 07 00 62 b0 71 99 c5 2b 7f 00 00 01 00 00 00 69 27 00 be ec 03 00 00 be be be be 01 00 00 00 Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: ^~~~~~~~~~~~~~~~~~~~~~~ Jan 18 06:42:13 ip-172-31-35-149 coolwsd[23775]: vptr for 'SfxUInt32Item' -- michael.meeks@xxxxxxxxxxxxx <><, GM Collabora Productivity Hangout: mejmeeks@xxxxxxxxx, Skype: mmeeks (M) +44 7795 666 147 - timezone usually UK / Europe