Bug 1324505 - Office Libre 5 hangs at startup when run remotely
Summary: Office Libre 5 hangs at startup when run remotely
Keywords:
Status: CLOSED DUPLICATE of bug 1174257
Alias: None
Product: Fedora
Classification: Fedora
Component: libreoffice
Version: 23
Hardware: i686
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-06 13:46 UTC by Martin Gregorie
Modified: 2016-04-07 10:13 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-04-07 10:13:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
ps output captured when oocalc was frozen (399 bytes, text/plain)
2016-04-06 13:46 UTC, Martin Gregorie
no flags Details

Description Martin Gregorie 2016-04-06 13:46:08 UTC
Created attachment 1144233 [details]
ps output captured when oocalc was frozen

Description of problem:
=======================
When I start oocalc from a console login to a remote system on my LAN the initial grey/green 'Libre Office 5' banner appears, but the 'I'm loading' black progress bar under the title either never appears or sometimes shows just a 1 pixel wide start edge. At this point oocalc freezes and nothing more happens until I hit Ctrl/C.

Running 'top' throttled to show just my user showed that two copies of 

/usr/lib/libreoffice/program/soffice.bin

were being started with sequential PIDs and only the copy with the lowest PID had used any cpu time. Killing the copy with the highest PID allows oocalc to start and run normally, so mistakenly starting two copies of soffice.bin causes them to block each other when both try to access some unsharable resource.

Running oocalc from one console window and either top or ps in a second console window confirms that only one copy of soffice.bin is started on a local system.

This method of running oocalc has always worked with previous Office Libre versions without any sign of this problem. 

The same problem occurs if I try to start oowriter remotely and this too has always worked in the past.

Both local and remote machines have X11 forwarding enabled. This is working correctly, as shown by the Office Libre splash screen being displayed. I also have no problems running other graphical programs (GIMP, Java Swing applications) remotely by the same method.

Version-Release number of selected component (if applicable):
=============================================================
5.0.5.2

How reproducible:
=================
Occurs every time I try to start oocalc or oowriter on a remote system.


Steps to Reproduce:
===================
1. login to the remote system with ssh
2. Enter the command 'oocalc' or 'oowriter'
   The Office Libre splash screen appears and the program freezes
3. login a second time to the same system and user with ssh
4. Enter the command 'ps -u username'
   ps shows two copies of soffice.bin have been started
5. Killing the copy with the highest PID allows Office Libre to 
   complete a normal startup.

Actual results:
===============
As shown in 'Steps to reproduce'

Expected results:
=================
Office Libre should complete a normal startup when started as described and ps should show only a single copy of soffice.bin has been started.


Additional info:
================
Both copies of Fedora 23 were fully patched as of 1April 2016.

Comment 1 Stephan Bergmann 2016-04-07 09:56:18 UTC
The second soffice.bin process is actually not a full-blown soffice.bin, but rather some "glxtext" process spawned from the original soffice.bin in fire_glxtest_process (vcl/unx/glxtest.cxx).  That second process hangs at

> Thread 1 (Thread 0x7f2fd02e0a40 (LWP 26791)):
> #0  0x00007f2fcf8aafdd in poll () at ../sysdeps/unix/syscall-template.S:84
> #1  0x00007f2fc5dfb272 in _xcb_conn_wait (__timeout=-1, __nfds=1, __fds=0x7fffd329ece0) at /usr/include/bits/poll2.h:46
> #2  0x00007f2fc5dfb272 in _xcb_conn_wait (c=c@entry=0x257c830, cond=cond@entry=0x7fffd329ee00, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:459
> #3  0x00007f2fc5dfcc27 in wait_for_reply (c=c@entry=0x257c830, request=24, e=e@entry=0x0) at xcb_in.c:516
> #4  0x00007f2fc5dfcd31 in xcb_wait_for_reply (c=c@entry=0x257c830, request=24, e=e@entry=0x0) at xcb_in.c:546
> #5  0x00007f2fb7624025 in xcb_dri3_open_reply (c=c@entry=0x257c830, cookie=..., e=e@entry=0x0) at dri3.c:146
> #6  0x00007f2fbe6782c5 in loader_dri3_open (conn=0x257c830, root=<optimized out>, provider=<optimized out>) at loader_dri3_helper.c:778
> #7  0x00007f2fbe6730b8 in dri3_create_screen (screen=0, priv=0x2586d70) at dri3_glx.c:747
> #8  0x00007f2fbe6479b1 in __glXInitialize (priv=0x2586d70, dpy=0x257a070) at glxext.c:796
> #9  0x00007f2fbe6479b1 in __glXInitialize (dpy=dpy@entry=0x257a070) at glxext.c:910
> #10 0x00007f2fbe643d6b in GetGLXPrivScreenConfig (dpy=dpy@entry=0x257a070, scrn=scrn@entry=0, ppriv=ppriv@entry=0x7fffd329efc0, ppsc=ppsc@entry=0x7fffd329efc8) at glxcmds.c:172
> #11 0x00007f2fbe643ece in glXChooseVisual (ppsc=0x7fffd329efc8, ppriv=0x7fffd329efc0, scrn=<optimized out>, dpy=<optimized out>) at glxcmds.c:168
> #12 0x00007f2fbe643ece in glXChooseVisual (dpy=0x257a070, screen=0, attribList=0x7fffd329f6e0) at glxcmds.c:1249
> #13 0x00007f2fcfc7ed22 in glxtest() () at vcl/unx/glxtest.cxx:176
> #14 0x00007f2fcfc7f2cc in fire_glxtest_process() () at vcl/unx/glxtest.cxx:264
> #15 0x00007f2fcfc0514d in soffice_main() () at desktop/source/app/sofficemain.cxx:98
> #16 0x000000000040097d in sal_main () at desktop/source/app/main.c:48
> #17 0x0000000000400957 in main (argc=2, argv=0x7fffd329f988) at desktop/source/app/main.c:47

while the original soffice.bin process blocks waiting to read data from this second, hanging process:

> Thread 1 (Thread 0x7f2fd02e0a40 (LWP 26788)):
> #0  0x00007f2fcf8a6bcd in read () at ../sysdeps/unix/syscall-template.S:84
> #1  0x00007f2fc71c707b in X11OpenGLDeviceInfo::GetData() (this=0x7fffd329ad90) at vcl/opengl/x11/X11DeviceInfo.cxx:134
> #2  0x00007f2fc71c6f7c in X11OpenGLDeviceInfo::X11OpenGLDeviceInfo() (this=0x7fffd329ad90) at vcl/opengl/x11/X11DeviceInfo.cxx:118
> #3  0x00007f2fc71bd77d in OpenGLHelper::isDeviceBlacklisted() () at vcl/source/opengl/OpenGLHelper.cxx:778
> #4  0x00007f2fc71bd95d in OpenGLHelper::supportsVCLOpenGL() () at vcl/source/opengl/OpenGLHelper.cxx:796
> #5  0x00007f2fc71ba883 in OpenGLHelper::isVCLOpenGLEnabled() () at vcl/source/opengl/OpenGLHelper.cxx:986
> #6  0x00007f2fc71be249 in OpenGLWrapper::isVCLOpenGLEnabled() () at vcl/source/opengl/OpenGLHelper.cxx:1017
> #7  0x00007f2fc688f068 in vcl::Window::ImplCallResize() (this=0x37bb1e0) at vcl/source/window/event.cxx:496
> #8  0x00007f2fc69d1ea2 in vcl::Window::Show(bool, ShowFlags) (this=0x37bb1e0, bVisible=true, nFlags=ShowFlags::NONE) at vcl/source/window/window.cxx:2303
> #9  0x00007f2fc69c57c3 in vcl::Window::set_property(rtl::OString const&, rtl::OString const&) (this=0x37bb1e0, rKey="visible", rValue="True") at vcl/source/window/window2.cxx:1523
> #10 0x00007f2fc6a71268 in FixedImage::set_property(rtl::OString const&, rtl::OString const&) (this=0x37bb1e0, rKey="visible", rValue="True") at vcl/source/control/fixed.cxx:1048
> #11 0x00007f2fc67f688b in VclBuilder::set_properties(vcl::Window*, std::__debug::map<rtl::OString, rtl::OString, std::less<rtl::OString>, std::allocator<std::pair<rtl::OString const, rtl::OString> > > const&) (pWindow=0x37bb1e0, rProps=std::__debug::map with 3 elements = {...}) at vcl/source/window/builder.cxx:1798
> #12 0x00007f2fc67f70b9 in VclBuilder::insertObject(vcl::Window*, rtl::OString const&, rtl::OString const&, std::__debug::map<rtl::OString, rtl::OString, std::less<rtl::OString>, std::allocator<std::pair<rtl::OString const, rtl::OString> > >&, std::__debug::map<rtl::OString, rtl::OString, std::less<rtl::OString>, std::allocator<std::pair<rtl::OString const, rtl::OString> > >&, std::__debug::map<rtl::OString, rtl::OString, std::less<rtl::OString>, std::allocator<std::pair<rtl::OString const, rtl::OString> > >&) (this=0x37ba910, pParent=0x37b9ff0, rClass="GtkImage", rID="calc_all_image", rProps=std::__debug::map with 3 elements = {...}, rPango=std::__debug::map with 0 elements, rAtk=std::__debug::map with 0 elements) at vcl/source/window/builder.cxx:1851
> #13 0x00007f2fc67f926e in VclBuilder::handleObject(vcl::Window*, xmlreader::XmlReader&) (this=0x37ba910, pParent=0x37b9ff0, reader=...) at vcl/source/window/builder.cxx:2851
> #14 0x00007f2fc67e82f2 in VclBuilder::handleChild(vcl::Window*, xmlreader::XmlReader&) (this=0x37ba910, pParent=0x37b9ff0, reader=...) at vcl/source/window/builder.cxx:2056
> #15 0x00007f2fc67e4aaa in VclBuilder::VclBuilder(vcl::Window*, rtl::OUString const&, rtl::OUString const&, rtl::OString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) (this=0x37ba910, pParent=0x37b9ff0, sUIDir="file://instdir/program/../share/config/soffice.cfg/", sUIFile="sfx/ui/startcenter.ui", sID="StartCenter", rFrame=empty uno::Reference) at vcl/source/window/builder.cxx:203
> #16 0x00007f2fcb2434a7 in BackingWindow::BackingWindow(vcl::Window*) (this=0x37b9ff0, i_pParent=0x3676f70) at sfx2/source/dialog/backingwindow.cxx:93
> #17 0x00007f2fcb2429f0 in VclPtr<BackingWindow>::Create<vcl::Window*&>(vcl::Window*&) (arg=@0x7fffd329e6a0: 0x3676f70) at include/vcl/vclptr.hxx:131
> #18 0x00007f2fcb23fdf0 in (anonymous namespace)::BackingComp::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (this=0x7f2fa410fbb0, lArgs=uno::Sequence of length 1 = {...}) at sfx2/source/dialog/backingcomp.cxx:689
> #19 0x00007f2fcd053eb2 in cppuhelper::ServiceManager::Data::Implementation::createInstanceWithArguments(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, bool, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (this=0x25db540, context=uno::Reference to (cppu::ComponentContext *) 0x7f2fd022fd80, singletonRequest=false, arguments=uno::Sequence of length 1 = {...}) at cppuhelper/source/servicemanager.cxx:713
> #20 0x00007f2fcd059114 in cppuhelper::ServiceManager::createInstanceWithArgumentsAndContext(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x7f2fd02a1008, ServiceSpecifier="com.sun.star.frame.StartModule", Arguments=uno::Sequence of length 1 = {...}, Context=uno::Reference to (cppu::ComponentContext *) 0x7f2fd022fd80) at cppuhelper/source/servicemanager.cxx:1051
> #21 0x00007f2fcd0591d3 in non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithArgumentsAndContext(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) () at cppuhelper/source/servicemanager.cxx:1041
> #22 0x00007f2fcfbb5acf in com::sun::star::frame::StartModule::createWithParentWindow(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&) (the_context=uno::Reference to (cppu::ComponentContext *) 0x7f2fd022fd80, ContainerWindow=uno::Reference to (VCLXTopWindow *) 0x7f2f9e5de4e0) at workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/frame/StartModule.hpp:47
> #23 0x00007f2fcfba7f08 in desktop::Desktop::ShowBackingComponent(desktop::Desktop*) (progress=0x7fffd329f7d8) at desktop/source/app/app.cxx:2556
> #24 0x00007f2fcfba5972 in desktop::Desktop::Main() (this=0x7fffd329f7d8) at desktop/source/app/app.cxx:1556
> #25 0x00007f2fc6efb289 in ImplSVMain() () at vcl/source/app/svmain.cxx:172
> #26 0x00007f2fc6efca68 in SVMain() () at vcl/source/app/svmain.cxx:210
> #27 0x00007f2fcfc053b5 in soffice_main() () at desktop/source/app/sofficemain.cxx:135
> #28 0x000000000040097d in sal_main () at desktop/source/app/main.c:48
> #29 0x0000000000400957 in main (argc=2, argv=0x7fffd329f988) at desktop/source/app/main.c:47

Comment 2 Stephan Bergmann 2016-04-07 10:13:25 UTC

*** This bug has been marked as a duplicate of bug 1174257 ***


Note You need to log in before you can comment on or make changes to this bug.