• Stephan Bergmann's avatar
    Add back still-relevant part of external/graphite/ubsan.patch · a7603be5
    Stephan Bergmann yazdı
    ...which had been removed completely with
    6b847089 "graphite: update to 1.3.12".  See
    <https://ci.libreoffice.org/job/lo_ubsan/1137/>:
    
    > /workdir/UnpackedTarball/graphite/src/gr_face.cpp:98:16: runtime error: downcast of address 0x60f00008c3b0 which does not point to an object of type 'gr_face'
    > 0x60f00008c3b0: note: object is of type 'graphite2::Face'
    >  2a 00 00 61  d0 17 e7 ff 99 2b 00 00  36 00 be be be be be be  88 d8 0e 00 d0 61 00 00  80 38 05 00
    >               ^~~~~~~~~~~~~~~~~~~~~~~
    >               vptr for 'graphite2::Face'
    >     #0 0x2b99fdaae105 in gr_make_face_with_ops /workdir/UnpackedTarball/graphite/src/gr_face.cpp:98:16
    >     #1 0x2b99fdaaeabe in gr_make_face /workdir/UnpackedTarball/graphite/src/gr_face.cpp:107:12
    >     #2 0x2b99fdfd6dc7 in _hb_graphite2_shaper_face_data_create /workdir/UnpackedTarball/harfbuzz/src/hb-graphite2.cc:114:18
    >     #3 0x2b99fdfd62f0 in hb_graphite2_shaper_face_data_ensure /workdir/UnpackedTarball/harfbuzz/src/hb-graphite2.cc:37:1
    >     #4 0x2b99fddb6a10 in hb_shape_plan_create_cached2 /workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:35:1
    >     #5 0x2b99fddb1478 in hb_shape_full /workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:133:33
    >     #6 0x2b99fc5867df in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphs const*) /vcl/source/gdi/CommonSalLayout.cxx:440:23
    >     #7 0x2b99fb2345e4 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const /vcl/source/outdev/text.cxx:1310:36
    >     #8 0x2b99fb236220 in OutputDevice::GetTextArray(rtl::OUString const&, long*, int, int, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const /vcl/source/outdev/text.cxx:960:45
    >     #9 0x2b99fb235c56 in OutputDevice::GetTextWidth(rtl::OUString const&, int, int, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const /vcl/source/outdev/text.cxx:881:19
    >     #10 0x2b99fd105281 in ImplFontMetricData::ImplInitTextLineSize(OutputDevice const*) /vcl/source/font/fontmetric.cxx:325:30
    >     #11 0x2b99fb1c128c in OutputDevice::ImplNewFont() const /vcl/source/outdev/font.cxx:1062:38
    >     #12 0x2b99fb1bd46c in OutputDevice::GetFontFeatures(std::__debug::vector<vcl::font::Feature, std::allocator<vcl::font::Feature> >&) const /vcl/source/outdev/font.cxx:171:10
    >     #13 0x2b9a1a3c8607 in FontFeatureTest::testGetFontFeatures() /vcl/qa/cppunit/FontFeatureTest.cxx:58:5
    >     #14 0x2b9a1a401f2c in void std::__invoke_impl<void, void (FontFeatureTest::*&)(), FontFeatureTest*&>(std::__invoke_memfun_deref, void (FontFeatureTest::*&)(), FontFeatureTest*&) /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/invoke.h:73:14
    >     #15 0x2b9a1a401b0f in std::__invoke_result<void (FontFeatureTest::*&)(), FontFeatureTest*&>::type std::__invoke<void (FontFeatureTest::*&)(), FontFeatureTest*&>(void (FontFeatureTest::*&)(), FontFeatureTest*&) /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/invoke.h:95:14
    >     #16 0x2b9a1a40195c in void std::_Bind<void (FontFeatureTest::* (FontFeatureTest*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/functional:467:11
    >     #17 0x2b9a1a401533 in void std::_Bind<void (FontFeatureTest::* (FontFeatureTest*))()>::operator()<void>() /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/functional:549:17
    >     #18 0x2b9a1a400340 in std::_Function_handler<void (), std::_Bind<void (FontFeatureTest::* (FontFeatureTest*))()> >::_M_invoke(std::_Any_data const&) /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/std_function.h:316:2
    >     #19 0x2b9a1a40259c in std::function<void ()>::operator()() const /home/tdf/lode/opt_private/gcc-7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/std_function.h:706:14
    >     #20 0x2b9a1a3ff580 in CppUnit::TestCaller<FontFeatureTest>::runTest() /workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7
    >     #21 0x2b99d930dab8 in CppUnit::TestCaseMethodFunctor::operator()() const /workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5
    >     #22 0x2b99f39cf332 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /test/source/vclbootstrapprotector.cxx:49:14
    >     #23 0x2b99d92de5fa in CppUnit::ProtectorChain::ProtectFunctor::operator()() const /workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
    >     #24 0x2b99e850d672 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12
    >     #25 0x2b99d92de5fa in CppUnit::ProtectorChain::ProtectFunctor::operator()() const /workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
    >     #26 0x2b99e5130312 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16
    >     #27 0x2b99d92de5fa in CppUnit::ProtectorChain::ProtectFunctor::operator()() const /workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
    >     #28 0x2b99d9273d82 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12
    >     #29 0x2b99d92de5fa in CppUnit::ProtectorChain::ProtectFunctor::operator()() const /workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
    >     #30 0x2b99d92d7f02 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18
    >     #31 0x2b99d93705e5 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28
    >     #32 0x2b99d930c135 in CppUnit::TestCase::run(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13
    >     #33 0x2b99d930ff12 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
    >     #34 0x2b99d930f0ed in CppUnit::TestComposite::run(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
    >     #35 0x2b99d930ff12 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
    >     #36 0x2b99d930f0ed in CppUnit::TestComposite::run(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
    >     #37 0x2b99d939eb32 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27
    >     #38 0x2b99d936f075 in CppUnit::TestResult::runTest(CppUnit::Test*) /workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9
    >     #39 0x2b99d939fa80 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14
    >     #40 0x543813 in (anonymous namespace)::ProtectedFixtureFunctor::run() const /sal/cppunittester/cppunittester.cxx:316:20
    >     #41 0x54027d in sal_main() /sal/cppunittester/cppunittester.cxx:466:20
    >     #42 0x53f26e in main /sal/cppunittester/cppunittester.cxx:373:1
    >     #43 0x2b99daec8444 in __libc_start_main (/lib64/libc.so.6+0x22444)
    >     #44 0x42f454 in _start (/workdir/LinkTarget/Executable/cppunittester+0x42f454)
    >
    > SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /workdir/UnpackedTarball/graphite/src/gr_face.cpp:98:16 in
    >
    > Error: a unit test failed, please do one of:
    >
    > make CppunitTest_vcl_fontfeature CPPUNITTRACE="gdb --args"
    >     # for interactive debugging on Linux
    > make CppunitTest_vcl_fontfeature VALGRIND=memcheck
    >     # for memory checking
    > make CppunitTest_vcl_fontfeature DEBUGCPPUNIT=TRUE
    >     # for exception catching
    >
    > You can limit the execution to just one particular test by:
    >
    > make CPPUNIT_TEST_NAME="testXYZ" ...above mentioned params...
    >
    > /home/tdf/lode/jenkins/workspace/lo_ubsan/solenv/gbuild/CppunitTest.mk:113: recipe for target '/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/CppunitTest/vcl_fontfeature.test' failed
    
    Change-Id: Iccb72ec8a4c507478858ceb5af32b75f5ae53a45
    Reviewed-on: https://gerrit.libreoffice.org/65226
    Tested-by: Jenkins
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    a7603be5
Adı
Son kayıt (commit)
Son güncelleme
..
apache-commons Loading commit data...
apr Loading commit data...
beanshell Loading commit data...
bluez_bluetooth Loading commit data...
boost Loading commit data...
breakpad Loading commit data...
bzip2 Loading commit data...
cairo Loading commit data...
clew Loading commit data...
clucene Loading commit data...
coinmp Loading commit data...
cppunit Loading commit data...
ct2n Loading commit data...
curl Loading commit data...
epm Loading commit data...
epoxy Loading commit data...
expat Loading commit data...
firebird Loading commit data...
fontconfig Loading commit data...
freetype Loading commit data...
glm Loading commit data...
gpgmepp Loading commit data...
graphite Loading commit data...
harfbuzz Loading commit data...
hsqldb Loading commit data...
hunspell Loading commit data...
hyphen Loading commit data...
icu Loading commit data...
jfreereport Loading commit data...
languagetool Loading commit data...
lcms2 Loading commit data...
libabw Loading commit data...
libassuan Loading commit data...
libatomic_ops Loading commit data...
libcdr Loading commit data...
libcmis Loading commit data...
libebook Loading commit data...
libeot Loading commit data...
libepubgen Loading commit data...
libetonyek Loading commit data...
libexttextcat Loading commit data...
libfreehand Loading commit data...
libgpg-error Loading commit data...
libjpeg-turbo Loading commit data...
liblangtag Loading commit data...
libmspub Loading commit data...
libmwaw Loading commit data...
libnumbertext Loading commit data...
libodfgen Loading commit data...
liborcus Loading commit data...
libpagemaker Loading commit data...
libpng Loading commit data...
libqxp Loading commit data...
librevenge Loading commit data...
libstaroffice Loading commit data...
libtommath Loading commit data...
libvisio Loading commit data...
libwpd Loading commit data...
libwpg Loading commit data...
libwps Loading commit data...
libxml2 Loading commit data...
libxslt Loading commit data...
libzmf Loading commit data...
lpsolve Loading commit data...
lxml Loading commit data...
mariadb-connector-c Loading commit data...
mdds Loading commit data...
mdnsresponder Loading commit data...
misc_extensions Loading commit data...
more_fonts Loading commit data...
msc-externals Loading commit data...
mythes Loading commit data...
neon Loading commit data...
nss Loading commit data...
openldap Loading commit data...
openssl Loading commit data...
owncloud-android-lib Loading commit data...
pdfium Loading commit data...
poppler Loading commit data...
postgresql Loading commit data...
python3 Loading commit data...
redland Loading commit data...
rhino Loading commit data...
sane Loading commit data...
serf Loading commit data...
twain_dsm Loading commit data...
ucpp Loading commit data...
unixODBC Loading commit data...
xmlsec Loading commit data...
xsltml Loading commit data...
zlib Loading commit data...
Makefile Loading commit data...
Module_external.mk Loading commit data...
README Loading commit data...