GNOME Bugzilla – Bug 165734
Advanced Filter loop
Last modified: 2005-05-14 22:01:57 UTC
1. Set up a column of data. 2. Create a single cell with a static value that appears also in the data column. 3. Create a criteria section. 4. In one of the cells in the criteria section, reference the static value; =B2. 5. Select the data with the mouse and open Advanced Filter from Data menu. 6. Enter the criteria section in the dialog. 7. Choose Unique. 8. Select OK to run the filter. 9. CPU is pegged at 99%. A screenshot will be attached for reference showing additional details. Tested under Microsoft Windows using 1.4.2-rc1 pre-built installation package.
Created attachment 36735 [details] A commented screenshot showing the spreadsheet and settings used All of the data in column D is 3 characters wide, English alpha only (not numeric), and was pasted from an Access database table as UTF8. No fields are blank. I let the calculation run for a few minutes till I started to smell something odd and potentially burning from the laptop (!) -- and killed the process. Except for the one field ( =B2 ) in the Criteria section, all fields contained static data.
I can replicate the bug on Linux.
Could we have a sample sheet, please?
Created attachment 36852 [details] Spreadsheet that replicates this problem under both Windows and Linux As requested, this should replicate the problem. A screenshot of this sheet just before pressing OK on the Advanced Filter dialog will be attached next.
Created attachment 36853 [details] Screenshot of the previous spreadsheet just before running Advanced Filter A screenshot of the sheet just before pressing OK on the Advanced Filter dialog.
Confirmed. It is looping in the while loop of find_rows_that_match. Something is really, really strange here. 1. The "continue", which is hit, in an instant infinite loop. I wonder what on earth was meant here. 2. first_col is 3; so is cond->column. row is 1. Why is it looking at G2? Jody?
The code is wrong on many levels. The loop in (1) was fixed a while ago (1.4.3 I think). I just patched (2).