Hi,

version: Current CVS.

I have installed RevTeX4 on my PC (ran hashtex after that).
I opened from Template revtex4.lyx. This goes smoothly.

At the end, before the References section, I've inserted
a BibTeX entry with my own bibtex file and "revtex" as style
(though it also happens when style is "unsrt").
Note: I have not removed the References section; it is still there
together with the BibTeX entry.

I'm also using the same bibtex file with other LyX-docs, so that file
should be okay.

When I open the citation dialog and I click somewhere in that dialog,
LyX crashes abrubtly. The signal is even not caught (no emergency save done).
The following output appears in gdb:


(gdb) run
[...]

assertion "!(pos2 > len2)" failed: file "/usr/include/g++/std/bastring.cc", line
126
Program received signal SIGABRT, Aborted.
0x28526764 in kill () from /usr/lib/libc.so.4
(gdb) bt
#0  0x28526764 in kill () from /usr/lib/libc.so.4
#1  0x285627b6 in abort () from /usr/lib/libc.so.4
#2  0x2853f4ef in __assert () from /usr/lib/libc.so.4
#3  0x8274b2c in basic_string<char, string_char_traits<char>,
__default_alloc_template<false, 0> >::replace (
    this=0xbfbff6f8, pos1=0, n1=4294967295, str=@0xbfbff83c, pos2=4294967295,
n2=51)
    at /usr/include/g++/std/bastring.cc:126
#4  0x823b0e9 in biblio::parseBibTeX (data=0xbfbff83c, findkey=@0xbfbff838)
    at /usr/include/g++/std/bastring.h:216
#5  0x8239015 in biblio::getInfo (map=@0x838b278, key=@0x849b1c8) at
biblio.C:248
#6  0x81d752f in FormCitation::input (this=0x838b2cc, ob=0x84c0500) at
FormCitation.C:254
#7  0x81ce303 in FormBase::InputCB (this=0x838b2cc, ob=0x84c0500, data=0) at
FormBase.C:125
#8  0x81ce76a in C_FormBaseInputCB (ob=0x84c0500, d=0) at FormBase.C:282
#9  0x2835fdaf in fl_object_qread () from /usr/X11R6/lib/libforms.so.0.88
#10 0x2836d28e in fl_check_forms () from /usr/X11R6/lib/libforms.so.0.88
#11 0x81cc841 in GUIRunTime::runTime () at GUIRunTime.C:86
#12 0x80cbcfc in LyXGUI::runTime (this=0x8370200) at lyx_gui.C:323
#13 0x80cc7d2 in LyX::LyX (this=0xbfbffa68, argc=0xbfbffa8c, argv=0xbfbffad8) at
../src/lyx_main.C:176
#14 0x8100d15 in main (argc=1, argv=0xbfbffad8) at ../src/main.C:38
#15 0x80507e5 in _start ()


The assertion that failed in bastring.cc (line 126) is here:
(though this is a system file, not a LyX file !?!)

---------------------------------------------
template <class charT, class traits, class Allocator>
basic_string <charT, traits, Allocator>& 
basic_string <charT, traits, Allocator>::
replace (size_type pos1, size_type n1,
         const basic_string& str, size_type pos2, size_type n2)
{
  const size_t len2 = str.length ();
  
  if (pos1 == 0 && n1 >= length () && pos2 == 0 && n2 >= len2)
    return operator= (str);

  OUTOFRANGE (pos2 > len2);  <-- this is line 126

  if (n2 > len2 - pos2)
    n2 = len2 - pos2;
  
  return replace (pos1, n1, str.data () + pos2, n2);
} 
---------------------------------------------
  

Any ideas what's going wrong?

Regards,
Rob.

Reply via email to