[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