Abdelrazak Younes wrote:

> Do you have a recipe?

Open the test file from the bug report, click on one label in the master,
edit, press OK. The crash does not occur regularly.

The output I sent was produced after closing LyX (without previous crash,
obviously).

However, I managed to get a backtrace with the above procedure. It seems
MacroData is involved:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb71476d0 (LWP 23509)]
0xb71b2164 in free () from /lib/libc.so.6
(gdb) bt
#0  0xb71b2164 in free () from /lib/libc.so.6
#1  0xb7366a61 in operator delete () from /usr/lib/libstdc++.so.6
#2  0xb735e67d in std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::_Rep::_M_destroy () from /usr/lib/libstdc++.so.6
#3  0x0808d6b2 in std::_Rb_tree<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const, lyx::MacroData>,
std::_Select1st<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
>, std::less<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >,
std::allocator<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
> >::_M_erase (this=0x8b63620, __x=0x8c3b160)
    at /usr/include/c++/4.2.1/bits/basic_string.h:238
#4  0x0808d5b6 in std::_Rb_tree<std::basic_string<wchar_t,
std::char_traits<wchar---Type <return> to continue, or q <return> to
quit---
_t>, std::allocator<wchar_t> >, std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const,
lyx::MacroData>, std::_Select1st<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
>, std::less<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >,
std::allocator<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
> >::_M_erase (this=0x8b63620, __x=0x8c3b130)
    at /usr/include/c++/4.2.1/bits/stl_tree.h:1323
#5  0x0808d5b6 in std::_Rb_tree<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const, lyx::MacroData>,
std::_Select1st<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
>, std::less<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >, std::allocator<std::pair<std::basi---Type
<return> to continue, or q <return> to quit---
c_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
const, lyx::MacroData> > >::_M_erase (this=0x8b63620, __x=0x8c3b700)
    at /usr/include/c++/4.2.1/bits/stl_tree.h:1323
#6  0x0808dd09 in std::_Rb_tree<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::pair<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const, lyx::MacroData>,
std::_Select1st<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
>, std::less<std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >,
std::allocator<std::pair<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const, lyx::MacroData>
> >::operator= (this=0x8b63620, [EMAIL PROTECTED])
    at /usr/include/c++/4.2.1/bits/stl_tree.h:711
#7  0x08075b98 in lyx::Buffer::buildMacros (this=0x8b64578)
    at /usr/include/c++/4.2.1/bits/stl_map.h:228
---Type <return> to continue, or q <return> to quit---
#8  0x080bf076 in lyx::BufferView::update (this=0x89f9828,
    flags=lyx::Update::None) at BufferView.cpp:310
#9  0x081bac64 in lyx::LyXFunc::dispatch (this=0x8888c28, [EMAIL PROTECTED])
    at LyXFunc.cpp:1887
#10 0x08185c9a in lyx::dispatch ([EMAIL PROTECTED]) at LyX.cpp:1513
#11 0x08371a37 in loadIfNeeded ([EMAIL PROTECTED], params=<value optimized
out>)
    at InsetInclude.cpp:410
#12 0x083722b4 in lyx::InsetInclude::getLabelList (this=0x8b77340,
    [EMAIL PROTECTED], [EMAIL PROTECTED]) at InsetInclude.cpp:729
#13 0x08074617 in lyx::Buffer::getLabelList (this=0x8b64578,
[EMAIL PROTECTED])
    at Buffer.cpp:1350
#14 0x08076186 in lyx::Buffer::changeRefsIfUnique (this=0x8b64578,
    [EMAIL PROTECTED], [EMAIL PROTECTED], code=lyx::Inset::REF_CODE)
    at Buffer.cpp:1783
---Type <return> to continue, or q <return> to quit---
#15 0x08379a5e in lyx::InsetLabel::doDispatch (this=0x8b772e0,
[EMAIL PROTECTED],
    [EMAIL PROTECTED]) at InsetLabel.cpp:71
#16 0x0830f6fe in lyx::Inset::dispatch (this=0x8b772e0, [EMAIL PROTECTED],
    [EMAIL PROTECTED]) at Inset.cpp:145
#17 0x081b8302 in lyx::LyXFunc::dispatch (this=0x8888c28, [EMAIL PROTECTED])
    at LyXFunc.cpp:1649
#18 0x08185c9a in lyx::dispatch ([EMAIL PROTECTED]) at LyX.cpp:1513
#19 0x08407263 in lyx::LyXView::dispatch (this=0x898ec8c, [EMAIL PROTECTED])
    at LyXView.cpp:514
#20 0x0859c7f2 in lyx::frontend::Kernel::dispatch (this=0x8a4c13c,
    [EMAIL PROTECTED]) at Kernel.cpp:35
#21 0x085ad1ff in lyx::frontend::ControlCommand::dispatchParams
(this=0x8b87850)
    at ControlCommand.cpp:53
#22 0x0859bdf0 in lyx::frontend::Dialog::apply (this=0x8a4c138)
---Type <return> to continue, or q <return> to quit---
    at Dialog.cpp:130
#23 0x0859bf2b in lyx::frontend::Dialog::OKButton (this=0x8a4c138)
    at Dialog.cpp:46
#24 0x0842decc in lyx::frontend::QDialogView::slotOK (this=0x8b697c8)
    at QDialogView.cpp:108
#25 0x0842df4a in lyx::frontend::QDialogView::qt_metacall (this=0x8b697c8,
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfc41f7c)
    at QDialogView_moc.cpp:74
#26 0xb77010c0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#27 0xb77013d0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#28 0xb7ec5a91 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4
#29 0xb7cb6929 in QAbstractButtonPrivate::emitClicked ()
   from /usr/lib/libQtGui.so.4
#30 0xb7cb6df9 in QAbstractButtonPrivate::click ()
from /usr/lib/libQtGui.so.4

Jürgen

Reply via email to