https://bugs.documentfoundation.org/show_bug.cgi?id=172516

            Bug ID: 172516
           Summary: Phantom #REF! infection propagates to adjacent cells
                    via copy/paste, zombies mobilize when 100+ copies
           Product: LibreOffice
           Version: 26.2.3.2 release
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: [email protected]
          Reporter: [email protected]

Inspired by bug 131339. This bug differs in 3 significant ways.

1. Infection. Cells are NOT related by a dependency chain. They are just copies
of the same formula in a column created at the same time. There is no valid
reason to propagate a #REF! error from patient zero to every other cell in the
column. The column is populated before patient zero is created.

2. Phantom #REF!. The infection is invisible. Except for patient zero, zombie
cells do not appear to have #REF! in them. All the formulas look and behave as
expected, including patient zero, until the group is mobilized.

3. Latency. Zombie behaviour is activated by having at least 100 copies of the
offending formula in a column. With just 99 copies, all the cells behave
normally, including patient zero. But have 100 or more and every cell shows a
numerical value computed as if #REF! has the value 0.

There is no obvious indication that the cells are zombies. When mobilized,
their values are computed once and get stuck until patient zero is changed and
F9 pressed or a value in column A  is changed.

Steps to reproduce.

1. Populate A1 to A105 with the numbers 1 to 105 not using formulas. (Enter 1
in A1, then grab the cell handle of A1 and drag it down to A105.) This avoids
creating a dependency chain.

2. Put '=(A2-A1)^2' in B2.

3. Copy B2.

4. Select B2 to B99. It is important to include B2.

5. Ctrl-V to Paste.

6. Observe all values in column B are 1, as expected.

7. Select B1. This is patient zero.

8. Ctrl-V to Paste.

9. Observe B1 is #REF! and none of the other numbers has changed.

10. Ctrl-Z to undo.

11. Ctrl-Z to undo again.

So far, so good.

12. Select B2 to B100. It is important to include B2.

13. Ctrl-V to Paste.

14. Observe all values in column B are 1, as expected.

15. Select B1.

16. Ctrl-V to Paste.

17. Observe that all the cells are computed incorrectly, as if the subtracted
term is 0. This includes B1, which now shows a number instead of #REF!. The
zombies have mobilized!

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to