Hi,

here are a few more error reports. IMHO such errors should not occur
under all circumstances. Probably, something very bad is happening
internally...

Open a new file and add just a few parahraphs with text "aaa". Mark the
whole text and try to cut it:


      UMR: Uninitialized memory read
      This is occurring while in:
            bool LyXParagraph::HasSameLayout(const LyXParagraph*)
[paragraph.C:1807]
            void LyXText::CutSelection(bool) [text2.C:2005]
            void BufferView::cut() [lyx_cb.C:2441]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:846]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]
      Reading 4 bytes from 0xe52de0 in the heap.
      Address 0xe52de0 is 96 bytes into a malloc'd block at 0xe52d80 of
260 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            c2n6Fi_Pv_     [libCrun.so.1]
            void*operator new(unsigned) [rtlib.o]
            void LyXParagraph::BreakParagraphConservative(int)
[paragraph.C:1842]
            void LyXText::CutSelection(bool) [text2.C:1940]
            void BufferView::cut() [lyx_cb.C:2441]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:846]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]

      [Suppressed] UMR: Uninitialized memory read
         Suppressed in /home/schmitt/.purify [line 24]
      This is occurring while in:
            bool LyXParagraph::HasSameLayout(const LyXParagraph*)
[paragraph.C:1807]
            void LyXText::CutSelection(bool) [text2.C:2005]
            void BufferView::cut() [lyx_cb.C:2441]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:846]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]
      Reading 4 bytes from 0xe55b08 in the heap.
      Address 0xe55b08 is 96 bytes into a malloc'd block at 0xe55aa8 of
260 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            c2n6Fi_Pv_     [libCrun.so.1]
            void*operator new(unsigned) [rtlib.o]
            Buffer*BufferList::newFile(const
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&,std::basic_string<char,std::char_traits<char>,std::allocator<char> >) 
>[bufferlist.C:527]
            void LyXFunc::MenuNew(bool) [lyxfunc.C:2531]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:672]
            void Menus::ShowFileMenu2(flobjs_*,long) [menus.C:764]
            C_Menus_ShowFileMenu2 [menus.C:73]
            fl_object_qread [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]

Do "undo", then do "redo":

      FMR: Free memory read
      This is occurring while in:
            LyXParagraph*LyXParagraph::Previous() [paragraph.C:1604]
            Row*LyXText::GetRow(LyXParagraph*,int,long&)const
[text.C:4097]
            void LyXText::RemoveRow(Row*)const [text2.C:270]
            void LyXText::RedoParagraphs(const LyXCursor&,const
LyXParagraph*)const [text2.C:855]
            bool LyXText::TextHandleUndo(Undo*) [text2.C:3497]
            bool LyXText::TextRedo() [text2.C:3380]
            void BufferView::menuRedo() [lyx_cb.C:2147]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:826]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]
      Reading 4 bytes from 0xf4789c in the heap.
      Address 0xf4789c is 188 bytes into a freed  block at 0xf477e0 of
260 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            c2n6Fi_Pv_     [libCrun.so.1]
            void*operator new(unsigned) [rtlib.o]
            LyXParagraph*LyXParagraph::Clone()const [paragraph.C:1773]
            Undo*LyXText::CreateUndo(Undo::undo_kind,const
LyXParagraph*,const LyXParagraph*)const [text2.C:3598]
            void LyXText::SetUndo(Undo::undo_kind,const
LyXParagraph*,const LyXParagraph*)const [text2.C:3535]
            void LyXText::CutSelection(bool) [text2.C:1830]
            void BufferView::cut() [lyx_cb.C:2441]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:846]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]
      There have been 31 frees since this block was freed from:
            free           [rtlib.o]
            c2k6FPv_v_     [libCrun.so.1]
            void operator delete(void*) [rtlib.o]
            bool LyXText::TextHandleUndo(Undo*) [text2.C:3436]
            bool LyXText::TextRedo() [text2.C:3380]
            void BufferView::menuRedo() [lyx_cb.C:2147]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:826]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]


Ok, we start from scratch. New lyx started.

New file; add a few pars with text "aaa"; mark one of the pars in the
middle as "list"; cut everything; insert again. Voila:


      UMR: Uninitialized memory read
      This is occurring while in:
            bool LyXParagraph::HasSameLayout(const LyXParagraph*)
[paragraph.C:1807]
            void LyXText::PasteSelection() [text2.C:2362]
            void BufferView::paste() [lyx_cb.C:2460]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:834]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]
      Reading 4 bytes from 0xe59de8 in the heap.
      Address 0xe59de8 is 96 bytes into a malloc'd block at 0xe59d88 of
260 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            c2n6Fi_Pv_     [libCrun.so.1]
            void*operator new(unsigned) [rtlib.o]
            void LyXParagraph::BreakParagraph(int,int)
[paragraph.C:1655]
            void LyXText::BreakParagraph(char) [text.C:1402]
           
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>LyXFunc::Dispatch(int,const char*) [lyxfunc.C:1751]
            int LyXFunc::processKeyEvent(_XEvent*) [lyxfunc.C:285]
            int LyXView::KeyPressMask_raw_callback(forms_*,void*)
[LyXView.C:361]
            C_LyXView_KeyPressMask_raw_callback [LyXView.C:395]
            do_interaction_step [libforms.a]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            void LyXGUI::runTime() [lyx_gui.C:635]
            LyX::LyX(int*,char**) [lyx_main.C:129]
            main           [main.C:43]
            _start         [crt1.o]


I think I should stop here. These bugs will probably cause enough work
for the next couple of days.

Michael

-- 
======================================================================
Michael Schmitt                            phone:     +49 451 500 3725
Institute for Telematics                   secretary: +49 451 500 3721
Medical University of Luebeck              fax:       +49 451 500 3722
Ratzeburger Allee 160              eMail: [EMAIL PROTECTED]
D-23538 Luebeck, Germany           WWW:   http://www.itm.mu-luebeck.de
======================================================================

S/MIME Cryptographic Signature

Reply via email to