Bug 80372

Summary: Draw crashes without Impress present
Product: LibreOffice Reporter: Rene Engelhard <rene>
Component: DrawAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: dtardon
Priority: medium    
Version: 4.2.4.2 release   
Hardware: Other   
OS: All   
Whiteboard: target:4.2.5
Crash report or crash signature: Regression By:

Description Rene Engelhard 2014-06-23 01:21:02 UTC
Hi,

while testing something else I noticed that (at least) my LibreOffice Draw SIGSEGVs when Impress "config" files are missing:

[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255ae0) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a60) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a60) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a60) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a60) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a50) = -1 ENOENT (No such file or directory)
[pid 15602] stat("/usr/lib/libreoffice/program/../share/config/soffice.cfg/simpress/layoutlist.xml", 0x7fff60255a50) = -1 ENOENT (No such file or directory)
[pid 15602] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid 15614] +++ killed by SIGSEGV +++
[pid 15613] +++ killed by SIGSEGV +++
[pid 15612] +++ killed by SIGSEGV +++
[pid 15611] +++ killed by SIGSEGV +++
[pid 15610] +++ killed by SIGSEGV +++
[pid 15607] +++ killed by SIGSEGV +++
[pid 15605] +++ killed by SIGSEGV +++
[pid 15604] +++ killed by SIGSEGV +++
[pid 15603] +++ killed by SIGSEGV +++

Notably this needs

<lodir>/share/config/soffice.cfg/simpress/layoutlist.xml and
<lodir>/share/config/soffice.cfg/simpress/objectlist.xml

And they are also defined as for Impress in scp2, as this shows (those files get created by the installer based on scp2 info):

rene@frodo:~/Debian/Pakete/LibreOffice/libreoffice-4.3.0.1/debian/tmp$ grep layoutlist gid*
gid_Module_Prg_Impress_Bin:/usr/lib/libreoffice/share/config/soffice.cfg/simpress/layoutlist.xml
gid_Module_Prg_Impress_Bin:/usr/lib/libreoffice/share/config/soffice.cfg/simpress/layoutlist.xml

And as gid_Module_Prg_Impress_Bin is installed into -impress...

I know that Impress is tightly coupled with Draw, but the other way round sounds like a bug to me... At least the contents of those files are impress
specific afaics (autoformat and presentation objects)....
Comment 1 Rene Engelhard 2014-06-23 01:33:48 UTC
backtrace:

Program received signal SIGSEGV, Segmentation fault.
SfxBasicManagerHolder::impl_releaseContainers (this=this@entry=0x0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/appl/appbaslib.cxx:139
139	    mxBasicContainer.clear();
(gdb) bt
#0  SfxBasicManagerHolder::impl_releaseContainers (this=this@entry=0x0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/appl/appbaslib.cxx:139
#1  0x00007ffff5260968 in SfxBasicManagerHolder::reset (this=0x0, 
    _pBasicManager=0x0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/appl/appbaslib.cxx:46
#2  0x00007ffff547fc55 in SfxObjectShell::~SfxObjectShell (
    this=this@entry=0x7fffd8001940, __in_chrg=<optimized out>, 
    __vtt_parm=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/objxtor.cxx:372
#3  0x00007ffff5480079 in SfxObjectShell::~SfxObjectShell (
    this=0x7fffd8001940, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/objxtor.cxx:412
#4  0x00007ffff547f904 in ReleaseReference (this=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/include/tools/ref.hxx:187
#5  ReleaseReference (this=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/objxtor.cxx:443
#6  ~SfxObjectShellRef (this=<synthetic pointer>, __in_chrg=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/include/sfx2/objsh.hxx:756
#7  SfxObjectShell::Close (this=this@entry=0x7fffd8001940)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/objxtor.cxx:480
#8  0x00007ffff5480122 in SfxObjectShell::~SfxObjectShell (
    this=0x7fffd8001940, __vtt_parm=<optimized out>, __in_chrg=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/objxtor.cxx:362
#9  0x00007fffdd133e91 in sd::DrawDocShell::DrawDocShell (this=0x7fffd8001940, 
    __vtt_parm=0x7fffdd690048, nModelCreationFlags=<optimized out>, 
    bDataObject=<optimized out>, eDocumentType=DOCUMENT_TYPE_DRAW, 
    __in_chrg=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sd/source/ui/docshell/docshell.cxx:148
#10 0x00007fffdd134b86 in sd::GraphicDocShell::GraphicDocShell (
    this=0x7fffd8001940, nModelCreationFlags=0, bDataObject=0 '\000', 
    eDocType=DOCUMENT_TYPE_DRAW, __in_chrg=<optimized out>, 
    __vtt_parm=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sd/source/ui/docshell/grdocsh.cxx:65
#11 0x00007fffdd298472 in SdDrawingDocument_createInstance (_nCreationFlags=0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sd/source/ui/unoidl/unodoc.cxx:58
#12 0x00007ffff54be0b0 in impl_createInstance (
    _nCreationFlags=<optimized out>, this=0x13caaa0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/sfxmodelfactory.cxx:122
#13 sfx2::SfxModelFactory::createInstanceWithArguments (this=0x13caaa0, 
    _rArguments=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/sfxmodelfactory.cxx:167
#14 0x00007ffff54bde6b in sfx2::SfxModelFactory::createInstance (
    this=0x13caaa0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/doc/sfxmodelfactory.cxx:128
#15 0x00007ffff5f7b8fa in ?? ()
   from /usr/lib/libreoffice/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3
#16 0x00007ffff553fa1a in SfxFrameLoader_Impl::load (this=0x13661b0, 
    rArgs=..., _rTargetFrame=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/sfx2/source/view/frmload.cxx:585
#17 0x00007fffdfd00822 in framework::LoadEnv::impl_loadContent (
    this=this@entry=0x12e3ba0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/framework/source/loadenv/loadenv.cxx:1184
#18 0x00007fffdfd02548 in framework::LoadEnv::startLoading (this=0x12e3ba0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/framework/source/loadenv/loadenv.cxx:402
#19 0x00007fffdfc88be3 in framework::LoadDispatcher::impl_dispatch (
    this=0x12e3b20, rURL=..., lArguments=..., xListener=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/framework/source/dispatch/loaddispatcher.cxx:119
#20 0x00007fffdfc899a8 in framework::LoadDispatcher::dispatchWithReturnValue (
    this=<optimized out>, rURL=..., lArguments=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/framework/source/dispatch/loaddispatcher.cxx:65
#21 0x00007ffff65267e6 in comphelper::SynchronousDispatch::dispatch (
    xStartPoint=..., sURL=..., sTarget=..., nFlags=<optimized out>, 
    lArguments=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/comphelper/source/misc/synchronousdispatch.cxx:69
#22 0x00007ffff79469d3 in desktop::DispatchWatcher::executeDispatchRequests (
    this=0x12dca10, aDispatchRequestsList=..., bNoTerminate=false)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/dispatchwatcher.cxx:386
#23 0x00007ffff7954fa1 in desktop::OfficeIPCThread::ExecuteCmdLineRequests (
    aRequest=...)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/officeipcthread.cxx:1061
#24 0x00007ffff7929235 in desktop::Desktop::OpenDefault ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/app.cxx:2572
#25 0x00007ffff792e911 in desktop::Desktop::OpenClients ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/app.cxx:2517
#26 0x00007ffff792ee4b in desktop::Desktop::OpenClients_Impl (
    this=0x7fffffffe2c0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/app.cxx:2013
#27 0x00007ffff363b2fe in Call (pCaller=<optimized out>, this=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/include/tools/link.hxx:123
#28 ImplHandleUserEvent (pSVEvent=0xf8e6f0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/window/winproc.cxx:1976
#29 ImplWindowFrameProc (pWindow=<optimized out>, nEvent=22, pEvent=0xf8e6f0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/window/winproc.cxx:2591
#30 0x00007ffff3642edc in CallCallback (pEvent=0xf8e6f0, nEvent=22, this=
    0x11571b0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/inc/salframe.hxx:243
#31 SalGenericDisplay::DispatchInternalEvent (this=0xfd7d20)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/generic/app/gendisp.cxx:91
#32 0x00007fffe852b77f in GtkData::userEventFn (data=data@entry=0x619770)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/unx/gtk/app/gtkdata.cxx:935
#33 0x00007fffe852b7f9 in call_userEventFn (data=0x619770)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/unx/gtk/app/gtkdata.cxx:945
#34 0x00007fffef3ae355 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fffef3ae688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fffef3ae744 in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fffe852b515 in GtkData::Yield (this=0x619770, bWait=true, 
    bHandleAllCurrentEvents=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/unx/gtk/app/gtkdata.cxx:576
#38 0x00007ffff334a382 in ImplYield (i_bAllEvents=false, i_bWait=true)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/app/svapp.cxx:364
#39 Application::Yield ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/app/svapp.cxx:396
#40 0x00007ffff334a415 in Application::Execute ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/app/svapp.cxx:345
#41 0x00007ffff792c1f3 in desktop::Desktop::Main (this=0x7fffffffe2c0)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/app.cxx:1716
#42 0x00007ffff3351a71 in ImplSVMain ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/app/svmain.cxx:162
#43 0x00007ffff3351a92 in SVMain ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/vcl/source/app/svmain.cxx:198
#44 0x00007ffff795608d in soffice_main ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/sofficemain.cxx:85
#45 0x00000000004006db in sal_main ()
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/main.c:48
#46 main (argc=<optimized out>, argv=<optimized out>)
    at /home/rene/Debian/Pakete/LibreOffice/libreoffice-4.2.4.2/desktop/source/app/main.c:47
(gdb)
Comment 2 Rene Engelhard 2014-06-23 01:36:56 UTC
That said, it seems to work in 4.3.0 rc1...
Comment 3 Rene Engelhard 2014-06-23 01:39:41 UTC
hrm, no, in 4.2.5 even...
Comment 4 Rene Engelhard 2014-06-23 01:40:52 UTC
marking this as RESOLVED-FIXED myself; if I should see it again I'll reopen...
Comment 5 David Tardon 2014-06-23 04:51:41 UTC
This was fixed by commits 9cdfc91bbe335232bc82455cc4aa8c8b3a96176f and 88c9939515efe8d7ef459e7b36df99282d437a48 in 4.2.5.
Comment 6 Rene Engelhard 2014-06-23 05:36:23 UTC
ah, thanks