[Libreoffice-bugs] [Bug 51845] New: crash on undo

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jul 8 00:02:55 CEST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=51845

             Bug #: 51845
           Summary: crash on undo
    Classification: Unclassified
           Product: LibreOffice
           Version: 3.7.0.0.alpha0+ Master
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
        AssignedTo: libreoffice-bugs at lists.freedesktop.org
        ReportedBy: michael.meeks at novell.com


Running vs. master around: 3f281b6f0ad73eae72b77fa4dcab9008b7e14187

After cutting / a big section I did an undo:

#0  0xb7cd756e in __GI_memmove (dest=0x0, src=0x9e5be84, len=56) at
memmove.c:76
#1  0xaf2611ea in __copy_m<SwHistoryHint*> (__last=0x9e5bedc,
__result=<optimized out>, __first=0x9e5be84)
    at /usr/include/c++/4.6/bits/stl_algobase.h:366
#2  __copy_move_a<false, SwHistoryHint**, SwHistoryHint**> (__result=<optimized
out>, __last=0x9e5bedc, __first=0x9e5be84)
    at /usr/include/c++/4.6/bits/stl_algobase.h:384
#3  __copy_move_a2<false, __gnu_cxx::__normal_iterator<SwHistoryHint**,
std::vector<SwHistoryHint*> >, __gnu_cxx::__normal_iterator<SwHistoryHint**,
std::vector<SwHistoryHint*> > > (__result=<optimized out>, __last=...,
__first=...) at /usr/include/c++/4.6/bits/stl_algobase.h:422
#4  copy<__gnu_cxx::__normal_iterator<SwHistoryHint**,
std::vector<SwHistoryHint*> >, __gnu_cxx::__normal_iterator<SwHistoryHint**,
std::vector<SwHistoryHint*> > > (__result=<optimized out>, __last=...,
__first=...) at /usr/include/c++/4.6/bits/stl_algobase.h:454
#5  SwHistory::Move (this=0xbfffdfac, nPos=0, pIns=0x8f70ee8, nStart=1) at
/data/opt/libreoffice/master/sw/source/core/inc/rolbck.hxx:402
#6  0xaf25ee20 in SwUndoDelete::UndoImpl (this=0x9d46cd8, rContext=...) at
/data/opt/libreoffice/master/sw/source/core/undo/undel.cxx:911
#7  0xaf261e09 in SwUndo::UndoWithContext (this=0x9d46cd8, rContext=...) at
/data/opt/libreoffice/master/sw/source/core/undo/undobj.cxx:241
#8  0xb75a6d20 in SfxListUndoAction::UndoWithContext (this=0x9e54710,
i_context=...)
    at /data/opt/libreoffice/master/svl/source/undo/undo.cxx:1334
#9  0xb75a8c97 in SfxUndoManager::ImplUndo (this=0x99afa6c,
i_contextOrNull=0xbfffe148)
    at /data/opt/libreoffice/master/svl/source/undo/undo.cxx:794
#10 0xb75a8def in SfxUndoManager::UndoWithContext (this=0x99afa6c,
i_context=...) at /data/opt/libreoffice/master/svl/source/undo/undo.cxx:761
#11 0xaf25677b in sw::UndoManager::impl_DoUndoRedo (this=0x99afa68,
undoOrRedo=sw::UndoManager::UNDO)
    at /data/opt/libreoffice/master/sw/source/core/undo/docundo.cxx:488
#12 0xaf256878 in sw::UndoManager::Undo (this=0x99afa68) at
/data/opt/libreoffice/master/sw/source/core/undo/docundo.cxx:515
#13 0xaf0feb13 in SwEditShell::Undo (this=0x9be7260, nCount=1) at
/data/opt/libreoffice/master/sw/source/core/edit/edundo.cxx:136
#14 0xaf55b153 in SwWrtShell::Do (this=0x9be7260, eDoType=SwWrtShell::UNDO,
nCnt=1)
    at /data/opt/libreoffice/master/sw/source/ui/wrtsh/wrtundo.cxx:58
#15 0xaf491db0 in SwBaseShell::ExecUndo (this=0x9c33f48, rReq=...) at
/data/opt/libreoffice/master/sw/source/ui/shells/basesh.cxx:493
#16 0xb7737fd6 in CallExec (rReq=..., pFunc=<optimized out>, this=0x9c33f48) at
/data/opt/libreoffice/master/sfx2/inc/sfx2/shell.hxx:199
#17 SfxDispatcher::Call_Impl (this=0x99b6b28, rShell=..., rSlot=..., rReq=...,
bRecord=1 '\001')
    at /data/opt/libreoffice/master/sfx2/source/control/dispatch.cxx:259
#18 0xb7732ded in SfxBindings::Execute_Impl (this=0x9991358, aReq=...,
pSlot=0xaf9b0b18, pShell=0x9c33f48)
    at /data/opt/libreoffice/master/sfx2/source/control/bindings.cxx:1295
#19 0xb7748afe in SfxDispatchController_Impl::dispatch (this=0x9c52008,
aURL=..., aArgs=..., rListener=...)
    at /data/opt/libreoffice/master/sfx2/source/control/unoctitm.cxx:749
#20 0xb77490e3 in SfxOfficeDispatch::dispatch (this=0x9c51dc8, aURL=...,
aArgs=...)
    at /data/opt/libreoffice/master/sfx2/source/control/unoctitm.cxx:378
#21 0xb7343fcd in svt::AsyncAccelExec::impl_ts_asyncCallback (this=0x9caf7a0)
    at
/data/opt/libreoffice/master/svtools/source/misc/acceleratorexecute.cxx:502
#22 0xb69d1e7c in Call (pCaller=0x0, this=0x9caf7a4) at
/data/opt/libreoffice/master/solver/unxlngi6.pro/inc/tools/link.hxx:143
#23 DoEvent_Impl (pEvent=0x0, this=0x9caf7a0) at
/data/opt/libreoffice/master/vcl/source/helper/evntpost.cxx:47
#24 vcl::EventPoster::LinkStubDoEvent_Impl (pThis=0x9caf7a0, pCaller=0x0) at
/data/opt/libreoffice/master/vcl/source/helper/evntpost.cxx:50
#25 0xb6a4bc07 in Call (pCaller=<optimized out>, this=<optimized out>)
    at /data/opt/libreoffice/master/solver/unxlngi6.pro/inc/tools/link.hxx:143
#26 ImplHandleUserEvent (pSVEvent=0x9d430b0) at
/data/opt/libreoffice/master/vcl/source/window/winproc.cxx:2003
#27 ImplWindowFrameProc (pWindow=0x87c3db0, nEvent=22, pEvent=0x9d430b0) at
/data/opt/libreoffice/master/vcl/source/window/winproc.cxx:2575
...
#5  SwHistory::Move (this=0xbfffdfac, nPos=0, pIns=0x8f70ee8, nStart=1) at
/data/opt/libreoffice/master/sw/source/core/inc/rolbck.hxx:402
402            std::copy( itSourceBegin, itSourceEnd, m_SwpHstry.begin() + nPos
);
(gdb) l
397        void Move( sal_uInt16 nPos, SwHistory *pIns,
398                   sal_uInt16 const nStart = 0)
399        {
400            SwpHstry::iterator itSourceBegin = pIns->m_SwpHstry.begin() +
nStart;
401            SwpHstry::iterator itSourceEnd = pIns->m_SwpHstry.end();
402            std::copy( itSourceBegin, itSourceEnd, m_SwpHstry.begin() + nPos
);
403            pIns->m_SwpHstry.erase( itSourceBegin, itSourceEnd );
404        }
405    
406        // helper methods for recording attribute in History
(gdb) p itSourceEnd
$1 = {_M_current = 0x9e5bedc}
(gdb) p *pIns
$2 = {m_SwpHstry = {<std::vector<SwHistoryHint*, std::allocator<SwHistoryHint*>
>> = 
    {<std::_Vector_base<SwHistoryHint*, std::allocator<SwHistoryHint*> >> =
{_M_impl = {<std::allocator<SwHistoryHint*>> = 
    {<__gnu_cxx::new_allocator<SwHistoryHint*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x9e5be80, _M_finish = 0x9e5bedc, 
          _M_end_of_storage = 0x9e5bf00}}, <No data fields>}, <No data
fields>}, m_nEndDiff = 22}

Odd :-)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Libreoffice-bugs mailing list