[Libreoffice-bugs] [Bug 138688] New: Pasting Calc data into Writer table near page break hangs Writer CRASH

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Sun Dec 6 01:34:48 UTC 2020


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

            Bug ID: 138688
           Summary: Pasting Calc data into Writer table near page break
                    hangs Writer CRASH
           Product: LibreOffice
           Version: 6.4.7.2 release
          Hardware: x86-64 (AMD64)
                OS: Mac OS X (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
          Assignee: libreoffice-bugs at lists.freedesktop.org
          Reporter: from+documentfoundation at jdlh.com

Description:
I have a specific 23-page report in Writer, which includes a few tables and
several headings. A few of the tables are populated by data from a Calc sheet.
I update the table by deleting all but one row from the table in Writer, then
copying replacement rows from the Calc sheet, and pasting into Writer. Writer
hangs, I think in an infinite loop. The page content flickers as the table and
following heading appear and disappear. LibreOffice runs at 100% of CPU, and
doesn't stop even after several minutes. LibreOffice refuses all UI
interaction. The only way out I have discovered is to force-quit LibreOffice.



Steps to Reproduce:
1. Open a particular Writer test case document, which has multiple pages,
headers, and a table near the end of a page, with a header after the table on
the following page. (I will work on reducing my test case to a simpler test
case which I can share.)
2. Scroll to the table near the end of a page, with a header after the table on
the following page. This table has a header row and one content row.
3. Open a Calc spreadsheet with new content for the table.
4. Select a cell range 1 row high and the same number of columns wide as in the
Writer table.
5. Edit… Copy
6. Switch to Writer window.
7. Click pointer before the first character of first cell of the content row of
the table.
8. Edit… Paste.

Actual Results:
Writer hangs, in what appears to be an infinite loop.
The pointer flickers back and forth between an arrow and an hourglass icon.
The window contents flicker back and forth between two scroll positions, two
page break positions, with the following header appearing to flicker into view
then out.
In macOS Activity Monitor, LibreOffice is running at approximately to
98.5-99.6% of one CPU.
Sampling application process using macOS Activity Monitor shows a deep
recursion through four execution locations. Process Sampling report attached.

Expected Results:
Data from clipboard replaces the existing content row of the table. LibreOffice
UI becomes responsive within 1.0 seconds.


Reproducible: Always


User Profile Reset: Yes



Additional Info:
Version: 7.0.3.1
Build ID: d7547858d014d4cf69878db179d326fc3483e082
CPU threads: 8; OS: Mac OS X 10.13.6; UI render: default; VCL: osx
Locale: en-CA (en_CA.UTF-8); UI: en-US
Calc: threaded

First observed on LibreOffice 6.4.7. Reproduced with no visible differences
after upgrading to LibreOffice 7.0.3. 

Table where I observe the bug is on page 20 of a 23-page report authored in
Writer. I am not comfortable sharing this document as a test case, because I
don't want to disclose the content and because it is likely more than we need
to demonstrate the problem. I will attempt to reduce this document to a minimal
test case. 

After the hang, and using Force Quit to stop LibreOffice, I run LibreOffice
again. It offers to recover any documents which were open. This appears to
succeed with no problem. 

Workaround: before the subject table, insert a paragraph "Safety page break",
and format the paragraph to have a page break before or after. (Format…
Paragaph… Text Flow… Breaks… check "Insert", accept Type: Page and Position:
Before. The table is now at the top of a page. Then paste into the table. Then
delete the "Safety page break" paragraph. This workaround has succeeded
sometimes, and failed sometimes.

The symbols which repeat from the Process Sample are: 
1. SfxDispatcher::Execute(unsigned short, SfxCallMode, SfxPoolItem const**,
unsigned short, SfxPoolItem const**)  (in libsfxlo.dylib) + 640  [0x110579cb0]
2. SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool)  (in
libsfxlo.dylib) + 607  [0x110577caf]
3. SwBaseShell::ExecClpbrd(SfxRequest&)  (in libswlo.dylib) + 1615 
[0x1c157af7f]
4. SwTransferable::Paste(SwWrtShell&, TransferableDataHelper&, RndStdIds, bool,
PasteTableType)  (in libswlo.dylib) + 3467  [0x1c14db03b]
This sequence seems to repeat about 500 times in the sample report, then calls
other functions.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20201206/42aed542/attachment.htm>


More information about the Libreoffice-bugs mailing list