Bug 84571 - headless libreoffice renders progress bar ...
Summary: headless libreoffice renders progress bar ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Android Viewer (show other bugs)
Version:
(earliest affected)
4.3.0.2 rc
Hardware: Other All
: low minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: mabAndroid File-Progress-Bar
  Show dependency treegraph
 
Reported: 2014-10-01 23:59 UTC by Michael Meeks
Modified: 2024-05-19 03:16 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Meeks 2014-10-01 23:59:12 UTC
Just debugging some oddness is the svp backend, and I was amused to see that a headless LibreOffice still creates (and/or renders?) a progress bar for document loading:

#0  SvpSalGraphics::drawRect (this=0xfc11d0, nX=0, nY=0, nWidth=1, nHeight=1) at /data/opt/libreoffice/master/vcl/headless/svpgdi.cxx:416
#1  0x00007fffebab712d in SalGraphics::DrawRect (this=0xfc11d0, nX=0, nY=0, nWidth=1, nHeight=1, pOutDev=pOutDev@entry=0xfc09d0)
    at /data/opt/libreoffice/master/vcl/source/gdi/salgdilayout.cxx:410
#2  0x00007fffeb9a35c3 in OutputDevice::DrawRect (this=this@entry=0xfc09d0, rRect=Rectangle = {...})
    at /data/opt/libreoffice/master/vcl/source/outdev/rect.cxx:59
#3  0x00007fffeb9aade8 in OutputDevice::DrawColorWallpaper (this=0xfc09d0, nX=0, nY=0, nWidth=1, nHeight=1, rWallpaper=...)
    at /data/opt/libreoffice/master/vcl/source/outdev/wallpaper.cxx:74
#4  0x00007fffeb9abd06 in OutputDevice::Erase (this=0xfc09d0) at /data/opt/libreoffice/master/vcl/source/outdev/wallpaper.cxx:90
#5  0x00007fffebac1c5c in VirtualDevice::ImplInitVirDev (this=this@entry=0xfc09d0, pOutDev=<optimized out>, pOutDev@entry=0xfc00d0, 
    nDX=nDX@entry=1, nDY=nDY@entry=1, nBitCount=nBitCount@entry=0, pData=pData@entry=0x0)
    at /data/opt/libreoffice/master/vcl/source/gdi/virdev.cxx:201
#6  0x00007fffebac1dce in VirtualDevice::VirtualDevice (this=0xfc09d0, rCompDev=..., nBitCount=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/gdi/virdev.cxx:232
#7  0x00007fffeb8cbf86 in StatusBar::ImplInit (this=this@entry=0xfc00d0, pParent=pParent@entry=0xe94b40, nStyle=nStyle@entry=16448)
    at /data/opt/libreoffice/master/vcl/source/window/status.cxx:126
#8  0x00007fffeb8cc128 in StatusBar::StatusBar (this=0xfc00d0, pParent=0xe94b40, nStyle=16448)
    at /data/opt/libreoffice/master/vcl/source/window/status.cxx:148
#9  0x00007fffe29c4239 in framework::LayoutManager::implts_createProgressBar (this=this@entry=0x7fffe1728f20)
    at /data/opt/libreoffice/master/framework/source/layoutmanager/layoutmanager.cxx:893
#10 0x00007fffe29c7b53 in framework::LayoutManager::createElement (this=0x7fffe1728f20, aName="private:resource/progressbar/progressbar")
    at /data/opt/libreoffice/master/framework/source/layoutmanager/layoutmanager.cxx:1515
#11 0x00007fffe298e8d0 in framework::StatusIndicatorFactory::impl_createProgress (this=this@entry=0x7fffe0928848)
    at /data/opt/libreoffice/master/framework/source/helper/statusindicatorfactory.cxx:417
#12 0x00007fffe298f238 in framework::StatusIndicatorFactory::initialize (this=0x7fffe0928848, lArguments=...)
    at /data/opt/libreoffice/master/framework/source/helper/statusindicatorfactory.cxx:102
#13 0x00007fffee88c662 in cppuhelper::ServiceManager::Data::Implementation::createInstanceWithArguments (this=<optimized out>, context=
    uno::Reference to (cppu::ComponentContext *) 0x7fffe35d88a8, singletonRequest=singletonRequest@entry=false, arguments=
    uno::Sequence of length 3 = {...}) at /data/opt/libreoffice/master/cppuhelper/source/servicemanager.cxx:712
#14 0x00007fffee8912c8 in cppuhelper::ServiceManager::createInstanceWithArgumentsAndContext (this=<optimized out>, ServiceSpecifier=..., 
    Arguments=uno::Sequence of length 3 = {...}, Context=uno::Reference to (cppu::ComponentContext *) 0x7fffe35d88a8)
    at /data/opt/libreoffice/master/cppuhelper/source/servicemanager.cxx:1036
#15 0x00007fffe2a2c939 in com::sun::star::task::StatusIndicatorFactory::createWithFrame (
    the_context=uno::Reference to (cppu::ComponentContext *) 0x7fffe35d88a8, 
    Frame=uno::Reference to ((anonymous namespace)::Frame *) 0x7fffe2f33870, DisableReschedule=DisableReschedule@entry=0 '\000', 
    AllowParentShow=AllowParentShow@entry=1 '\001')
    at /data/opt/libreoffice/master/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/task/StatusIndicatorFactory.hpp:51
#16 0x00007fffe2a243f3 in (anonymous namespace)::Frame::initialize (this=0x7fffe2f33848, xWindow=...)
    at /data/opt/libreoffice/master/framework/source/services/frame.cxx:843
#17 0x00007fffe2a519ca in implts_createFrame (sName="", xContainerWindow=uno::Reference to (VCLXTopWindow *) 0x7fffe092c6d8, 
    xParentFrame=<synthetic pointer>, this=<optimized out>) at /data/opt/libreoffice/master/framework/source/services/taskcreatorsrv.cxx:293
#18 (anonymous namespace)::TaskCreatorService::createInstanceWithArguments (this=0x7fffe2f90dc0, lArguments=...)
    at /data/opt/libreoffice/master/framework/source/services/taskcreatorsrv.cxx:188
#19 0x00007fffe296b59e in framework::TaskCreator::createTask (this=this@entry=0x7ffffffbd3d0, sName="_blank", bVisible=bVisible@entry=false)
    at /data/opt/libreoffice/master/framework/source/classes/taskcreator.cxx:114
#20 0x00007fffe2a1a863 in framework::Desktop::findFrame (this=0x7fffe2fb4530, sTargetFrameName="_blank", nSearchFlags=0)
    at /data/opt/libreoffice/master/framework/source/services/desktop.cxx:921
#21 0x00007fffe29f2635 in framework::LoadEnv::impl_loadContent (this=this@entry=0x7ffffffbd720)
    at /data/opt/libreoffice/master/framework/source/loadenv/loadenv.cxx:1029
#22 0x00007fffe29f2bc8 in framework::LoadEnv::startLoading (this=this@entry=0x7ffffffbd720)
    at /data/opt/libreoffice/master/framework/source/loadenv/loadenv.cxx:383
#23 0x00007fffe29f2e70 in framework::LoadEnv::loadComponentFromURL (xLoader=uno::Reference to (framework::Desktop *) 0x7fffe2fb45a8, 
    xContext=uno::Reference to (cppu::ComponentContext *) 0x7fffe35d88a8, 
    sURL="file:///data/opt/libreoffice/testfiles/CP41vsAOO401/groupshape.rtf", sTarget="_blank", nFlags=nFlags@entry=0, 
    lArgs=empty uno::Sequence) at /data/opt/libreoffice/master/framework/source/loadenv/loadenv.cxx:164
#24 0x00007fffe2a1376e in framework::Desktop::loadComponentFromURL (this=0x7fffe2fb4530, 
    sURL="file:///data/opt/libreoffice/testfiles/CP41vsAOO401/groupshape.rtf", sTargetFrameName="_blank", nSearchFlags=0, 
    lArguments=empty uno::Sequence) at /data/opt/libreoffice/master/framework/source/services/desktop.cxx:567
#25 0x00007fffef4b735a in lo_documentLoad (pThis=0x62eeb0, pURL=<optimized out>) at /data/opt/libreoffice/master/desktop/source/lib/init.cxx:300
#26 0x0000000000400d8b in documentLoad (pUrl=<optimized out>, this=0x6384a0)
    at /data/opt/libreoffice/master/include/LibreOfficeKit/LibreOfficeKit.hxx:110
#27 main (argc=<optimized out>, argv=0x7fffffffdcb8) at /data/opt/libreoffice/master/libreofficekit/qa/tilebench/tilebench.cxx:69

...

Even if it is only 1x1 pixel ;-)
Comment 1 Michael Meeks 2014-10-01 23:59:52 UTC
Easy to reproduce, just set a breakpoint and run tilebench or somesuch =)
Comment 2 Michael Meeks 2014-10-02 00:07:30 UTC
If only the window stayed small:

#0  SvpSalGraphics::drawRect (this=0xfbf110, nX=0, nY=<optimized out>, nWidth=<optimized out>, nHeight=<optimized out>)
    at /data/opt/libreoffice/master/vcl/headless/svpgdi.cxx:425
#1  0x00007fffebab712d in SalGraphics::DrawRect (this=0xfbf110, nX=0, nY=0, nWidth=1920, nHeight=1024, pOutDev=pOutDev@entry=0xe94d80)
    at /data/opt/libreoffice/master/vcl/source/gdi/salgdilayout.cxx:410

Note nWidth & nHeight.

#2  0x00007fffeb9a35c3 in OutputDevice::DrawRect (this=this@entry=0xe94d80, rRect=Rectangle = {...})
    at /data/opt/libreoffice/master/vcl/source/outdev/rect.cxx:59
#3  0x00007fffeb9aade8 in OutputDevice::DrawColorWallpaper (this=0xe94d80, nX=0, nY=0, nWidth=1920, nHeight=1024, rWallpaper=...)
    at /data/opt/libreoffice/master/vcl/source/outdev/wallpaper.cxx:74
#4  0x00007fffeb853cf0 in vcl::Window::Erase (this=0xe94d80) at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:1180
#5  0x00007fffeb851d3c in vcl::Window::PushPaintHelper (this=0xe94d80, pHelper=pHelper@entry=0x7ffffffbc3d0)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:166
#6  0x00007fffeb851e5c in PaintHelper::DoPaint (this=0x7ffffffbc3d0, pRegion=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:123
#7  0x00007fffeb85207b in vcl::Window::ImplCallPaint (this=this@entry=0xe94d80, pRegion=0x116c5d0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:259
#8  0x00007fffeb85214a in PaintHelper::~PaintHelper (this=0x7ffffffbc4a0, __in_chrg=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:206
#9  0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0xe956a0, pRegion=pRegion@entry=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
#10 0x00007fffeb85364b in vcl::Window::Update (this=this@entry=0xfc03e0) at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:988
#11 0x00007fffeb8cba5a in StatusBar::SetProgressValue (this=this@entry=0xfc03e0, nNewPercent=nNewPercent@entry=1)
    at /data/opt/libreoffice/master/vcl/source/window/status.cxx:1351

Going up the stack:

#9  0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0xe956a0, pRegion=pRegion@entry=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
...
(gdb) p *mpWindowImpl->mpFrame
Python Exception <type 'exceptions.ValueError'> Cannot find type std::list<vcl::DeletionListener*, std::allocator<vcl::DeletionListener*> >::_Node: 
$9 = (SvpSalFrame) {<SalFrame> = {<vcl::DeletionNotifier> = {m_aListeners = empty std::list}, 
    _vptr.SalFrame = 0x7fffeb71b870 <vtable for SvpSalFrame+16>, m_pWindow = 0xe956a0, m_pProc = 0x7fffeb8ffac0
     <ImplWindowFrameProc(vcl::Window*, SalFrame*, unsigned short, void const*)>, maGeometry = {nX = -897, nY = -257, nWidth = 1920, 
      nHeight = 1024, nLeftDecoration = 0, nTopDecoration = 0, nRightDecoration = 0, nBottomDecoration = 0, nDisplayScreenNumber = 0}}, 
  m_pInstance = 0xe0da80, m_pParent = 0x0, m_aChildren = empty std::list, m_nStyle = 14, m_bVisible = true,

Which seems somewhat outrageous =)
Comment 3 Michael Meeks 2014-10-02 00:13:00 UTC
Seems we're rendering a set of rulers as well:

#1  0x00007fffebab712d in SalGraphics::DrawRect (this=0x11d9370, nX=1, nY=0, nWidth=16, nHeight=978, pOutDev=pOutDev@entry=0x119c2f0)
    at /data/opt/libreoffice/master/vcl/source/gdi/salgdilayout.cxx:410
#2  0x00007fffeb9a35c3 in OutputDevice::DrawRect (this=this@entry=0x119c2f0, rRect=Rectangle = {...})
    at /data/opt/libreoffice/master/vcl/source/outdev/rect.cxx:59
#3  0x00007fffecf5aa62 in Ruler::ImplVDrawRect (this=this@entry=0x119c0d0, nX1=<optimized out>, nX1@entry=0, nY1=nY1@entry=1, 
    nX2=<optimized out>, nX2@entry=977, nY2=nY2@entry=16) at /data/opt/libreoffice/master/svtools/source/control/ruler.cxx:348
#4  0x00007fffecf5c735 in Ruler::ImplFormat (this=0x119c0d0) at /data/opt/libreoffice/master/svtools/source/control/ruler.cxx:1200
#5  0x00007fffecf5cd15 in Ruler::ImplDraw (this=this@entry=0x119c0d0) at /data/opt/libreoffice/master/svtools/source/control/ruler.cxx:1307
#6  0x00007fffecf5cfc9 in Ruler::Paint (this=0x119c0d0) at /data/opt/libreoffice/master/svtools/source/control/ruler.cxx:2105
#7  0x00007fffeb85207b in vcl::Window::ImplCallPaint (this=this@entry=0x119c0d0, pRegion=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:259
#8  0x00007fffeb85214a in PaintHelper::~PaintHelper (this=0x7ffffffbbfb0, __in_chrg=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:206
#9  0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0x11cf3f0, pRegion=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
#10 0x00007fffeb85214a in PaintHelper::~PaintHelper (this=0x7ffffffbc080, __in_chrg=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:206
#11 0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0x11e1be0, pRegion=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
#12 0x00007fffeb85214a in PaintHelper::~PaintHelper (this=0x7ffffffbc150, __in_chrg=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:206
#13 0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0x11eb830, pRegion=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
#14 0x00007fffeb85214a in PaintHelper::~PaintHelper (this=0x7ffffffbc220, __in_chrg=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:206
#15 0x00007fffeb85202d in vcl::Window::ImplCallPaint (this=this@entry=0xe94b50, pRegion=pRegion@entry=0x0, nPaintFlags=<optimized out>)
    at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:261
#16 0x00007fffeb85364b in vcl::Window::Update (this=0x121ca90) at /data/opt/libreoffice/master/vcl/source/window/paint.cxx:988
#17 0x00007fffdb4a004f in SwView::SetVisArea (this=0x12178b0, rRect=..., bUpdateScrollbar=<optimized out>)
    at /data/opt/libreoffice/master/sw/source/uibase/uiview/viewport.cxx:256
#18 0x00007fffdb49e7c3 in SwView::CalcVisArea (this=this@entry=0x12178b0, rOutPixel=Size = {...})
    at /data/opt/libreoffice/master/sw/source/uibase/uiview/viewport.cxx:797
#19 0x00007fffdb49f0ea in SwView::OuterResizePixel (this=0x12178b0, rOfst=..., rSize=Size = {...})

=)
Comment 4 Michael Meeks 2014-10-02 00:13:40 UTC
And some sort of toolbox:

#1  0x00007fffebab712d in SalGraphics::DrawRect (this=0x1358c30, nX=627, nY=30, nWidth=3, nHeight=1, pOutDev=pOutDev@entry=0x13462b0)
    at /data/opt/libreoffice/master/vcl/source/gdi/salgdilayout.cxx:410
#2  0x00007fffeb9a35c3 in OutputDevice::DrawRect (this=this@entry=0x13462b0, rRect=Rectangle = {...})
    at /data/opt/libreoffice/master/vcl/source/outdev/rect.cxx:59
#3  0x00007fffeb8e3e77 in ImplDrawDropdownArrow (bRotate=false, bSetColor=<optimized out>, rDropDownRect=Rectangle = {...}, pBox=0x13462b0)
    at /data/opt/libreoffice/master/vcl/source/window/toolbox.cxx:2755
#4  ToolBox::ImplDrawItem (this=this@entry=0x13462b0, nPos=nPos@entry=34, nHighlight=<optimized out>, bPaint=bPaint@entry=false, 
    bLayout=bLayout@entry=false) at /data/opt/libreoffice/master/vcl/source/window/toolbox.cxx:3246
#5  0x00007fffeb8e4c58 in ToolBox::Paint (this=0x13462b0, rPaintRect=Rectangle = {...})
    at /data/opt/libreoffice/master/vcl/source/window/toolbox.cxx:4053
#6  0x00007fffeb85207b in vcl::Window::ImplCallPaint (this=this@entry=0x13462b0, pRegion=0x13e6030, nPaintFlags=<optimized out>)
Comment 5 QA Administrators 2016-02-21 08:37:32 UTC Comment hidden (obsolete)
Comment 6 QA Administrators 2017-03-06 15:53:48 UTC Comment hidden (obsolete)
Comment 7 QA Administrators 2019-12-03 14:22:12 UTC Comment hidden (obsolete)
Comment 8 QA Administrators 2021-12-03 04:32:37 UTC Comment hidden (obsolete)
Comment 9 Timur 2022-05-19 12:23:03 UTC
Hoc can this be tested? Why this blocks Android meta?
Comment 10 Michael Meeks 2022-05-19 14:00:26 UTC
You can test it as a developer, and/or just use tilebench to startup and render a document - and see what happens under the hood I guess, breakpoint or two in the debugger would show this easily.
Comment 11 QA Administrators 2024-05-19 03:16:16 UTC
Dear Michael Meeks,

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
 
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not 
appropriate in this case)


If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword


Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug