Hi
For a couple of weeks I have been working on a document of about 50 pages (pdf 
version) and have experienced about 6 crashes of Lyx in that time. I posted 
this list when it first happened a couple of times. At the time I had 
believed the problem may have been caused by some rather long tables and by 
the use of the Page Up/Page Down controls. The use of these seemed to 
correlate with the crash, which in every case, left an emergency save of the 
document. Tables in general seem to depict some problem in this version of 
Lyx.

I have since been working on a much smaller document. Martin Vermeer advised 
me to get a core dump on the next occasion that I got a crash. That has been 
done and the core dump and Martin's comments are included below.

All I would add to this is that this was not preceded by the use of the 
PageUp/Page Down keys and neither was I involved in an Undo operation 
immediately before the crash to the best of my recollection.

regards

samar



Comments by Martin Vermeer
Yes... you found a Real Bug :-) Apparently in the Undo facility, that
does something illegal with a paragraph. Somewhere in there a new
paragraph is created by "cloning", but then it fails to copy over the
font table of the old paragraph, because it doesn't exist. Does this
make sense to you from what you were doing at the point of crash?

Anyway I don't see the solution rightaway, and propose you post your
backtrace to the lyx-devel list. Thanks for the effort!

Regards

Martin





#0  0xb76be9e7 in raise () from /lib/tls/libc.so.6
#1  0xb76c031b in abort () from /lib/tls/libc.so.6
#2  0x083d7d1b in lyx::support::abort () at abort.C:22
#3  0x081157d8 in error_handler (err_sig=11) at lyx_main.C:381
#4  <signal handler called>
#5  0x08174818 in 
std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<Paragraph::Pimpl::FontTable
 
const*, std::vector<Paragraph::Pimpl::FontTable, 
std::allocator<Paragraph::Pimpl::FontTable> > >, 
Paragraph::Pimpl::FontTable*> (__first=
      {<std::iterator<std::random_access_iterator_tag, 
Paragraph::Pimpl::FontTable, int, Paragraph::Pimpl::FontTable const*, 
Paragraph::Pimpl::FontTable const&>> = {<No data fields>}, _M_current = 
0x86a1118}, __result=0xb703a008) at new:92
#6  0x08174497 in std::vector<Paragraph::Pimpl::FontTable, 
std::allocator<Paragraph::Pimpl::FontTable> >::operator= (this=0x8676a4c, 
[EMAIL PROTECTED]) at stl_uninitialized.h:109
#7  0x081717dc in Pimpl (this=0x8676a48, [EMAIL PROTECTED], owner=0xb70abff8)
    at paragraph_pimpl.C:75
#8  0x0816866d in Paragraph (this=0x8699e5c, [EMAIL PROTECTED]) at 
paragraph.C:87
#9  0x08083a00 in 
std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<Paragraph const*, 
std::vector<Paragraph, std::allocator<Paragraph> > >, Paragraph*> (__first=
      {<std::iterator<std::random_access_iterator_tag, Paragraph, int, 
Paragraph const*, Paragraph const&>> = {<No data fields>}, _M_current = 
0x86c8d24}, __result=0x8699e18)
    at new:92
---Type <return> to continue, or q <return> to quit---
#10 0x081ad407 in (anonymous namespace)::doRecordUndo (kind=ATOMIC, 
[EMAIL PROTECTED],
    first_pit=130, last_pit=131, [EMAIL PROTECTED], [EMAIL PROTECTED],
    isFullBuffer=false, [EMAIL PROTECTED]) at stl_uninitialized.h:109
#11 0x081adac7 in (anonymous namespace)::textUndoOrRedo ([EMAIL PROTECTED],
    [EMAIL PROTECTED], [EMAIL PROTECTED]) at undo.C:153
#12 0x081ae031 in textUndo ([EMAIL PROTECTED]) at undo.C:219
#13 0x0806f87a in BufferView::Pimpl::dispatch (this=0x857bd90, 
[EMAIL PROTECTED])
    at BufferView_pimpl.C:1110
#14 0x08063c6a in BufferView::dispatch (this=0xb70abff8, [EMAIL PROTECTED])
    at BufferView.C:230
#15 0x0812f728 in LyXFunc::dispatch (this=0x85b8a88, [EMAIL PROTECTED]) at 
lyxfunc.C:1580
#16 0x0812606e in LyXFunc::processKeySym (this=0x85b8a88, keysym=
        {px = 0x86a83c0, pn = {pi_ = 0x86bddc8}}) at lyxfunc.C:326
#17 0x0806bdc0 in BufferView::Pimpl::workAreaKeyPress (this=0x857bd90, 
key=Cannot access memory at address 0xb
)
    at LyXView.h:83
#18 0x080727c5 in 
boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, 
boost::_mfi::mf2<void, BufferView::Pimpl, boost::shared_ptr<LyXKeySym>, 
key_modifier::state>, 
boost::_bi::list3<boost::_bi::value<BufferView::Pimpl*>, boost::arg<1>, 
boost::arg<2> > >, void, boost::shared_ptr<LyXKeySym>, 
key_modifier::state>::invoke (
    function_obj_ptr=
      {obj_ptr = 0x85b4cc0, const_obj_ptr = 0x85b4cc0, func_ptr = 0x85b4cc0, 
data = "À"},---Type <return> to continue, or q <return> to quit---
 a0={px = 0x86a1118, pn = {pi_ = 0x86a1118}}, a1=ctrl) at shared_count.hpp:124
#19 0x08388b75 in boost::function2<void, boost::shared_ptr<LyXKeySym>, 
key_modifier::state, std::allocator<void> >::operator() (this=0x85bad44, a0=
        {px = 0x86a83c0, pn = {pi_ = 0x86bddc8}}, a1=3070935032) at 
shared_count.hpp:124
#20 0x0838890f in 
boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound2<void>::caller<boost::shared_ptr<LyXKeySym>,
 
key_modifier::state, boost::function<void ()(boost::shared_ptr<LyXKeySym>, 
key_modifier::state), std::allocator<void> > >, 
boost::signals::detail::named_slot_map_iterator>, 
boost::signals::detail::unusable, boost::single_pass_traversal_tag, 
boost::signals::detail::unusable const&, int> ([EMAIL PROTECTED]) at 
shared_count.hpp:124
#21 0x08387f8c in boost::signal2<void, boost::shared_ptr<LyXKeySym>, 
key_modifier::state, boost::last_value<void>, int, std::less<int>, 
boost::function<void ()(boost::shared_ptr<LyXKeySym>, key_modifier::state), 
std::allocator<void> > >::operator() (this=0x85b8c3c,
    a1={px = 0x86b4a88, pn = {pi_ = 0xb7fa48f4}}, a2=3070935032)
    at iterator_facade.hpp:152
#22 0x08386798 in QContentPane::keyeventTimeout (this=0x85b7d18) at 
shared_count.hpp:124
#23 0x0838fbe8 in QContentPane::qt_invoke (this=0x85b7d18, _id=47, 
_o=0xbffff13c)
    at QContentPane_moc.C:91
#24 0xb7af9c5f in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#25 0xb7afa743 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#26 0xb7e8c2b5 in QTimer::timeout () from /usr/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#27 0xb7b1f1a4 in QTimer::event () from /usr/lib/libqt-mt.so.3
#28 0xb7a8f778 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#29 0xb7a8f996 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#30 0xb7a1f665 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#31 0xb7a80a44 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#32 0xb7a333f8 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#33 0xb7aa7ea2 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#34 0xb7aa7dcb in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#35 0xb7a8e305 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#36 0x082c4ef9 in lyx_gui::start ([EMAIL PROTECTED], [EMAIL PROTECTED]) at 
lyx_gui.C:248
#37 0x08114ec0 in LyX::priv_exec (this=0x84e7f40, [EMAIL PROTECTED], 
argv=0xbffffaa4)
    at lyx_main.C:280
#38 0x08114651 in LyX::exec ([EMAIL PROTECTED], argv=0xb70abff8) at 
scoped_ptr.hpp:93
#39 0x0806251f in main (argc=2, argv=0xbffffaa4) at main.C:47

Reply via email to