Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


On 07/10/2015 01:09 PM, Varun wrote:
commit 6a0efa9873b1a5cae4ae0719a7ae1eee97838168
Author: Varun <varun.dhall@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@redhat.com>
     Tested-by: Michael Stahl <mstahl@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.

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.