I get a core dump instantly when starting up the current CVS lyx.
I have tracked down the problem to language.C's LangInit::initL() and the
line:
if (languages.find(lyxrc.default_language) == languages.end()) {
The problem lies with lyxrc.default_language. Modifying the source slightly
to:
std::cerr << "got to here 2" << std::endl;
std::cerr << "lyxrc.default_language " << lyxrc.default_language <<
std::endl;
if (languages.find(lyxrc.default_language) == languages.end()) {
gdb is not much help:
(gdb) r
Starting program: /usr/users/aleem/OTHERS_CODE/lyx/devel/src/lyx
got to here 1
got to here 2
lyxrc.default_language Memory fault(coredump)
But dbx does better:
(dbx) r
got to here 1
got to here 2
lyxrc.default_language signal Segmentation fault at
[length__CQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__TvXv:1703
+0x8,0x1200e6034]
(dbx) where
> 0
length__CQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__TvXv(this
= 0x14006cf90) ["/usr/include/cxx/string~alt~deccxx_17E4996F":1703,
0x1200e6034]
1
size__CQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__TvXv(this
= 0x14006cf90) ["/usr/include/cxx/string~alt~deccxx_17E4996F":852,
0x1200e5ffc]
2
__ls__3stdXRQ13std40basic_ostream__TcQ13std15char_traits__TcRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tv(os
= @1400704d8, s = @14006cf90) ["/usr/include/cxx/ostream.cc":1720,
0x1200e6068]
3 initL__8LangInitXv(this = 0x14006a760) ["language.C":131, 0x1201aeba0]
4 __ct__8LangInitXv(this = 0x14006a760) ["language.C":34, 0x1201add2c]
5 __init_sti__language_C_a0d15379() ["language.C":143, 0x1201aef08]
(dbx) quit
First, can someone explain the last few lines of language.C:
static
LangInit langinit;
bool LangInit::init = false;
Commenting them out allowed lyx to start, but loading the first document
causes a similar problem:
(gdb) r
Starting program: /usr/users/aleem/OTHERS_CODE/lyx/devel/src/lyx
Program received signal SIGSEGV, Segmentation fault.
0x12031faa0 in
__as__Q13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__TvXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tv
()
(gdb) where
#0 0x12031faa0 in
__as__Q13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__TvXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tv
()
#1 0x12018ffb8 in __ct__12BufferParamsXv ()
#2 0x12017a36c in
__ct__6BufferXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tvjb
()
#3 0x12018cd2c in
newBuffer__13BufferStorageXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tvjb
()
#4 0x12018e1dc in
readFile__10BufferListXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tvjb
()
#5 0x12018eff4 in
loadLyXFile__10BufferListXRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tvjb
()
#6 0x1201d6a30 in
Dispatch__7LyXFuncXiRCQ13std60basic_string__TcQ13std15char_traits__TcQ13std13allocator__Tv
()
#7 0x1202c7af0 in MenuCallback__Q17Menubar5PimplXP7flobjs_l ()
#8 0x1202c784c in C_Menubar_Pimpl_MenuCallback ()
#9 0x3ffbff3e87c in fl_object_qread () from /usr/local/lib/libforms.so.0.89
#10 0x3ffbff538e0 in fl_check_forms () from /usr/local/lib/libforms.so.0.89
#11 0x1202c16bc in runTime__10GUIRunTimeXv ()
#12 0x1201c088c in runTime__6LyXGUIXv ()
#13 0x1201c3394 in __ct__3LyXXPiPPc ()
#14 0x1201f7e0c in main ()
(gdb) quit
Any ideas?
Angus