[Libreoffice-commits] core.git: sw/qa

Stephan Bergmann sbergman at redhat.com
Mon Jul 13 23:21:16 PDT 2015


On 07/10/2015 01:09 PM, Varun wrote:
> commit 6a0efa9873b1a5cae4ae0719a7ae1eee97838168
> Author: Varun <varun.dhall at studentpartner.com>
> Date:   Thu Jul 9 23:33:24 2015 +0530
>
>      Added Test for tdf#80663 table row/column delete undo crash
>
>      Change-Id: Ica62926486831f126cce54d651e230cee3360074
>      Reviewed-on: https://gerrit.libreoffice.org/16901
>      Reviewed-by: Michael Stahl <mstahl at redhat.com>
>      Tested-by: Michael Stahl <mstahl at redhat.com>

Looks like that new test unearthed an undo-related bug, as my asan+ubsan 
build now reproducible fails during CppunitTest_sw_uiwriter with

> sw/source/core/undo/untbl.cxx:997:25: runtime error: downcast of address 0x2b35a17ec0a8 which does not point to an object of type 'SwTableBoxFormat'
> 0x2b35a17ec0a8: note: object is of type 'SwTableFormat'
>  00 00 00 00  90 d9 e5 58 35 2b 00 00  a0 d2 7e a1 35 2b 00 00  f8 b1 7e a1 35 2b 00 00  00 60 6e 97
>               ^~~~~~~~~~~~~~~~~~~~~~~
>               vptr for 'SwTableFormat'
>     #0 0x2b3552aac15e in _SaveTable::CreateNew(SwTable&, bool, bool) sw/source/core/undo/untbl.cxx:997:25
>     #1 0x2b3552af07cd in SwUndoTableNdsChg::UndoImpl(sw::UndoRedoContext&) sw/source/core/undo/untbl.cxx:1801:5
>     #2 0x2b35528ca7b7 in SwUndo::UndoWithContext(SfxUndoContext&) sw/source/core/undo/undobj.cxx:214:5
>     #3 0x2b351a54712b in SfxListUndoAction::UndoWithContext(SfxUndoContext&) svl/source/undo/undo.cxx:1352:9
>     #4 0x2b351a52c2d6 in SfxUndoManager::ImplUndo(SfxUndoContext*) svl/source/undo/undo.cxx:810:13
>     #5 0x2b351a52d805 in SfxUndoManager::UndoWithContext(SfxUndoContext&) svl/source/undo/undo.cxx:778:12
>     #6 0x2b355277e92d in sw::UndoManager::impl_DoUndoRedo(sw::UndoManager::UndoOrRedo_t) sw/source/core/undo/docundo.cxx:483:16
>     #7 0x2b355277fdb3 in sw::UndoManager::Undo() sw/source/core/undo/docundo.cxx:516:16
>     #8 0x2b352b2e85e4 in SwUiWriterTest::testTdf80663() sw/qa/extras/uiwriter/uiwriter.cxx:1283:5
>     #9 0x2b352b46599f in CppUnit::TestCaller<SwUiWriterTest>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:166:6
>     #10 0x2b34eb488a7d in CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5
>     #11 0x2b35037c47a6 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:57:14
>     #12 0x2b34eb443fc7 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:12
>     #13 0x2b34fab4aa96 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88:12
>     #14 0x2b34eb443fc7 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:12
>     #15 0x2b34f6e1cda4 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16
>     #16 0x2b34eb443fc7 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:12
>     #17 0x2b34eb3cb93c in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12
>     #18 0x2b34eb443fc7 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:12
>     #19 0x2b34eb43ff71 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:77:18
>     #20 0x2b34eb50a1b5 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::string const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:181:10
>     #21 0x2b34eb4855d6 in CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:5
>     #22 0x2b34eb48c013 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:5
>     #23 0x2b34eb48af7d in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
>     #24 0x2b34eb48c013 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:5
>     #25 0x2b34eb48af7d in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
>     #26 0x2b34eb548cf6 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:5
>     #27 0x2b34eb508039 in CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:148:3
>     #28 0x2b34eb54a2b6 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::string const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:3
>     #29 0x4fbb5c in (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:276:13
>     #30 0x4f69dd in sal_main() sal/cppunittester/cppunittester.cxx:379:14
>     #31 0x4f4c12 in main sal/cppunittester/cppunittester.cxx:297:1
>     #32 0x2b34ed12578f in __libc_start_main /usr/src/debug/glibc-2.21/csu/libc-start.c:289
>     #33 0x430248 in _start (workdir/LinkTarget/Executable/cppunittester+0x430248)

But it is unclear to me what the fix is supposed to be.


More information about the LibreOffice mailing list