Closed Bug 630162 Opened 13 years ago Closed 13 years ago

Cannot global search at all if "watch" tag is used

Categories

(Thunderbird :: Search, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 609941

People

(Reporter: bugzilla, Unassigned)

Details

Attachments

(1 file)

Step to Reproduce:
 1. Define "watch" tag in Preferences -> Display -> Tags -> Add.
 2. Add "watch" tag to any messages.
 3. Restart Thunderbird (or wait until gloda db become up-to-date?).
 4. Global search with any strings or any mail address
 5. Search result tab will be shown with "Searching…" forever...
 6. Open Error Console, and you'll see following error:

Error: groups[valId].push is not a function
Source File: file:/// ... /Thunderbird.app/Contents/MacOS/modules/gloda/facet.js
Line: 378

Expected Result:
Gloda search should be shown even when we use "watch" tag.

I'll attach workaround patch.
Attached patch workaround patchSplinter Review
patch to avoid error just checking push() method existence

Sorry this is just workaround, not complete one.
http://mxr.mozilla.org/comm-central/source/mailnews/db/gloda/modules/facet.js#390
365   facetComplexItems: function(aItems) {
   ...
380       for each (let [, val] in Iterator(vals)) {
   ...
389         if (groupMap.hasOwnProperty(valId)) {
390           groups[valId].push(item);
391         }
392         else {
393           groupMap[valId] = val;
394           groups[valId] = [item];
395           this.groupCount++;
396         }
397       }
398     }

As far as checked, valId will be "watch" and groups[valId] will be the watch native method (of Object.prototype, maybe). In that case groups[valId] is not Array but Function and it never have push() method.

groupMap seems to contains tag name list and valId should be tag name. But if the valId is same as native properties name (if user use tags named like "watch", "valueOf", "toString" etc), groups[valId] will be native properites, not Array generated in line 394.

Sorry I cannot take enough time to understand the code and write appropriate patch now. I hope this is enough information you can understand and fix the problem.
Exactly which version of Thunderbird are you using? (available from Help -> About).

This looks like a duplicate of bug 609941 that has been fixed for 3.1.8 which is due out next week.
Aha... sorry, it looks like yes.

I'll check a little more with other profiles tomorrow.
Once I confirmed, I'll mark this bug as duplicate.
I confirmed bug 609941 solved this problem.

Sorry, the patch was not actually I tested. I changed with 3.1.7:
-        if (valId in groupMap) {
+        if (valId in groupMap && groups[valId].push) {
but when I write patch (with hg files), I didn't noticed about the diff...
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: