Bug 139428 - Libreoffice Calc freezes when copying a cell - poll([{fd=6, events=POLLIN} loop
Summary: Libreoffice Calc freezes when copying a cell - poll([{fd=6, events=POLLIN} loop
Status: RESOLVED INSUFFICIENTDATA
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.0.4.2 release
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-05 15:13 UTC by mariobaldini
Modified: 2023-01-20 22:49 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
strace full log (335.96 KB, application/zip)
2021-01-05 15:13 UTC, mariobaldini
Details
sample file that triggers the issue (4.99 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2021-01-05 22:24 UTC, mariobaldini
Details
Writer document that also triggers a freeze (8.60 KB, application/vnd.oasis.opendocument.text)
2021-01-18 13:04 UTC, mariobaldini
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mariobaldini 2021-01-05 15:13:01 UTC
Created attachment 168706 [details]
strace full log

Hi all, 

Libreoffice Calc 7.0.4.2 keeps freezing after a cell copy (ctrl+c) is made. 

Steps to reproduce:
- In a basic document (5 sheets, no formula, just some cells filled with text and font size change).
- select some cells and press ctrl+c
- Calc freezes and after a while the OS prompts for process kill or wait. 

Version: 7.0.4.2 (installed directly from OS repository, without extra plugins or configs).
OS: Fedora 33 Linux ideapad 5.9.16-200.fc33.x86_64 #1 SMP Mon Dec 21 14:08:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Plugins/extra configs: none


When running with strace I can see that Calc enters an infinite loop: 

``` 
strace /usr/lib64/libreoffice/program/soffice.bin --calc

(...)
poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 2 ([{fd=6, revents=POLLIN}, {fd=11, revents=POLLIN}])
read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 2 ([{fd=6, revents=POLLIN}, {fd=11, revents=POLLIN}])
read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 2 ([{fd=6, revents=POLLIN}, {fd=11, revents=POLLIN}])
read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
write(6, "\1\0\0\0\0\0\0\0", 8)         = 8
```

Full strace log attached.

Until lines ~43600 the execution is fine
poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 0 (Timeout)

these messages are constantly logged but Calc works fine. After selecting a cell and copying it, the program freezes and keeps looping with the log:

poll([{fd=6, events=POLLIN}, {fd=11, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 2 ([{fd=6, revents=POLLIN}, {fd=11, revents=POLLIN}])
read(6, "\1\0\0\0\0\0\0\0", 16)         = 8
write(6, "\1\0\0\0\0\0\0\0", 8)         = 8


I am not sure how to help debug from now on, or what possibly may be causing the issue.

Best regards,

Mario 


poll([{fd=6, events=POLLIN}
Comment 1 mariobaldini 2021-01-05 15:30:16 UTC
Issue is confirmed also in Libreoffice Calc 7.2.0.0.alpha0+ build e6d3aa213a36... (daily build of 2021-01-05).

Same issue, with a different strace logs:

PROGRAM START, WORKING:
```
(...)
read(6, "20%\n25%\n30%\n35%\n40%\n50%\n60%\n", 255) = 28
futex(0x1daa2a8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1609860152, tv_nsec=623835000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x1daa2b0, FUTEX_WAKE_PRIVATE, 1) = 0
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="8\2\4\0\2\0\200\1\4\0\0\0fff\0C\0\5\0\1\0\200\1\2\0\200\1\36\0\221\0"..., iov_len=72}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 72
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
read(6, "75%\n", 255)                   = 4
futex(0x1daa2a8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1609860153, tv_nsec=190507000}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x1daa2b0, FUTEX_WAKE_PRIVATE, 1) = 0
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="8\2\4\0\2\0\200\1\4\0\0\0fff\0C\0\5\0\1\0\200\1\2\0\200\1\36\0\221\0"..., iov_len=72}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 72
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
read(6, "100%\nend\n", 255)             = 9
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="<\2\2\0\2\0\200\1<\0\2\0\0\0\200\1+\0\1\0", iov_len=20}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 20
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0017\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
shutdown(5, SHUT_RDWR)                  = 0
close(5)                                = 0
futex(0x1daa2a8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1609861177, tv_nsec=443714000}, FUTEX_BITSET_MATCH_ANYwarn:sfx.control:15663:15663:sfx2/source/control/dispatch.cxx:1206: Childwindow slot missing: 25917
warn:sfx.control:15663:15663:sfx2/source/control/dispatch.cxx:1206: Childwindow slot missing: 25917
```


AFTER FILE OPEN, ALSO WORKING FINE (sheet navigation, file saving, etc..)
``` 
warn:sfx.dialog:15663:15663:sfx2/source/dialog/filtergrouping.cxx:357: already have an element for WordPerfect
warn:sfx.dialog:15663:15663:sfx2/source/dialog/filtergrouping.cxx:357: already have an element for writerweb8_writer_template
warn:sfx.dialog:15663:15663:sfx2/source/dialog/filtergrouping.cxx:357: already have an element for writerglobal8
warn:xmloff:15663:15663:sax/source/fastparser/fastparser.cxx:1323: unknown element xsi:type http://www.w3.org/2001/XMLSchema-instance
warn:xmloff:15663:15663:sax/source/fastparser/fastparser.cxx:1323: unknown element xsi:type http://www.w3.org/2001/XMLSchema-instance
warn:oox:15663:15709:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:oox:15663:15709:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:oox:15663:15709:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:oox:15663:15711:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:oox:15663:15711:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:oox:15663:15711:oox/source/helper/progressbar.cxx:67: ProgressBar::setPosition - invalid position
warn:legacy.osl:15663:15663:xmlsecurity/source/xmlsec/nss/nssinitializer.cxx:218: failed to create instance
warn:legacy.osl:15663:15663:xmlsecurity/source/xmlsec/nss/nssinitializer.cxx:221: failed to create instance
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:legacy.osl:15663:15663:sc/source/ui/view/tabvwshh.cxx:229: no accessibility broadcaster?
warn:sfx.control:15663:15663:sfx2/source/control/dispatch.cxx:1206: Childwindow slot missing: 25917
warn:sfx.control:15663:15663:sfx2/source/control/dispatch.cxx:1206: Childwindow slot missing: 25917
warn:legacy.tools:15663:15663:svx/source/form/fmvwimp.cxx:436: FmXFormView::~FmXFormView: Window list not empty!
```


AFTER A CELL IS COPIED, PROGRAM FREEZES:
```
warn:xmloff:15663:15663:xmloff/source/text/XMLTextNumRuleInfo.cxx:89: <XMLTextNumRuleInfo::Set(..)> - numbering rules instance does not contain any numbering rule
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 5
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 2
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 5
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 10
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 2
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 3
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 5
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 2
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 5
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 10
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 2
warn:editeng:15663:15663:editeng/source/uno/unofield.cxx:400: Id service unknown: 3
warn:legacy.osl:15663:15663:sc/source/core/data/document.cxx:5496: Wrong index in AttrArray
) = 0
futex(0x1daa2b0, FUTEX_WAKE_PRIVATE, 1) = 0
close(6)                                = 0
exit_group(137)                         = ?
+++ exited with 137 +++
```

Execution is stopped manually from the caller cmd line.
Comment 2 Xisco Faulí 2021-01-05 15:49:12 UTC
Thank you for reporting the bug. Please attach a sample document, as this makes it easier for us to verify the bug. 
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the requested document is provided.
(Please note that the attachment will be public, remove any sensitive information before attaching it. 
See https://wiki.documentfoundation.org/QA/FAQ#How_can_I_eliminate_confidential_data_from_a_sample_document.3F for help on how to do so.)
Comment 3 mariobaldini 2021-01-05 22:24:02 UTC
Created attachment 168711 [details]
sample file that triggers the issue

Please find attached one sample file that triggers the issue. 

- Open the file using Libreoffice Calc 7.0.4.2
- Select cell A1
- Copy it using ctrl+c
- after ~2s the program freezes
- after ~10s the OS/Gnome alerts about the freeze and prompt for Wait/Force quit.

Cheers,
Mario
Comment 4 mariobaldini 2021-01-05 22:28:32 UTC
Extra environment info:

Fedora 33 (Workstation Edition) 64 bit
GNOME version: 3.38.2 Wayland
Full up to date as of 2020-01-05


dnf info libreoffice:
Name         : libreoffice
Epoch        : 1
Version      : 7.0.4.2
Release      : 1.fc33
Architecture : x86_64
Size         : 16 k
Source       : libreoffice-7.0.4.2-1.fc33.src.rpm
Repository   : updates
Comment 5 mariobaldini 2021-01-18 13:04:03 UTC
Created attachment 168990 [details]
Writer document that also triggers a freeze
Comment 6 mariobaldini 2021-01-18 13:05:21 UTC
I can also observe the issue on the attached Writer doc. 

It's possible to open it, edit, save, etc.

But if I select a section of text (eg. "view_laf==0") and hit ctrl+c, the programs becomes unresponsive.
Comment 7 Buovjaga 2021-12-02 12:03:52 UTC
(In reply to mariobaldini from comment #4)
> Extra environment info:
> 
> Fedora 33 (Workstation Edition) 64 bit
> GNOME version: 3.38.2 Wayland
> Full up to date as of 2020-01-05

You mention Wayland here. Does the freeze also happen in an X11 session? Also, does it happen with the latest 7.2.x version?
Comment 8 QA Administrators 2022-06-01 03:37:53 UTC Comment hidden (obsolete)
Comment 9 QA Administrators 2022-07-02 03:32:21 UTC
Dear mariobaldini,

Please read this message in its entirety before proceeding.

Your bug report is being closed as INSUFFICIENTDATA due to inactivity and
a lack of information which is needed in order to accurately
reproduce and confirm the problem. We encourage you to retest
your bug against the latest release. If the issue is still
present in the latest stable release, we need the following
information (please ignore any that you've already provided):

a) Provide details of your system including your operating
   system and the latest version of LibreOffice that you have
   confirmed the bug to be present

b) Provide easy to reproduce steps – the simpler the better

c) Provide any test case(s) which will help us confirm the problem

d) Provide screenshots of the problem if you think it might help

e) Read all comments and provide any requested information

Once all of this is done, please set the bug back to UNCONFIRMED
and we will attempt to reproduce the issue. Please do not:

a) respond via email 

b) update the version field in the bug or any of the other details
   on the top section of our bug tracker

Warm Regards,
QA Team

MassPing-NeedInfo-FollowUp