Bug 145886 - EDITING CHART Free Form Line Crash in: SdrUndoObj::GetDescriptionStringForObject
Summary: EDITING CHART Free Form Line Crash in: SdrUndoObj::GetDescriptionStringForObject
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.1.8.1 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-11-25 09:01 UTC by matthewnote
Modified: 2022-02-14 06:24 UTC (History)
2 users (show)

See Also:
Crash report or crash signature: ["SdrUndoObj::GetDescriptionStringForObject"]


Attachments
Two XY scatter Charts, one with data point to point lines (5.89 MB, application/vnd.oasis.opendocument.spreadsheet)
2021-11-26 08:28 UTC, matthewnote
Details

Note You need to log in before you can comment on or make changes to this bug.
Description matthewnote 2021-11-25 09:01:08 UTC
This bug was filed from the crash reporting server and is br-d9787992-db83-4fd3-a933-11051a6fad69.
=========================================

Similar (fixed) Bugs 124112 and 124761 were crashes when adding "text boxes" to a Chart.  This Bug report concerns adding "free form line" (Calc 7.1, Ubuntu 20.04).

This Crash happened as follows:

1.  A Sheet has two Charts(very large in pixels and 18000 xy scatter plots).
2.  One Chart has four text boxes added with areas of different colours.
3.  A new oval shape was drawn with an area in colour, transparent with a dashed line border.
4.  The tool "insert free form line" was used to trace some of that dashed line border outline and then enlarge it elsewhere on the chart. It worked. 

[A new large oval were preferred, yet the tool requires that the draw box fits onto the Chart Area.  Can be done by copying the Chart and placing very large x and y scale negative minimums with the intention to trace later.  Part circle, part oval or crop not available in the tools].

5.  The first free form line trace was too rough so deleted.  That worked.
6.  Reselecting the free form line tool and beginning to draw a second version of the required trace, when the mouse was released, Calc crashed.
7.  File recovery was initiated, yet that stopped also.  Ubuntu mentioned that memory available was insufficient to send a report about it (computer has 32GB RAM). 
8.  After reading the instructions for filing a Bug Report about a crash (and doing so) Libreoffice started again with an offer to recover the files.  "Discard" file recovery info was selected and work resumes with the last saved version of the file (not a serious problem here;  backups are regular).

Version: 7.1.7.2 / LibreOffice Community
Build ID: c6a4e3954236145e2acb0b65f68614365aeee33f
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 1 Xisco Faulí 2021-11-25 09:33:23 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 2 matthewnote 2021-11-26 08:28:38 UTC
Created attachment 176515 [details]
Two XY scatter Charts, one with data point to point lines

The file is designed for use with 4K resolution, full screen.  It plots up to 25200 X and Y data, one Chart with trend lines, one without.  Some mouse/keyboard activities take a while (several seconds for each selection) yet that doesn't matter here (Cancer research).

The Bug reproduces using an Ubuntu system connected to two 4K monitors often using Calc on both.  Anti-aliasing On.  One monitor used for this "reproduction".

Step 1.  Open the file.  PLOTR sheet is shown using dummy data (called Calibrate).
Step 2.  Double-click the left hand (larger) chart and wait for the "selected" orange squares at each corner.  The chart edit text/shapes toolbar pops up.
Step 3.  Choose Freeform Line and draw on the chart anywhere.  Wait for the line to complete and be highlighted as "selected". Then click on the chart surface elsewhere and draw another. I tested adding five separate lines . . . all working.
Step 4.  Click on one of the lines (I test using the first) and delete (keyboard delete key used here, not the mouse menu).  That line is removed from view.
Step 5.  Draw (add) a new freeform line and (if necessary) start yet another freeform line.  Libreoffice crashes.

Note.  Just drawing (adding) freeform lines always works here.  The crash occurs only if/when/after one of the freeform lines has been deleted.  The crash seems not to depend on other text boxes or shapes being present.

[User interim workaround - adding freeform lines works well:  one may delete unwanted lines at the end of the editing work, when finished, without adding any more lines (evade crash), then save the file].

I rarely use freeform lines yet they are useful for noting, else I use pen and paper, sometimes full-screen screencapture, overlaying observations using Writer or Draw.  I then replace Calc shapes with algorithms that will be actually plotted as data. So I delete as many as I draw (all temporary).
Comment 3 zcrhonek 2021-12-30 16:27:52 UTC
I can reproduce the crash with Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: c13db6e792cc347ffff4585f23866f195651f21f
CPU threads: 4; OS: Linux 5.11; UI render: default; VCL: gtk3
Locale: cs-CZ (cs_CZ.UTF-8); UI: en-US
Calc: threaded Jumbo

Step 5.  Draw (add) a new freeform line and (if necessary) start yet another freeform line.  Libreoffice crashes.
 >> in my case it crashed at second freeform line.
Comment 4 zcrhonek 2021-12-30 16:34:02 UTC
No crash in Version: 6.1.0.0.alpha1+
Build ID: 3a801799536e6870f2fb111b1cc00b9575a35a39
CPU threads: 4; OS: Linux 5.11; UI render: default; VCL: gtk3; 
Locale: cs-CZ (cs_CZ.UTF-8); Calc: group
Marking as regression.
Comment 5 zcrhonek 2021-12-31 07:45:04 UTC
Cannot reproduce the crash now. @Xisco, can you test it?
Comment 6 Xisco Faulí 2022-01-13 10:55:03 UTC
According to https://crashreport.libreoffice.org/stats/signature/SdrUndoObj::GetDescriptionStringForObject, it seems we don't have any report in 7.2 branch. Closing as RESOLVED WORKSFORME for now.