https://bugs.freedesktop.org/show_bug.cgi?id=69036

Lionel Elie Mamane <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Lionel Elie Mamane <[email protected]> ---
(In reply to comment #1)
> Is this perhaps a dup of bug 55566 "open two odb files with macro at "open
> document" event -> crash" ?

I don't think so.

In this bug, osl_acquireMutex is called on an uninitialised value: the value
0x99999999 is a special canary for unitialised memory in debug builds on GNU
libc (GNU/Linux). The problem is probably linked to how initialisation of
static values (and calling the C++ constructor) happens in multi-threaded,
multi-dynamic library code, which I'm not very clear on how it happens. The
code looks like:

    static ItemHolder1* pHolder = new ItemHolder1();
    pHolder->impl_addItem(eItem);

The constructor of ItemHolder1 should call the Mutex constructor which should
initialise the m_aLock Mutex which impl_addItem tries to lock (via
ClearableGuard); it seems that in this specific case m_aLock is allocated but
not initialised...

That's the local problem. But maybe (not sure) the local problem is triggered
by a higher-level problem, which is that
connectivity::calc::OCalcConnection::disposing tries to dispose of its
connection to Calc, but Calc is already dead? I say that because I see in the
backtrace:

SfxApplication::GetOrCreate
SfxObjectShell::Close

GetOrCreate goes and *creates* the SfxApplication, which is ... unexpected when
called from a destructor / close method: what Close does is get the (freshly
created) SfxApplicaton and erase all its ObjectShells... It seems pointless to
create it just for that.

Which raises the question of order of destruction of LibreOffice components
during application shutdown... How do we handle dependencies between "major"
components (Calc, Base, ...) in there? The question is probably complexified by
circular dependencies between Calc and Base (connectivity and/or dbaccess
module): Calc can use Base datasources, but Base can use Calc as a datasource
:)

Stephan, do you think (one of) these questions would fall under your area of
expertise? If not, any idea who to consult?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to