Bug 104488 - LibO stops repainting/crashes when scrolling document (a11y)
Summary: LibO stops repainting/crashes when scrolling document (a11y)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.2.0.4 release
Hardware: All Linux (All)
: highest critical
Assignee: Michael Stahl (CIB)
URL:
Whiteboard: target:5.4.0 target:5.3.0.1 target:5.2.5
Keywords: accessibility, bibisected, bisected, haveBacktrace, regression
: 104607 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-12-08 07:23 UTC by Mikhail Novosyolov
Modified: 2016-12-21 14:45 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
doc (22.50 KB, application/msword)
2016-12-08 09:51 UTC, Mikhail Novosyolov
Details
screenshot (44.00 KB, image/png)
2016-12-08 10:25 UTC, Xisco Faulí
Details
the same .doc converted to .odt, also hangs (15.75 KB, application/vnd.oasis.opendocument.text)
2016-12-10 11:57 UTC, Mikhail Novosyolov
Details
a backtrace (12.55 KB, text/plain)
2016-12-11 01:50 UTC, fiftyigfuci_f_mi
Details
gdb backtrace (75.10 KB, text/plain)
2016-12-13 10:04 UTC, Xisco Faulí
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Novosyolov 2016-12-08 07:23:36 UTC
The original document was taken from https://bugs.documentfoundation.org/show_bug.cgi?id=98681 (bug 98681).
I saved the original document from OOXML docx to binary doc using WPS Office (Linux) and then opened the .doc in Libreoffice. Scrolled it from the begining of the document to the end for several times and Libreoffice hanged. Saved it into odt, but in odt it also hangs.

Reproduced on Libreoffice 5.2.4 and 5.3 beta1 nightly build 08.12.2016
Comment 1 Mikhail Novosyolov 2016-12-08 07:24:23 UTC
I hangs completely, making to high load on the CPU and/or the graphical system (Xorg)
Comment 2 tommy27 2016-12-08 07:49:23 UTC
please upload here the exact version of the file that makes LibO hangs
Comment 3 Mikhail Novosyolov 2016-12-08 09:51:09 UTC
Created attachment 129391 [details]
doc
Comment 4 Mikhail Novosyolov 2016-12-08 09:52:13 UTC
Forgot to attach it. I can't reproduce freezing on another computer with KDE. The first was with Unity (but I don't think that the DE matters)
Comment 5 Mikhail Novosyolov 2016-12-08 09:57:57 UTC
(In reply to Mikhail Novosyolov from comment #1)
> I hangs completely, making to high load on the CPU and/or the graphical
> system (Xorg)
..making NO high load.. (to-->no)

(sorry mor misspelling)
Comment 6 Xisco Faulí 2016-12-08 10:24:13 UTC
Scrolling down and then up again in

Version: 5.4.0.0.alpha0+
Build ID: 7fc84a8e6678e3d0399983f5a078c9b2beb6ee4b
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group

I get the following error: 'object has been already disposed' and then LibreOffice is closed automatically
Comment 7 Xisco Faulí 2016-12-08 10:25:07 UTC
Created attachment 129393 [details]
screenshot
Comment 8 Xisco Faulí 2016-12-08 10:26:22 UTC
Error in comment 6 isn't displayed in GTk2, but LibreOffice hangs anyway.

Version: 5.4.0.0.alpha0+
Build ID: 7fc84a8e6678e3d0399983f5a078c9b2beb6ee4b
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: gtk2; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group
Comment 9 Xisco Faulí 2016-12-08 10:29:47 UTC
I can't reproduce the hang in

Version: 4.5.0.0.alpha0+
Build ID: 2851ce5afd0f37764cbbc2c2a9a63c7adc844311
Locale: ca_ES

thus, this is a regression. Raising importance
Comment 10 Xisco Faulí 2016-12-08 10:34:16 UTC
I can reproduce it in

Version: 5.2.0.4
Build ID: 066b007f5ebcc236395c7d282ba488bca6720265
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; 
Locale: ca-ES (ca_ES.UTF-8)

but not in 

Version: 5.1.6.2
Build ID: 07ac168c60a517dba0f0d7bc7540f5afa45f0909
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group
Comment 11 Xisco Faulí 2016-12-08 10:37:31 UTC
@raal, could you please bisect this one whenever you have some time? it's a critical one and should be fixed asap. Regards
Comment 12 raal 2016-12-10 10:20:05 UTC
I cannot reproduce this bug on windows. 
Mikhail, what is your OS?

On linux command line error: (soffice:10366): Gtk-CRITICAL **: gtk_grid_attach: assertion 'GTK_IS_GRID (grid)' failed
Comment 13 Mikhail Novosyolov 2016-12-10 11:57:31 UTC
Created attachment 129453 [details]
the same .doc converted to .odt, also hangs
Comment 14 Mikhail Novosyolov 2016-12-10 11:59:29 UTC
Linux. But I could not reproduce the bug on the same version of Libreoffice in KDE with KWin (Intel graphics). The bug is reproducable in Unity with Compiz (by default) (Nvidia Optimus, Nvidia off by Prime, working on Intel).
Can someone test it with other Window managers?
Comment 16 fiftyigfuci_f_mi 2016-12-11 01:50:11 UTC
Created attachment 129477 [details]
a backtrace

lang::DisposedException is thrown at accessibility::AccessibleContextBase::ThrowIfDisposed.
Comment 17 Xisco Faulí 2016-12-12 10:02:16 UTC
@Michael, Could it be possible that this was introduced by one of your commits here? https://cgit.freedesktop.org/libreoffice/core/log/sw?qt=range&q=49f81b3f33e1b043a1615855503768d78db5f093..af57a81d0c28944b424649f024c28f444a1ab2d9
Comment 18 Xisco Faulí 2016-12-13 09:17:14 UTC
it doesn't crash in

Version: 5.4.0.0.alpha0+
Build ID: 634589b340316ba64b731b4d923c1056be415494
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: x11; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group
Comment 19 Xisco Faulí 2016-12-13 10:04:28 UTC
Created attachment 129567 [details]
gdb backtrace
Comment 20 Xisco Faulí 2016-12-13 10:08:43 UTC
*** Bug 104607 has been marked as a duplicate of this bug. ***
Comment 21 Xisco Faulí 2016-12-13 10:08:58 UTC
*** Bug 104620 has been marked as a duplicate of this bug. ***
Comment 22 Xisco Faulí 2016-12-13 22:19:57 UTC
*** Bug 104656 has been marked as a duplicate of this bug. ***
Comment 23 Commit Notification 2016-12-16 09:26:01 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=5a3b2111172f106378cbf78aba0fde1db3642275

tdf#104488 editeng,svx: throw less Accessible exceptions

It will be available in 5.4.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 24 Commit Notification 2016-12-16 09:26:09 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9ada2da6f1bceb5d24f23d8df08103535714918a

tdf#104488 sw: assert if exception escapes from UpdateAccessible()

It will be available in 5.4.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 25 Commit Notification 2016-12-19 12:04:06 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b052b5d890be70dd22b9aea36a356074a2c39871

tdf#104488 SwAccessibleMap: dispose sub-shapes of group shapes

It will be available in 5.4.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 26 Michael Stahl (CIB) 2016-12-19 12:11:00 UTC
regression from:

commit b299aa7c64adc2de86c367888e6ccb73c4b31bc2
Author:     Michael Stahl <mstahl@redhat.com>
AuthorDate: Thu Feb 25 23:24:53 2016 +0100

    sw: restore some Dispose calls in a11y code


fixed on master, hopefully all AccessibleShapes should be disposed at the right time now
Comment 27 Commit Notification 2016-12-19 19:47:24 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=0dd9e51abc5705b7ae253d3f9b284136cf1597d6&h=libreoffice-5-3

tdf#104488 editeng,svx: throw less Accessible exceptions

It will be available in 5.3.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 28 Commit Notification 2016-12-19 19:48:50 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=2e74bf2e05f0c98bb9ca318e6b0f9e715d0fdba7&h=libreoffice-5-3

tdf#104488 sw: assert if exception escapes from UpdateAccessible()

It will be available in 5.3.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 29 Commit Notification 2016-12-19 19:50:12 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=211b9d9ef2b5c68a32c88453c9ae0e1131460eb8&h=libreoffice-5-3

tdf#104488 SwAccessibleMap: dispose sub-shapes of group shapes

It will be available in 5.3.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 30 Commit Notification 2016-12-19 20:48:17 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=0152535649bf6827767af47e115580b2cc1906f6&h=libreoffice-5-2

tdf#104488 editeng,svx: throw less Accessible exceptions

It will be available in 5.2.5.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.