| Summary: | Undoing of Replace All operation leaves a "dirty" spreadsheet, force recalculation needed | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Liaison to zh-CN User Community <plateauwolf> |
| Component: | Calc | Assignee: | Not Assigned <libreoffice-bugs> |
| Status: | NEW --- | ||
| Severity: | normal | CC: | annakurdel, aron.budea, kohei, pmarty, suokunlong |
| Priority: | medium | Keywords: | bibisected, bisected, regression |
| Version: | 4.2.0.4 release | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://bugs.documentfoundation.org/show_bug.cgi?id=134620 | ||
| Whiteboard: | |||
| Crash report or crash signature: | Regression By: | ||
| Bug Depends on: | |||
| Bug Blocks: | 105948 | ||
| Attachments: | Sample file | ||
|
Description
Liaison to zh-CN User Community
2021-04-11 05:54:21 UTC
> The original reporter also claims to reproduce on Deepin Linux (exact > version information not yet available). Got it: Version: 7.1.1.2 / LibreOffice Community Build ID: fe0b08f4af1bacafe4c7ecc87ce55bb426164676 CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3 Locale: zh-CN (zh_CN.UTF-8); UI: zh-CN Calc: threaded repro in Version: 7.3.0.0.alpha0+ (x64) / LibreOffice Community Build ID: 7c38362dbe1922c9825dffb463072030948d406b CPU threads: 4; OS: Windows 10.0 Build 19042; UI render: default; VCL: win Locale: en-US (en_US); UI: en-US Calc: threaded The bug is reproduced except for the O column. Nothing changed in the O column. Looking only 1st column: no repro 4.1, repro 4.2. So regression. Bibisected to the following range, which is a single commit in repo bibisect-42max. https://cgit.freedesktop.org/libreoffice/core/log/?qt=range&q=ac84ffb3c90bb5788608eadf2177f587021daaad..4c99a427ee4adaeddb2682c192384bad21d9d09b I still reproduce this on latest master: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 95e6f942b3fa5c6f3e5473ac474a4702ab815502 CPU threads: 4; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: zh-CN (zh_CN.UTF-8); UI: zh-CN Calc: threaded The bibisected range are all commits made by Kohei Yoshida. Adding Kohei to see also: would you please take a look? I am setting up the build environment for this range, but the most suspicious one would be commit 66d3f24334e69e1655e83520950c59a0bda095a3. Many commits in the bibsected range does fails to build. Now I managed to: 1. Setup a Fedora 19; 2. Created a new branch based on commit 4347e3b15f10784b482544bd6324d3fcd4f0146c (Adjusted the patch against mdds 0.9.0.). This commit also failes to build due to the use of "return NULL" in "sc/source/core/data/column2.cxx" and a wrong placement of "}" after the "return", so I fixed that mannually to let the new branch build. 3. In the new branch, I revert 66d3f24334e69e1655e83520950c59a0bda095a3 (Make sure to set the cloned formula cells dirty during undo / redo.). The build is success, but this is still a "bad" commit. So the revised bibisected range is https://cgit.freedesktop.org/libreoffice/core/log/?qt=range&q=ac84ffb3c90bb5788608eadf2177f587021daaad..66d3f24334e69e1655e83520950c59a0bda095a3 Bug introduced by the any of the following 3 commits related to the switch to use mdds for cell storage. 1. commit c008dc483f8c6840803983e7e351cec6fdd32070 Author: Kohei Yoshida <kohei.yoshida@gmail.com> Date: Fri May 24 11:52:18 2013 -0400 Switch to using multi_type_vector for cell storage. 2. commit 3b0c069c9a157c4cd9ec5636c776115af6d9664f Author: Kohei Yoshida <kohei.yoshida@gmail.com> Date: Wed Jun 19 11:54:12 2013 -0400 Don't forget to return true if we are successful. 3. commit e3b91687590f08438b5a5d4eec72e634b11a8589 Author: Kohei Yoshida <kohei.yoshida@gmail.com> Date: Wed Jun 19 16:48:32 2013 -0400 Fix the horizontal cell iterator. (Note that #2 is to fix the hang when open a calc document, and #3 is to fix a crach when open a calc document, so the most possible first bad commit is #1. However, #3 may also possible to cause the bug.) ========== Below I describe how I identified the 3 commits, in case someone is interested: 1. Set up a old Fedora 19 VM. Branch off based on: commit ac84ffb3c90bb5788608eadf2177f587021daaad (Remove unnecessary debug outputs that would slow down perf tests., 2013-05-22) I use this as the base for the new branch because it is the last known commit which can pass the build before commit c7bdee8dbd1cf260a8513a0d31b36f90daa70f1c which added "#include <mdds/multi_type_vector_custom_func3.hpp> but this header file does not exists in mdds 0.8.1 (this header is added in 0.9.0). 2. cherry-pick the mdds 0.9.0 commits: $ git cherry-pick -x 878f46727d8bcf1f75d056d9270ef3e2fe0b9d88 $ git cherry-pick -x bb7d5ce2a8bd1dca51eb627aa2df811541053969 $ git cherry-pick -x 4347e3b15f10784b482544bd6324d3fcd4f0146c and adjust the following file (see mdds 0.9.0 API Incompatibility Note) sc/inc/mtvelements.hxx: -typedef mdds::mtv::custom_block_func1<sc::element_type_broadcaster, sc::custom_broadcaster_block> BCBlkFunc; +typedef mdds::mtv::custom_block_func1<sc::custom_broadcaster_block> BCBlkFunc; -typedef mdds::mtv::custom_block_func1<sc::element_type_celltextattr, sc::custom_celltextattr_block> CTAttrFunc; +typedef mdds::mtv::custom_block_func1<sc::custom_celltextattr_block> CTAttrFunc; sc/source/core/tool/scmatrix.cxx: - static void delete_block(mdds::mtv::base_element_block* p) + static void delete_block(const mdds::mtv::base_element_block* p) Build successful. Tested and bug does not exists. 3. Cherry-pick the first commit in the bibisect range: c7bdee8dbd1cf260a8513a0d31b36f90daa70f1c Define block types for string, edit text and formula cell elements. (need to fix a confict due to step 2) 4. Commit the following changes to make the above commit buildable: sc/inc/mtvelements.hxx // Cell container typedef mdds::mtv::custom_block_func3< - sc::element_type_string, sc::string_block, - sc::element_type_edittext, sc::edittext_block, - sc::element_type_formula, sc::formula_block> CellFunc; + sc::string_block, + sc::edittext_block, + sc::formula_block> CellFunc; Build successful. Bug does not exists. 5. cherry-pick 77ec47356025de4e46f48f94629f896349b0a8e5 Reduce dependency on mtvelements.hxx header. build successful. Bug does not exists. 6. Cherry-pick e9c5eb60d53204261c7937108bd53e86e46fc2f3 Re-org the headers a bit. In column?.cxx, column.hxx must be the first. Building sucessful. Bug does not exists. 7. cherry-pick 75dec25730c88bdb8eb5e2a3f92689460fa89d29 Add new cell container to ScColumn. No need to build and test because this change does not change any behaviour. 8. Cherry-pick c008dc483f8c6840803983e7e351cec6fdd32070 Switch to using multi_type_vector for cell storage. (need to resolve conflicts) Building sucessful, but hang when opening the test file and crash when create empty calc document, so we need next steps. 9. Cherry-pick these two commits which are for the fix of the hang and the crash: 3b0c069c9a157c4cd9ec5636c776115af6d9664f Don't forget to return true if we are successful. e3b91687590f08438b5a5d4eec72e634b11a8589 Fix the horizontal cell iterator. Build successful. But exists! So: e3b91687590f08438b5a5d4eec72e634b11a8589 Fix the horizontal cell iterator. 3b0c069c9a157c4cd9ec5636c776115af6d9664f Don't forget to return true if we are successful. c008dc483f8c6840803983e7e351cec6fdd32070 Switch to using multi_type_vector for cell storage. > Build successful. But exists!
Typo. Should be "Build successful. Bug exists!"
*** Bug 134620 has been marked as a duplicate of this bug. *** Bug 134620 is bisected to the same commit as this one. They are the same bug behaviour, thus is marked as duplicate of this one. Also, bug 134620 comment 0 contains more simple steps to reproduce. E.g.: A1: 5; B1: =A1/100; Find and replace: replace all 5 to 100. B1 correctly shows "1". Undo. B1 failed to update the formula result. |