Download it now!
Bug 132714 - Crash when deleting table-row used for diagram generation.
Summary: Crash when deleting table-row used for diagram generation.
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.1.0.3 release
Hardware: x86-64 (AMD64) All
: high critical
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisectRequest, regression
Depends on:
Blocks: Chart Crash
  Show dependency treegraph
 
Reported: 2020-05-05 12:20 UTC by Sion
Modified: 2020-06-21 07:08 UTC (History)
4 users (show)

See Also:
Crash report or crash signature: ["SwTableBox::GetSttIdx()"]


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sion 2020-05-05 12:20:47 UTC
Description:
First, this is the bug report:
https://crashreport.libreoffice.org/stats/crash_details/f22c0a1f-e712-41b7-8d9a-0414f1101036

(I couldn't find any way to add recreation details to the automatic crash report (consider adding a field for user text before sending the automatic crash report, so I don't have to post several crash reports again)).

Here are recreation details:
#1: Make a table (in my case: X=3 & Y=7).
#2: Fill in some random numbers in the table.
#3: Select the table & go to: "Insert > Diagram".
#4: Generate a diagram from the data in the table.
#4.1: When done & the diagram works as expected.
#5: Go to the table & delete 1 row.
#6: Double click the diagram, so it updates the values. BOOOOM!!!
#7: Crash!

Additional data:
#1.1 In my case I used X-row-1 for axis-titles, set to heading-2
I also left the 2'nd row empty (because I tried to make the diagram not look weird (didn't work)).
#3.1: In my case I used a line diagram with data points.

Crash Cause assumption:
I assume that the diagram isn't updated properly & tries to read the last row that no longer exist & therefore returns some undefined- or null-value that isn't captured & handled as it should.

Hope this is helpful.
Good luck!

Steps to Reproduce:
see description.

Copy from description:

Here are recreation details:
#1: Make a table (in my case: X=3 & Y=7).
#2: Fill in some random numbers in the table.
#3: Select the table & go to: "Insert > Diagram".
#4: Generate a diagram from the data in the table.
#4.1: When done & the diagram works as expected.
#5: Go to the table & delete 1 row.
#6: Double click the diagram, so it updates the values. BOOOOM!!!
#7: Crash!

Additional data:
#1.1 In my case I used X-row-1 for axis-titles, set to heading-2
I also left the 2'nd row empty (because I tried to make the diagram not look weird (didn't work)).
#3.1: In my case I used a line diagram with data points.


Actual Results:
Crash to desktop & recreation of the document with possibly some loss of data.

Expected Results:
A working diagram.


Reproducible: Always


User Profile Reset: No



Additional Info:
LibreOffice version: 6.2.8.2 An older version?

see description.

Crash Cause assumption:
I assume that the diagram isn't updated properly & tries to read the last row that no longer exist & therefore returns some undefined- or null-value that isn't captured & handled as it should.
Comment 1 Telesto 2020-05-05 17:21:50 UTC
1. Open attachment 160394 [details]
2. Select A1 until C2
3. Right click above cell C2 (containing 2)
4. Delete rows
5. Double click the chart -> Crash

Not in
Versie: 4.4.7.2 
Build ID: f3153a8b245191196a4b6b9abd1d0da16eead600
Locale: nl_NL
Comment 2 Aron Budea 2020-05-09 02:59:32 UTC
Already crashes with Telesto's sample in oldest commit of bibisect-linux-64-5.2, but fine in latest commit of bibisect-50max. Needs to be bibisected in Windows.
Comment 3 Buovjaga 2020-05-11 14:40:16 UTC
(In reply to Aron Budea from comment #2)
> Already crashes with Telesto's sample in oldest commit of
> bibisect-linux-64-5.2, but fine in latest commit of bibisect-50max. Needs to
> be bibisected in Windows.

Not sure why on Windows? Did you test with 5.1 repo as well?

I was able to repro the crash exactly once on Windows, with master. Modification to Telesto's step 3 was that I did not click above the cell containing 2, but on it. However, I was then no longer able to repro with the same version or master of Win repos 5.2, 5.3, 5.4, 6.2, 6.3, 6.4, 6.5.

It seems either Telesto needs to bibisect or I need some help with reliability of crashing.

Version: 7.0.0.0.alpha0+ (x64)
Build ID: 00db5933ded1884b2ac453552badae20fa943478
CPU threads: 4; OS: Windows 10.0 Build 18362; UI render: default; VCL: win; 
Locale: fi-FI (fi_FI); UI-Language: en-US
Calc: threaded
Comment 4 Aron Budea 2020-05-12 04:23:07 UTC
(In reply to Buovjaga from comment #3)
> (In reply to Aron Budea from comment #2)
> > Already crashes with Telesto's sample in oldest commit of
> > bibisect-linux-64-5.2, but fine in latest commit of bibisect-50max. Needs to
> > be bibisected in Windows.
> 
> Not sure why on Windows? Did you test with 5.1 repo as well?
There's no 5.1 bibisect repo on Linux, yet.
What's strange though is that it doesn't crash with release versions until later... In Linux it's fine with 5.4.0.3, but crashes with 6.0.0.3. In Windows it's fine with 6.0.0.3, and crashes with 6.1.0.3.

Crash report:
- Win / 7.0 alpha1: https://crashreport.libreoffice.org/stats/crash_details/4de191f8-31c1-4508-9e64-e7e959847a52
- Win / 6.1.0.3: https://crashreport.libreoffice.org/stats/crash_details/0f78ca77-4a6f-4ea5-a711-090fad019d41
- Linux / 6.0.0.3: https://crashreport.libreoffice.org/stats/crash_details/0cb5ffd6-252d-4bf6-bc4c-651fd7790cc6

> I was able to repro the crash exactly once on Windows, with master.
> Modification to Telesto's step 3 was that I did not click above the cell
> containing 2, but on it. However, I was then no longer able to repro with
> the same version or master of Win repos 5.2, 5.3, 5.4, 6.2, 6.3, 6.4, 6.5.
Where you click in the table doesn't matter, you have a 3x2 cell selection ranging from 'a' to '2', the two affected rows will be deleted (in fact it's enough to select a range covering a single cell in each row, eg. 'a' and 'b').

There were a few times when I couldn't repro the crash, but generally I can.