https://bugs.documentfoundation.org/show_bug.cgi?id=106933

Michael Stahl <mst...@redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |khaledho...@eglug.org,
                   |                            |mst...@redhat.com,
                   |                            |tim_e...@sil.org
          Component|LibreOffice                 |graphics stack
            Summary|LibO crashes with ntdll.dll |LibO crashes on shutdown
                   |on first startup            |destroying global
                   |                            |D2DWriteTextOutRenderer
                   |                            |instance

--- Comment #6 from Michael Stahl <mst...@redhat.com> ---
both of these traces are DllMain running global variable dtors,
with this static D2DWriteTextOutRenderer in vcl/win/gdi/winlayout.cxx
being the likely culprit:

TextOutRenderer & TextOutRenderer::get(bool bUseDWrite)
{
    if (bUseDWrite)
    {
        static std::unique_ptr<TextOutRenderer>
_impl(D2DWriteTextOutRenderer::InitModules()
            ? static_cast<TextOutRenderer*>(new D2DWriteTextOutRenderer())
            : static_cast<TextOutRenderer*>(new ExTextOutRenderer));

        return *_impl;
    }


speculating why this crashes: the crash is inside a
ThreadManager_VistaThreadPool::~ThreadManager_VistaThreadPool,
and at this point in shutdown only the thread that has
called exit() is still running, all other threads have
been terminated by Win32 already, so maybe this
wants to access something that is no longer there.

i wonder if it would help to move the instance somewhere
where it can be deleted from DeInitVCL()? it shouldn't be needed
after DeInitVCL() hopefully?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to