For those unaware, the Apple guys have added "debug" versions of the STL
stuff to gcc (well it's still a patch currently).

I think we're really going to have fun with this one. New file triggers
an assertion, it's a bug just waiting to kill us it seems :

/usr/local/gcc-cvs/include/c++/3.4/debug/safe_iterator.h:180: error:
attempt
    to dereference a past-the-end iterator.


Objects involved in the operation:
iterator "this" @ 0xbfffdd60 {
  type =
NSt7__debug14_Safe_iteratorISt14_List_iteratorI3RowRS2_PS2_ESt11_Debug_listIS2_SaIS2_EEEE
(mutable iterator);
  state = past-the-end;
  references sequence with type `St11_Debug_listI3RowSaIS0_EE' @
0x867c2bc
}

(gdb) bt
#0  0x42028851 in kill () from /lib/i686/libc.so.6
#1  0x40801f4d in raise () from /lib/i686/libpthread.so.0
#2  0x420284f4 in raise () from /lib/i686/libc.so.6
#3  0x42029beb in abort () from /lib/i686/libc.so.6
#4  0x408da014 in std::__debug::_Error_formatter::_M_error() const
(this=0xbfffdba0) at ../../../../libstdc++-v3/src/debug.cc:547
#5  0x081898d2 in std::__debug::_Safe_iterator<std::_List_iterator<Row,
Row&, Row*>, std::_Debug_list<Row, std::allocator<Row> > >::operator->()
const (this=0xbfffdbc0)
    at /usr/local/gcc-cvs/include/c++/3.4/debug/formatter.h:368
#6  0x0820245f in
LyXText::prepareToPrint(std::__debug::_Safe_iterator<std::_List_iterator<Row,
Row&, Row*>, std::_Debug_list<Row, std::allocator<Row> > >, int&, int&,
int&, int&, bool) const (this=0x40808e80, rit=
          {<_Safe_iterator_base> = {_M_sequence = 0x867c2c4, _M_version
= 1, _M_prior = 0xbfffdd60, _M_next = 0xbfffdfc0}, _M_current =
{<_List_iterator_base> = {_M_node = 0x859e8d8}, <No data fields>}},
[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], bidi=false) at text.C:1908
#7  0x081fe5a7 in
LyXText::setHeightOfRow(std::__debug::_Safe_iterator<std::_List_iterator<Row,
Row&, Row*>, std::_Debug_list<Row, std::allocator<Row> > >)
(this=0x867c040, rit=
          {<_Safe_iterator_base> = {_M_sequence = 0x867c2c4, _M_version
= 1, _M_prior = 0xbfffdfc0, _M_next = 0xbfffe140}, _M_current =
{<_List_iterator_base> = {_M_node = 0x859e8d8}, <No data fields>}}) at
text.C:1322
#8  0x081fe8fa in
LyXText::appendParagraph(std::__debug::_Safe_iterator<std::_List_iterator<Row,
Row&, Row*>, std::_Debug_list<Row, std::allocator<Row> > >)
(this=0x867c040, rowit=
          {<_Safe_iterator_base> = {_M_sequence = 0x867c2c4, _M_version
= 1, _M_prior = 0xbfffe140, _M_next = 0xbfffe1b0}, _M_current =
{<_List_iterator_base> = {_M_node = 0x859e8d8}, <No data fields>}}) at
text.C:1363
#9  0x0820a0e4 in
LyXText::insertParagraph(std::__debug::_Safe_iterator<std::_List_iterator<Paragraph,
Paragraph&, Paragraph*>, std::_Debug_list<Paragraph,
std::allocator<Paragraph> > >,
std::__debug::_Safe_iterator<std::_List_iterator<Row, Row&, Row*>,
std::_Debug_list<Row, std::allocator<Row> > >) (this=0x867c040,
pit=Cannot access memory at address 0x0
) at text2.C:301
#10 0x08209218 in LyXText::init(BufferView*) (this=0x867c040,
bview=0xbfffe1d0) at text2.C:101

Reply via email to