• 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
..
Makefile Loading commit data...
Module_graphite.mk Loading commit data...
README Loading commit data...
StaticLibrary_graphite.mk Loading commit data...
UnpackedTarball_graphite.mk Loading commit data...
ubsan.patch Loading commit data...