Bug 137871 - CRASH: applying different styles to different cells in table (GTK3)
Summary: CRASH: applying different styles to different cells in table (GTK3)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.1.0 target:7.0.4
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-30 09:26 UTC by Xisco Faulí
Modified: 2020-11-03 09:47 UTC (History)
4 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 Xisco Faulí 2020-10-30 09:26:35 UTC
This is a follow-up of bug 137754

Steps to reproduce it:
1. Insert the table
2. Click on a any cell
3. Choose style 'Object with no fill and no line' in the sidebar
4. Click outside the table
5. Click on another cell
6. Choose style 'Object without fill' in the sidebar

-> Crash

Reproduced in

Version: 7.1.0.0.alpha1+
Build ID: ec1f4d3253963ac16d638734ac70dde033e82154
CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 1 Xisco Faulí 2020-10-30 09:30:21 UTC
it seems to be only GTK3
@Caolán, I thought you might be interested in this issue
Comment 2 Caolán McNamara 2020-10-30 09:51:19 UTC
I see a crash, but not sure if its the same crash you see. The one I see is fixed with https://gerrit.libreoffice.org/c/core/+/105041 and is a scenario that is now common under gtk3 but would likely have long existed under windows with input-methods, so there might be duplicates wrt input engines and impress tables.
Comment 3 Commit Notification 2020-10-30 12:39:05 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/1a4ae360d06ae300a8fd5482b3b3a86dc021750d

Related: tdf#137871 GetTextEditOutlinerView returns null in a table

It will be available in 7.1.0.

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

Affected users are encouraged to test the fix and report feedback.
Comment 4 Kevin Suo 2020-10-30 14:28:59 UTC
(In reply to Caolán McNamara from comment #2)
When I was trying to verify the fix for bug 137154, I encounter a crash when I insert a table and then click any cell in the table (thus I am not able to verify the fix for bug 137154). 

Then I bibisected this new crash (i.e., when click in the cell), and located to the following commit which caused the crash:

commit ce5e41ab99af350ca8f4b9fef3017d53f3526f83
Related: tdf#137620 use existing SalEvent::SurroundingTextRequest
for signalIMRetrieveSurrounding

The gdb backtrace shows:
> 0x00007fffd15f7605 in sd::Window::GetSurroundingText() const () from /home/suokunlong/lo/bibisect-linux-64-7.1-CN/instdir/program/../program/libsdlo.so
> #0  0x00007fffd15f7605 in sd::Window::GetSurroundingText() const () at /home/suokunlong/lo/bibisect-linux-64-7.1-CN/instdir/program/../program/libsdlo.so
> #1  0x00007ffff3e4e0ef in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) () at /home/suokunlong/lo/bibisect-linux-64-7.1-CN/instdir/program/libvcllo.so
> #2  0x00007fffe1463872 in GtkSalFrame::IMHandler::signalIMRetrieveSurrounding(_GtkIMContext*, void*) () at /home/suokunlong/lo/bibisect-linux-64-7.1-CN/instdir/program/libvclplug_gtk3lo.so
> ...

Thus it must be the one you have encountered and fixed in this bug. I am building the most recent master to verify if both these two bugs are really fixed.
Comment 5 Kevin Suo 2020-10-30 15:08:58 UTC
Caolán: I tested a build with your commit 1a4ae360d06ae300a8fd5482b3b3a86dc021750d. It fixed the issue as I stated in comment 4 (which should be the same as the one you mentioned in comment 2). I also tested that bug 137554 seems also fixed, with the two commits combined.

However, I still see a crash when I was trying to apply styles to two different cells or cell ranges. There is not a pattern, hard to reproduce, but it crashed several times in my 10-minutes test. Not sure whether it is the same issue as reported by Xisco Faulí in his original bug report.
Comment 6 Caolán McNamara 2020-10-30 16:26:23 UTC
yeah comment #4 is what I saw in #2 and have addressed. Seeing as xisco explicitly mentioned gtk3 which newly uses that codepath I'm reasonably confident that this is the reported problem.

wrt the remaining more random crash, if you can get a backtrace out of it that might be helpful as a new bug, unless the stack frames are somewhat similar to suggest some Input Method relation. The impress tables are quite "fiddly" to click into and work with so might be hard to get the exact same steps each time.
Comment 7 Xisco Faulí 2020-10-30 16:42:19 UTC
this is weird, I can't reproduce the crash you both have but I can still reproduce the crash I originally reported in

Version: 7.1.0.0.alpha1+
Build ID: fdb6d6ccf45e679ff3e369a876482b6801e08e25
CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

will try to get a backtrace and create a new report
Comment 8 Commit Notification 2020-11-03 09:47:00 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-0":

https://git.libreoffice.org/core/commit/08c2a967a2986f1b8d7952f653fa4a0ed0def715

Related: tdf#137871 GetTextEditOutlinerView returns null in a table

It will be available in 7.0.4.

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

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