On 05/30/2014 02:28 PM, Richard Heck wrote:
In a different thread, Paul Rubin reported the same crash
(\begin_inset Tabular) that we've seen from other people but also
reports that he does NOT have auto-save enabled. Since auto-save has
been the target of suspicion, that's an important datum.
In his case, and in some other cases, however, the LyX file itself is
corrupt. That seems to imply that the crash happens as a result of
trying to save the document: Otherwise, the LyX file would be
unaffected. Then of course one would expect to see the same crash when
the document was auto-saved. So people with auto-save enabled will see
this crash more often, though it would not in that case corrupt the
original LyX file.
So: Having auto-save enabled makes it more likely one will see this
crash. But auto-save is not responsible. One can also see it just by
doing an ordinary save.
The fact that everything always ends with \begin_inset Tabular confuses
me. As soon as we write that, we go into Tabular::write(). And, assuming
we actually make it there, the next thing we do is output "<lyxtabular "
and a bunch of similar info. Why doesn't any of that show up in the
output file? Is there some kind of buffering going on? If so, would it
be worth disabling that, so the corrupted files would give us more
information about exactly where we are crashing? It's hard to see that
there is anything in Tabular::write() itself that could cause a crash,
except bad vector access, and it's hard to see why that would happen so
intermittently. My guess is that the crash comes when writing some
particular cell, but who knows?
Richard