Andre Poenitz wrote:
> 
> Other things to try:
> 
> - add an empty line at the back of lib/symbols
> - check for empty string 'line' after getline in math_factory.C:189
>   ( if (line.empty())
>       continue;
>    just beofre the contruction of the istringstream

Done that, to no avail.

I noticed that my configure output says:
 checking whether the systems std::string is really good... no
Is that of any relevance?


I also added to math_factory.C:226:
-----------------------------------------------
    [...]
226:            lyxerr[Debug::MATHED] << "read symbol '" << tmp.name
227:                                    <<  "  inset: " << tmp.inset
228:                                    <<  "  draw: " << int(tmp.draw[0])
229:                                    <<  "  extra: " << tmp.extra
230:                                    << "'\n";
231:    }
232:lyxerr[Debug::MATHED] << "exit readSymbols" << endl;
233:}
-----------------------------------------------

The output from "lyx -dbg MATHED" is then:

[...]
symbol abuse for #
read symbol '#  inset: mathnormal  draw: 35  extra: special'
exit readSymbols
lyx: SIGSEGV signal caught


Running LyX through gdb, reveals that it exits at the very end of readSymbols:

Program received signal SIGSEGV, Segmentation fault.
0x81c14f4 in {anonymous}::readSymbols (filename=@0xbfbfc814)
    at math_factory.C:232
232     lyxerr[Debug::MATHED] << "exit readSymbols" << endl;


Does that give us a clue? Apparently the "while (fs)"-loop ends without
serious problems, or?
Is there a problem with the destructor of a variable when readSymbols exits?


What do you think?

Rob.

Reply via email to