Bug 100582 - FILESAVE Formula in some cells not saved in .XLS format
Summary: FILESAVE Formula in some cells not saved in .XLS format
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
5.0.6.3 release
Hardware: All All
: high major
Assignee: Eike Rathke
URL:
Whiteboard: target:5.3.0 target:5.2.1 target:5.1....
Keywords: bibisected, regression
Depends on:
Blocks:
 
Reported: 2016-06-24 10:08 UTC by Barrie
Modified: 2021-02-02 23:09 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
single sheet with missing formulae and description of how to replicate (9.00 KB, application/vnd.ms-excel)
2016-06-24 10:08 UTC, Barrie
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Barrie 2016-06-24 10:08:43 UTC
Created attachment 125882 [details]
single sheet with missing formulae and description of how to replicate

Replication of problem:

1) Use attached file.
2) Copy formula in cell C10 to cells C10:H14
3) Save file
4) Open file - some of the formulae in cells C10:H14 will be missing (blank)

I am using Windows 10.
Comment 1 Buovjaga 2016-06-26 13:19:38 UTC
I do not reproduce the problem.

What copying method did you use?
I tried both dragging from the corner and also by first filling down and then filling right for each row.

64-bit, KDE Plasma 5
Build ID: 5.1.4.2 Arch Linux build-1
CPU Threads: 8; OS Version: Linux 4.6; UI Render: default; 
Locale: fi-FI (fi_FI.UTF-8)

Arch Linux 64-bit, KDE Plasma 5
Version: 5.3.0.0.alpha0+
Build ID: ff25ea3d5ccf3a990767cbb1ef99037d3f84b072
CPU Threads: 8; OS Version: Linux 4.6; UI Render: default; 
Locale: fi-FI (fi_FI.UTF-8)
Built on June 26th 2016
Comment 2 Barrie 2016-06-26 15:46:15 UTC
select C10 and Ctrl-C
select C10:H14 and Ctrl-V

The formulae obviously fill the cells immediately, but if I save as .XLS and close and reopen the file typically cells D11:G13 are blank.

If I save as .ODS I don't see any problem, so it's related to the .XLS format I think.

I am using Win 10 Home, Samsung laptop, i5-3210M, 64 bit OS.
Comment 3 Barrie 2016-06-26 15:59:20 UTC
Also appears to be related to the array formula - if C10 is replaced with a simple formula, the problem doesn't occur.

Copying differently (e.g. one cell at a time) I still see problems but typically a different set of cells is blank.
Comment 4 Joel Madero 2016-07-04 03:43:21 UTC
Version: 5.3.0.0.alpha0+
Build ID: c89294233b6a9ffc1bd75e6e9226ad723b7d5538
CPU Threads: 2; OS Version: Linux 3.16; UI Render: default; 
Locale: en-US (en_US.UTF-8)

Confirmed.

This is quite nasty. Going to see if it's a regression and go from there.
Comment 5 Joel Madero 2016-07-04 03:49:58 UTC
More investigating:

This only happens when you copy/paste in one go. So steps:

1. Download sheet;
2. Copy C10
3. Select C10:H14
4. Paste
5. Save and close
6. Open

Observed: Missing values for all "inner" values (values on the outside of the square are preserved)

7. Go to C10
8. Copy
9. Paste 1 value at a time for C10 through H14
10. Save and close
11. Open

Observed: Values preserved
Comment 6 Joel Madero 2016-07-04 03:52:50 UTC
This worked fine in 3.3 - so regression. Trying to bibisect now
Comment 7 Joel Madero 2016-07-04 05:12:46 UTC
Two different bibisects needed because of two different issues:

Also - changing the version to at least 5.0 because the problem was there then.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copy/Paste of Formulas results in #VALUE in all cells 0d4c20a601a3cfff27d6685d0e81463086bd9d74 is the first bad commit
commit 0d4c20a601a3cfff27d6685d0e81463086bd9d74
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date:   Sun May 11 05:25:38 2014 +0000

    source-hash-f1b1e73227471192682d303a58618ca8bd65a74d
    
    commit f1b1e73227471192682d303a58618ca8bd65a74d
    Author:     Caolán McNamara <caolanm@redhat.com>
    AuthorDate: Sat Jan 25 20:19:29 2014 +0000
    Commit:     Caolán McNamara <caolanm@redhat.com>
    CommitDate: Sat Jan 25 20:56:30 2014 +0000
    
        coverity#1158347 Uncaught exception
    
        Change-Id: Iacaf59724b71d810270545d1e9dd04d59125cc92

:100644 100644 368976e6dbd4cdb43e492ba5eadabe099660a339 70730e767408d2206d17bf278178d2d9909ba37f M	ccache.log
:100644 100644 acdce77d197e69bf89e98f6a3b6423de34b1754b 2e178fe08a1d28d341e79db69400a2cfe0ed6c96 M	commitmsg
:100644 100644 1d0e4ca60cc4187e89af26fcb86e7d165af0bd7b f5beaf27de34aa7963d0b561b320c3ac0246b81e M	make.log
:040000 040000 253f4f4a2f845ca9d4e9765c9d9e96828b22d64d 8871808799c896d3651d27d2b44f5f041296070c M	opt


# bad: [423a84c4f7068853974887d98442bc2a2d0cc91b] source-hash-c15927f20d4727c3b8de68497b6949e72f9e6e9e
# good: [65fd30f5cb4cdd37995a33420ed8273c0a29bf00] source-hash-d6cde02dbce8c28c6af836e2dc1120f8a6ef9932
git bisect start 'latest' 'oldest'
# good: [e02439a3d6297a1f5334fa558ddec5ef4212c574] source-hash-6b8393474974d2af7a2cb3c47b3d5c081b550bdb
git bisect good e02439a3d6297a1f5334fa558ddec5ef4212c574
# good: [4850941efe43ae800be5c76e1102ab80ac2c085d] source-hash-980a6e552502f02f12c15bfb1c9f8e6269499f4b
git bisect good 4850941efe43ae800be5c76e1102ab80ac2c085d
# bad: [a900e72b6357882284c5955bdf939bf14269f5fb] source-hash-dd1050b182260a26a1d0ba6d0ef3a6fecc3f4e07
git bisect bad a900e72b6357882284c5955bdf939bf14269f5fb
# bad: [e1d0365cd2b073a859f59ad0a4584385a66dc611] source-hash-2eea96c702a44ab009743b0d22ef639127f0b57b
git bisect bad e1d0365cd2b073a859f59ad0a4584385a66dc611
# bad: [98a55bf95f3ec29298751fd8fba76dd2236dce43] source-hash-58dfc97ca697875c36b7ddf14f5505a93d7b9cf8
git bisect bad 98a55bf95f3ec29298751fd8fba76dd2236dce43
# good: [92ca7e7dd4470107453ce3e99f3675387f91bf24] source-hash-ed5065d8b080bfaf51ea1232cebf3ff72af1e640
git bisect good 92ca7e7dd4470107453ce3e99f3675387f91bf24
# good: [c3997dfb709772c28f4b90559431662e3a81d651] source-hash-d803483f6a5938b0d0708b8db74b30c511dd8e31
git bisect good c3997dfb709772c28f4b90559431662e3a81d651
# good: [5d0e5af3cc4db0c25b97ec65cc5258b07daca350] source-hash-4f3012fc05fa0eeae412d9e2bfca3d7e60914a8c
git bisect good 5d0e5af3cc4db0c25b97ec65cc5258b07daca350
# bad: [60932907a26d372fa1481b2249bb915e14dc94aa] source-hash-8df4ce0ebe1240ed8f6def3af8f810e3f207555f
git bisect bad 60932907a26d372fa1481b2249bb915e14dc94aa
# bad: [0d4c20a601a3cfff27d6685d0e81463086bd9d74] source-hash-f1b1e73227471192682d303a58618ca8bd65a74d
git bisect bad 0d4c20a601a3cfff27d6685d0e81463086bd9d74
# first bad commit: [0d4c20a601a3cfff27d6685d0e81463086bd9d74] source-hash-f1b1e73227471192682d303a58618ca8bd65a74d

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copy/Paste Not Retained on Save/Open
 5cb76d671e58899205f164079d68c166f231a57c is the first bad commit
commit 5cb76d671e58899205f164079d68c166f231a57c
Author: Matthew Francis <mjay.francis@gmail.com>
Date:   Wed May 27 19:53:49 2015 +0800

    source-hash-097a16b59884c777f724cec6c5d42734974ed44b
    
    commit 097a16b59884c777f724cec6c5d42734974ed44b
    Author:     Henry Castro <hcvcastro@gmail.com>
    AuthorDate: Fri Mar 6 13:51:25 2015 -0400
    Commit:     Andras Timar <andras.timar@collabora.com>
    CommitDate: Mon Mar 9 09:38:51 2015 +0000
    
        Resolves tdf#80137 Paste array formula into range pastes as non-array formula
    
        Change-Id: I500008b32e5af07702b76afb901a3ec270453462
        Reviewed-on: https://gerrit.libreoffice.org/14770
        Tested-by: Jenkins <ci@libreoffice.org>
        Reviewed-by: Andras Timar <andras.timar@collabora.com>

:040000 040000 8b64c828de745082022fbb645cf0fb5711c75e3a cece670df23368b75bda81608e465c6151d7b3a0 M	opt

# bad: [dda106fd616b7c0b8dc2370f6f1184501b01a49e] source-hash-0db96caf0fcce09b87621c11b584a6d81cc7df86
# good: [5b9dd620df316345477f0b6e6c9ed8ada7b6c091] source-hash-2851ce5afd0f37764cbbc2c2a9a63c7adc844311
git bisect start 'latest' 'oldest'
# good: [0c30a2c797b249d0cd804cb71554946e2276b557] source-hash-45aaec8206182c16025cbcb20651ddbdf558b95d
git bisect good 0c30a2c797b249d0cd804cb71554946e2276b557
# bad: [2ce02b2ce56f12b9fcb9efbd380596975a3a5686] source-hash-17d714eef491bda2512ba8012e5b3067ca19a5be
git bisect bad 2ce02b2ce56f12b9fcb9efbd380596975a3a5686
# bad: [e4deb8a42948865b7b23d447c1547033cb54535b] source-hash-ce46c98dbeb3364684843daa5b269c74fce2af64
git bisect bad e4deb8a42948865b7b23d447c1547033cb54535b
# bad: [15e8b5cc6b4784fecd63b2a5a04ac086b3e9fc01] source-hash-26b500afcaed704db7a300836f466517c309ee77
git bisect bad 15e8b5cc6b4784fecd63b2a5a04ac086b3e9fc01
# good: [534715525a93b0d7d56ba123d253c927cccf0afe] source-hash-40c9a46b78b8919aae82dd9b94774d63bb9cb4e6
git bisect good 534715525a93b0d7d56ba123d253c927cccf0afe
# bad: [9aac2d2b68f538e8e24f6c4fed5b9170ba938b60] source-hash-82c37453482e6b8bd6ab7b7e96b1257a1d5b0699
git bisect bad 9aac2d2b68f538e8e24f6c4fed5b9170ba938b60
# bad: [36c7138172d2bea5d3361442f64303540b206cb8] source-hash-43a8207c9daff7cf5afe2436249163adc14404c4
git bisect bad 36c7138172d2bea5d3361442f64303540b206cb8
# good: [fc9c9a4ce104fdd50e63e71586859497fdb49753] source-hash-7e189aa4b752efcc5a4ac275c48810c7314a871e
git bisect good fc9c9a4ce104fdd50e63e71586859497fdb49753
# good: [9cbfdd90589c83a9b384aac33598f10f65cba724] source-hash-bbb857c1d3a7c1e5e9f2548e63fb8a80807f1ee3
git bisect good 9cbfdd90589c83a9b384aac33598f10f65cba724
# bad: [432d47f3194a59590ce4a52b03c70eba66b0c396] source-hash-a68fb13dffb9db33e63f41c6afdc83a6e6134c6b
git bisect bad 432d47f3194a59590ce4a52b03c70eba66b0c396
# bad: [5cb76d671e58899205f164079d68c166f231a57c] source-hash-097a16b59884c777f724cec6c5d42734974ed44b
git bisect bad 5cb76d671e58899205f164079d68c166f231a57c
# good: [1fe52f04e60d4c853bbd49bc8c7011eeef116e1f] source-hash-8c7a68ef4201dac712ef489762a119b745f64988
git bisect good 1fe52f04e60d4c853bbd49bc8c7011eeef116e1f
# good: [13ab10ccc3924e10d3a562b9b3292fa021fdd14d] source-hash-e697d9694a62b2943fa19b0fcd19e9b3354f6ad7
git bisect good 13ab10ccc3924e10d3a562b9b3292fa021fdd14d
# first bad commit: [5cb76d671e58899205f164079d68c166f231a57c] source-hash-097a16b59884c777f724cec6c5d42734974ed44b
Comment 8 Luke 2016-08-01 17:31:44 UTC
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copy/Paste of Formulas results in #VALUE in all cells

https://cgit.freedesktop.org/libreoffice/core/log/?id=2e3bc9fcee1c728d9fe91cbdf92b15d090c2b619&qt=range&q=4f3012fc05fa0eeae412d9e2bfca3d7e60914a8c..f1b1e73227471192682d303a58618ca8bd65a74d

Points to https://cgit.freedesktop.org/libreoffice/core/commit/?id=80ea2822c368e6655d216c32904268fc335ef6a4

author	Kohei Yoshida <kohei.yoshida@collabora.com>	
Optimize copy-n-pasting of single cell replicated over a range. Let's speed it up a bit.


Eike,
This optimization is responsible for other issues like a crash reported in Bug 86215 that you fixed. Since Kohei is no longer active, is it worth keeping this troublesome optimization? 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copy/Paste Not Retained on Save/Open

https://cgit.freedesktop.org/libreoffice/core/commit/?id=097a16b59884c777f724cec6c5d42734974ed44b

Henry or Andras,
Could you please take a look at this?
Comment 9 Luke 2016-08-01 22:18:50 UTC
I just verified that source of this bug is https://cgit.freedesktop.org/libreoffice/core/commit/?id=80ea2822c368e6655d216c32904268fc335ef6a4

Reverting 80ea2822c368e6655d216c32904268fc335ef6a4 fixes both the #VALUE in all cells bug and the XLS format saves correctly.
Comment 10 Eike Rathke 2016-08-02 12:11:14 UTC
Taking.
Comment 11 Commit Notification 2016-08-02 18:06:48 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "master":

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

Resolves: tdf#100582 SetMatColsRows() when constructing matrix ScFormulaCell

It will be available in 5.3.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 12 Eike Rathke 2016-08-02 18:20:44 UTC
Pending review
https://gerrit.libreoffice.org/27808 for 5-2
https://gerrit.libreoffice.org/27809 for 5-1
Comment 13 Commit Notification 2016-08-09 20:50:41 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

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

Resolves: tdf#100582 SetMatColsRows() when constructing matrix ScFormulaCell

It will be available in 5.2.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 14 Commit Notification 2016-08-16 20:06:52 UTC
Eike Rathke committed a patch related to this issue.
It has been pushed to "libreoffice-5-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=10195ce5563d6ac93177b67d484151c01a751922&h=libreoffice-5-1

Resolves: tdf#100582 SetMatColsRows() when constructing matrix ScFormulaCell

It will be available in 5.1.6.

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 15 Commit Notification 2021-02-02 23:09:55 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/8c355246fdfb3fa021d213d65f8fb24dc01843ee

tdf#100582: sc_uicalc: Add unittest

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.