Just got crash with 2.0.4svn. Can't reproduce, but the original steps were 
something like:

0) cursor inside caption of float
1) trying to select text from note inset at bottom of page (as well in the 
caption) via mouse; perhaps
   the movement was too fast and downward scrolling occurred while holding mouse
2) kaboom.

Core backtrace:
#0  0xb66f972f in ?? ()
#1  0xbfea6938 in ?? ()
#2  0xb66f978e in ?? ()
#3  0x0b6ed1fc in ?? ()
#4  0x080d7ac1 in operator-- (this=<optimized out>) at 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/include/g++-v4/bits/stl_tree.h:274
#5  operator* (this=<optimized out>) at 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/include/g++-v4/bits/stl_iterator.h:157
#6  operator-> (this=<optimized out>) at 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/include/g++-v4/bits/stl_iterator.h:167
#7  lyx::TextMetrics::last (this=0xb6ed1ec) at TextMetrics.cpp:163
#8  0x083daeb4 in lyx::frontend::GuiWorkArea::generateSyntheticMouseEvent 
(this=0xab3ced8) at GuiWorkArea.cpp:954
#9  0x085d0d7d in named_slot_map_iterator (other=<optimized out>, 
this=<optimized out>)
    at /usr/include/boost/signals/detail/named_slot_map.hpp:102
#10 equal (other=<optimized out>, this=<optimized out>) at 
/usr/include/boost/signals/detail/slot_call_iterator.hpp:75
#11 
equal<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void()>
 >, boost::signals::detail::named_slot_map_iterator>, 
boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void()>
 >, boost::signals::detail::named_slot_map_iterator> > (f2=<optimized out>, 
f1=<optimized out>)
    at /usr/include/boost/iterator/iterator_facade.hpp:535
#12 
operator!=<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void()>
 >, boost::signals::detail::named_slot_map_iterator>, 
boost::signals::detail::unusable, boost::single_pass_traversal_tag, const 
boost::signals::detail::unusable&, int, 
boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void()>
 >, boost::signals::detail::named_slot_map_iterator>, 
boost::signals::detail::unusable, boost::single_pass_traversal_tag, const 
boost::signals::detail::unusable&, int> (rhs=<optimized out>, lhs=<optimized 
out>) at /usr/include/boost/iterator/iterator_facade.hpp:837
#13 
operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function<void()>
 >, boost::signals::detail::named_slot_map_iterator> > (last=<optimized out>, 
first=<optimized out>, this=<optimized out>)
    at /usr/include/boost/last_value.hpp:48
#14 boost::signal0<void, boost::last_value<void>, int, std::less<int>, 
boost::function<void ()> >::operator()() (this=0xab3cf30)
    at /usr/include/boost/signals/signal_template.hpp:354
#15 0x0861d4fb in ?? () at /usr/include/boost/signals/signal_template.hpp:142
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Maybe endless loop in lyx::TextMetrics::last, don't now this part of code.
Pavel

Reply via email to