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

Chris Halls <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW

--- Comment #10 from Chris Halls <[email protected]> ---
(In reply to Matthew Francis from comment #6)
> This seems to be a result of loading - slowly - the large number of small
> images in the copied HTML. Pasting a smaller subset of the table finishes
> after a few seconds

I agree with this analysis. This backtrace shows the code waiting for image
data from the remote server.

#0  0x00007f536ede1438 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f53712a344e in osl_waitCondition (Condition=0x539f1f0,
pTimeout=pTimeout@entry=0x7ffea15882f0) at
libreoffice/sal/osl/unx/conditn.cxx:201
#2  0x00007f5368b13812 in salhelper::ConditionWaiter::ConditionWaiter
(this=0x7ffea1588320, aCond=..., milliSec=<optimized out>)
    at libreoffice/salhelper/source/condition.cxx:113
#3  0x00007f5373ec9cce in utl::Moderator::getResult (this=this@entry=0x539f100,
milliSec=milliSec@entry=5000)
    at libreoffice/unotools/source/ucbhelper/ucblockbytes.cxx:570
#4  0x00007f5373ecd9b1 in utl::UCBOpenContentSync (xLockBytes=...,
xContent=..., rArg=..., xSink=..., xInteract=...)
    at libreoffice/unotools/source/ucbhelper/ucblockbytes.cxx:788
#5  0x00007f5373ecfb54 in utl::UcbLockBytes::CreateLockBytes (xContent=...,
rProps=..., eOpenMode=eOpenMode@entry=(StreamMode::READ |
StreamMode::SHARE_DENYNONE), 
    xInteractionHandler=..., pHandler=pHandler@entry=0x0) at
libreoffice/unotools/source/ucbhelper/ucblockbytes.cxx:1436
#6  0x00007f5373ed23e8 in utl::lcl_CreateStream (rFileName=...,
eOpenMode=(StreamMode::READ | StreamMode::SHARE_DENYNONE),
xInteractionHandler=..., pHandler=0x0, 
    bEnsureFileExists=bEnsureFileExists@entry=true) at
libreoffice/unotools/source/ucbhelper/ucbstreamhelper.cxx:119
#7  0x00007f5373ed397e in utl::UcbStreamHelper::CreateStream (rFileName=...,
eOpenMode=<optimized out>, pHandler=<optimized out>)
    at libreoffice/unotools/source/ucbhelper/ucbstreamhelper.cxx:144
#8  0x00007f53741dd789 in GraphicFilter::ImportGraphic (
    this=0x7f53759cac00 <rtl::Static<(anonymous
namespace)::StandardGraphicFilter, (anonymous
namespace)::theGraphicFilter>::get()::instance>, rGraphic=..., rPath=..., 
    nFormat=nFormat@entry=65535, pDeterminedFormat=pDeterminedFormat@entry=0x0,
nImportFlags=nImportFlags@entry=GraphicFilterImportFlags::NONE)
    at libreoffice/vcl/source/filter/graphicfilter.cxx:1316
#9  0x00007f53493bde81 in SwHTMLParser::InsertImage (this=this@entry=0x50c79c0)
at libreoffice/sw/source/filter/html/htmlgrin.cxx:475
#10 0x00007f53493fd290 in SwHTMLParser::NextToken (this=0x50c79c0, nToken=268)
at libreoffice/sw/source/filter/html/swhtml.cxx:1493
#11 0x00007f53493d7375 in SwHTMLParser::BuildTableCell
(this=this@entry=0x50c79c0, pCurTable=pCurTable@entry=0x5bd3990,
bReadOptions=bReadOptions@entry=true, bHead=<optimized out>)
    at libreoffice/sw/source/filter/html/htmltab.cxx:3859
#12 0x00007f53493d9868 in SwHTMLParser::BuildTableRow
(this=this@entry=0x50c79c0, pCurTable=pCurTable@entry=0x5bd3990,
bReadOptions=<optimized out>, eGrpAdjust=<optimized out>, 
    eGrpVertOri=<optimized out>) at
libreoffice/sw/source/filter/html/htmltab.cxx:4284
#13 0x00007f53493da247 in SwHTMLParser::BuildTableSection (this=0x50c79c0,
pCurTable=0x5bd3990, bReadOptions=<optimized out>, bHead=<optimized out>)
    at libreoffice/sw/source/filter/html/htmltab.cxx:4472
#14 0x00007f53493dabcf in SwHTMLParser::BuildTable (this=this@entry=0x50c79c0,
eParentAdjust=<optimized out>, bIsParentHead=bIsParentHead@entry=false, 
    bHasParentSection=bHasParentSection@entry=true,
bHasToFly=bHasToFly@entry=false) at
libreoffice/sw/source/filter/html/htmltab.cxx:5261
#15 0x00007f53493fd7e7 in SwHTMLParser::NextToken (this=0x50c79c0, nToken=660)
at libreoffice/sw/source/filter/html/swhtml.cxx:1693
#16 0x00007f537353fae1 in HTMLParser::Continue (this=this@entry=0x50c79c0,
nToken=<optimized out>) at libreoffice/svtools/source/svhtml/parhtml.cxx:337
#17 0x00007f53493f5acb in SwHTMLParser::Continue (this=0x50c79c0, nToken=0) at
libreoffice/sw/source/filter/html/swhtml.cxx:630
#18 0x00007f537353c81c in HTMLParser::CallParser (this=this@entry=0x50c79c0) at
libreoffice/svtools/source/svhtml/parhtml.cxx:319
#19 0x00007f53493eea01 in SwHTMLParser::CallParser (this=this@entry=0x50c79c0)
at libreoffice/sw/source/filter/html/swhtml.cxx:561
#20 0x00007f53493eed24 in HTMLReader::Read (this=this@entry=0x4b90b10,
rDoc=..., rBaseURL=..., rPam=..., rName=...)
    at libreoffice/sw/source/filter/html/swhtml.cxx:219
#21 0x00007f53493737d6 in SwReader::Read (this=this@entry=0x7ffea1589ef0,
rOptions=...) at libreoffice/sw/source/filter/basflt/shellio.cxx:175
#22 0x00007f53494a3eaa in SwTransferable::_PasteFileContent (rData=...,
rSh=..., nFormat=nFormat@entry=SotClipboardFormatId::HTML,
bMsg=bMsg@entry=true)
    at libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:1703
#23 0x00007f53494ae8a4 in SwTransferable::PasteData (rData=..., rSh=...,
nAction=<optimized out>, nFormat=SotClipboardFormatId::HTML, 
    nDestination=nDestination@entry=SotExchangeDest::SWDOC_FREE_AREA,
bIsPasteFormat=bIsPasteFormat@entry=false, bIsDefault=false, pPt=0x0,
nDropAction=0 '\000', 
    bPasteSelection=false) at
libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:1334
#24 0x00007f53494aecb7 in SwTransferable::Paste (rSh=..., rData=...) at
libreoffice/sw/source/uibase/dochdl/swdtflvr.cxx:1177
#25 0x00007f5349532dd7 in SwBaseShell::ExecClpbrd (this=<optimized out>,
rReq=...) at libreoffice/sw/source/uibase/shells/basesh.cxx:288

The backtrace is from a build of current git master, ie future version 5.1.

If I paste the text from the wikipedia article as unformatted text
(Ctrl+Shift+Alt+V), the paste operation happens very quickly.

I think that the problem from a users' point of view, is that during this long
loading process, there is absolutely no feedback to the user, and the UI is
unresponsive.

I wonder if there is any way that the loading of such images can be postponed
as a background job?

I'm setting to NEW as I think there is enough information here to work with.

-- 
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