Jürgen Spitzmüller wrote:
Vincent van Ravesteijn - TNW wrote:
#0  0x0000000000606de8 in lyx::emergencyCleanup () at LyX.cpp:799
#1  0x0000000000607115 in lyx::lyx_exit (exit_code=1) at LyX.cpp:196
#2  0x000000000076b80e in boost::assertion_failed (expr=0xe191b6
"false", function=0xf6bfe0 "void >lyx::doAssert(const char*, const
char*, long int)", file=0xf6bfa8 "lassert.cpp", line=23) at boost.cpp:47

#3  0x0000000000d993cf in lyx::doAssert (expr=0xe3b1a8 "singleton_",
file=0xe3b1a0 "LyX.cpp", line=1221) at >lassert.cpp:23

#4  0x00000000006080be in lyx::getGuiMessages () at LyX.cpp:1221
#5  0x0000000000d988b5 in lyx::_ ([EMAIL PROTECTED]) at gettext.cpp:29
#6  0x000000000045f3d8 in ~Buffer (this=0x132a8e0) at Buffer.cpp:302
#7  0x00000000008ba200 in __tcf_0 () at mathed/MacroTable.cpp:71
#8  0x0000003926834029 in exit () from /lib64/libc.so.6
#9  0x000000392681e07b in __libc_start_main () from /lib64/libc.so.6
#10 0x0000000000434629 in _start () ^done



Seeing: MacroTable...

Was the GuiTabular dialog open by any chance ?

Because if so, that is the reason.

I think the reason is that when this warning

        if (!d->temppath.destroyDirectory()) {
                Alert::warning(_("Could not remove temporary directory"),
                        bformat(_("Could not remove the temporary directory 
%1$s"),
                        from_utf8(d->temppath.absFilename())));
        }

is issued in Buffer::~Buffer(), the LyX * singleton_ in LyX.cpp is already destroyed. The assertion happens because gettext.cpp (i.e. _()) calls getGuiMessages() which itself relies on singleton_ und thus triggers the assert if it is 0.

Seems we cannot issue a GUI warning message anymore at this point.

I think the warning is wrong, though. There's no reason there should be a failure to remove the temporary directory...except perhaps that it was already destroyed. So I think we have an extra Buffer lying around for some reason, and it's being destroyed on exit. This might be an issue with the new search stuff. It creates a Buffer for its own use, doesn't it?

rh

Reply via email to