Bug 142546 - FILEOPEN LO 7.1.3 breaks formulas in .FODT files
Summary: FILEOPEN LO 7.1.3 breaks formulas in .FODT files
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.0.3 release
Hardware: All All
: medium major
Assignee: Not Assigned
URL:
Whiteboard: target:7.2.0 target:7.1.5 target:7.1.4
Keywords: bibisected, bisected, filter:fodt, regression
Depends on:
Blocks: ODF-Flat
  Show dependency treegraph
 
Reported: 2021-05-28 16:30 UTC by Dave
Modified: 2021-06-10 08:56 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
FODT file created by LO7.0.6 stable. OK (170.22 KB, application/octet-stream)
2021-05-28 16:42 UTC, Dave
Details
FODT file damaged by LO 7.1.3 (169.10 KB, application/octet-stream)
2021-05-28 16:43 UTC, Dave
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dave 2021-05-28 16:30:37 UTC
Description:
Files were created in LO 7.0.6.2 Stable. Files are a report with embedded spreadsheet saved as .FODT. When opened with LO 7.1.3 all formulas are broken. Every formula has =of: prepended and status line at window bottom reports "Error: Variable missing". Deleting the unexpected extra 4 characters fixes the problem. See attached screenshot.

If file is closed without saving, the file still works fine in LO 7.0.6.2 Stable. However saving the document with LO 7.1.3 makes the problem permanent, even if opened with the older version of LO. 

This is a problem with .FODT files, does not happen with .XLSX files. Probably limited to files saved as FODT format. 

Once the formulas are repaired by deleting the extra 4 characters in every formula and the file is saved, it remains fixed if file is opened by either mentioned LO version. 

Steps to Reproduce:
1.Create a file with embedded spreadsheet with some formulas in LO 7.0.6.2 or older, save as .FODT
2.quit app
3.Open LO 7.1.3, open FODT file. Notice all formulas are damaged, and are prepended with 4 unexpected characters =of:

Actual Results:
On opening the file in LO 7.1.3, all formulas are damaged, and are prepended with 4 unexpected characters =of:

Expected Results:
File should open without causing damage to spreadsheet formulas in any version of LO. 


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.0.6.2
Build ID: 144abb84a525d8e30c9dbbefa69cbbf2d8d4ae3b
CPU threads: 12; OS: Mac OS X 10.14.6; UI render: default; VCL: osx
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

=-=-=-=-=-===-=-=-=-=--=-==-
Version: 7.1.3.2 / LibreOffice Community
Build ID: 47f78053abe362b9384784d31a6e56f8511eb1c1
CPU threads: 12; OS: Mac OS X 10.14.6; UI render: default; VCL: osx
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 1 Dave 2021-05-28 16:41:02 UTC
See 2 attached example files. 
One file has only been saved by LO 7.0.6 Stable and it is OK. No problems. 

The other file was also created in LO 7.0.6 stable, but when LO 7.1.3 opened the file, it damaged the formulas by prepending =of: to each formula. Closing the file without saving allows it to be opened by older version of LO without any signs of damage. Formula damage was locked in when the file was saved by LO 7.1.3.
Comment 2 Dave 2021-05-28 16:42:43 UTC
Created attachment 172417 [details]
FODT file created by LO7.0.6 stable. OK
Comment 3 Dave 2021-05-28 16:43:43 UTC
Created attachment 172418 [details]
FODT file damaged by LO 7.1.3
Comment 4 m.a.riosv 2021-05-28 20:00:07 UTC
Repro
Version: 7.1.5.0.0+ (x64) / LibreOffice Community
Build ID: 3766e78348d52b9491179c32e9062e25e58250f7
CPU threads: 4; OS: Windows 10.0 Build 21387; UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: threaded
Version: 7.2.0.0.alpha1+ (x64) / LibreOffice Community
Build ID: 187136265d26c014e842550c2f1fc5997736e4fa
CPU threads: 4; OS: Windows 10.0 Build 21387; UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: CL
Comment 5 Aron Budea 2021-05-29 08:07:52 UTC
Bibisected to the following commit using repo bibisect-linux-64-7.1. Adding CC: to Noel Grandin.
Same commit as bug 139785's.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=81fe31d2c8977791f9b90ab1da4fbb1a778f87fb
author		Noel Grandin <noelgrandin@gmail.com>	2020-11-03 18:25:10 +0200
committer	Noel Grandin <noel.grandin@collabora.co.uk>	2020-11-04 06:34:20 +0100

use fastparser in XMLEmbeddedObjectImportContext
Comment 6 Commit Notification 2021-06-03 16:46:11 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/06a983b213b8fb71fdac1004868d7b4fdd6a9833

tdf#142546 broken formulas in .FODT files

It will be available in 7.2.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 7 Commit Notification 2021-06-03 19:54:56 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/5f70c1f1ebd67db3f98ec132baf40e629de7a1c1

tdf#142546 broken formulas in .FODT files

It will be available in 7.1.5.

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 8 Commit Notification 2021-06-04 09:16:28 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-7-1-4":

https://git.libreoffice.org/core/commit/1069208bd430fb7b3a35b039fe49eddfdf59b3bb

tdf#142546 broken formulas in .FODT files

It will be available in 7.1.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.
Comment 9 BogdanB 2021-06-10 08:56:28 UTC
7.0.6 file from comment 2 formula is ok.

Verified with
Version: 7.2.0.0.alpha1+ (x64) / LibreOffice Community
Build ID: 31ed81ea71a20ec119805f66a42f99b3f80d2dc5
CPU threads: 4; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: ro-RO (ro_RO); UI: en-US
Calc: threaded