[Libreoffice] [REVIEWED 3-4] application crash on exit
Michael Meeks
michael.meeks at suse.com
Sat Nov 12 04:45:10 PST 2011
Hi Noel,
On Sat, 2011-11-12 at 09:49 +0000, Noel Power wrote:
> We have an internal bug that happens when closing the application where
> there is a legacy format document ( e.g. something.sdd ) already open
Thanks for looking at this :-)
> ==23824== Invalid read of size 8
> ==23824== at 0x10C543A0: GtkSalDisplay::EventGuardAcquire()
> (gtkdata.hxx:83)
So - your fix seems reasonable enough but:
> ==23824== by 0x10C53633: GtkXLib::userEventFn(void*) (gtkdata.cxx:800)
> ==23824== by 0x10C535D4: call_userEventFn (gtkdata.cxx:789)
> ==23824== by 0x13538BD2: g_main_context_dispatch (in
> /lib64/libglib-2.0.so.0.2800.0)
This processing of events during the GtkXLib destructor is a bit
surprising I suppose. I would be inclined as a belt + braces to add:
if (m_pUserEvent)
{
g_source_destroy (m_pUserEvent);
g_source_unref (m_pUserEvent);
m_pUserEvent = NULL;
}
At the end of ~GtkXLib as well. The hard-coded:
int nMaxEvents = bHandleAllCurrentEvents ? 100 : 1;
in the original code is particularly horrible but ... ;-)
> I had a patch ( that just returned immediately from GtkXLib::userEventFn
> while GtkXLib was destructing ) However now I see that this doesn't
> happen on master so after looking there I rewrote the patch be more like
> ( albeit simpler ) the solution there ( which seems to be part of some
> bigger rework, for gtk3 ? )
Right - there are some rather substantial changes there. Then again - I
havn't seen my TESTME: warning on shutdown on master so perhaps that
isn't getting exercised much.
> since I know approximately zero about gtk stuff, appreciate wiser heads
> having a look
Looks fine for the branch for me - any chance you could cherry-pick
it ?
Thanks !
Michael.
--
michael.meeks at suse.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice
mailing list