Export to GitHub

tenfourfox - issue #177

Not able to search bookmarks


Posted on Sep 11, 2012 by Massive Rhino

Promoted from http://tenfourfox.tenderapp.com/discussions/problems/213-cant-search-bookmarks

See issue ticket. Regression from 14.

Comment #1

Posted on Sep 11, 2012 by Happy Bear

Regression window: 11.0b2 and 12.0 work. 13, 14, 15 and 15.0.1 don't.

Comment #2

Posted on Sep 11, 2012 by Massive Rhino

I'll diff the changelogs between 12 and 13 later today. Thanks for the testing. I wonder why the OP said it worked for him in 14, though.

Comment #3

Posted on Sep 11, 2012 by Massive Rhino

(ftr, just tried it on my 7400 test system; 12 works, 13 doesn't, just like you said)

Comment #4

Posted on Sep 11, 2012 by Massive Camel

I wonder why the OP said it worked for him in 14, though.

I am the OP, what I actually said, somewhat ambiguously, was that it hadn't worked "since version 14", meaning that version 14 was the first version I'd tried that didn't work. (I somehow missed the release of 13 and so hadn't tried it.)

Sorry for the ambiguity

Comment #5

Posted on Sep 19, 2012 by Massive Rhino

Testing this in aurora 17, searching history from the same window does work, but not searching bookmarks.

Comment #6

Posted on Sep 19, 2012 by Massive Rhino

Bookmark searching from the Awesome bar does work, except that it pulls in all the history stuff as well. Even if I delete the bookmarked page from history, the awesome bar will still retrieve it if it is in bookmarks. So that's a workaround at least, and does imply that the data store is not corrupt.

Comment #7

Posted on Sep 19, 2012 by Massive Rhino

applyFilters() and load() in browser/components/places/content/tree.xml allege that the offending function is "PlacesUtils.history.executeQueries" (and this appears to be toolkit/component/places/nsNavHistory.cpp:nsNavHistory::ExecuteQueries). nsNavHistoryResult.cpp appears to be where the actual (non)population of the result occurs.

Comment #8

Posted on Sep 23, 2012 by Massive Rhino

Talked to Marco at Mozilla. In this SQL, logged through NSPR, this is wrong:

SELECT b.fk, h.url, COALESCE(b.title, h.title) AS page_title, h.rev_host, h.visi t_count, h.last_visit_date, f.url, null, b.id, b.dateAdded, b.lastModified, b.pa rent, (SELECT GROUP_CONCAT(t_t.title, ',') FROM moz_bookmarks b_t JOIN moz_bookm arks t_t ON t_t.id = +b_t.parent WHERE b_t.fk = b.fk AND t_t.parent = 4 ) AS ta gs , h.frecency FROM moz_bookmarks b JOIN moz_places h ON b.fk = h.id LEFT OUTER JOIN moz_favicons f ON h.favicon_id = f.id WHERE NOT EXISTS (SELECT id FROM moz _bookmarks WHERE id = b.parent AND parent = 4) AND (( AUTOCOMPLETE_MATCH( 'inequality' , h.url, page_title, tags, 0, 0, 0, 0, 4, 0) AND b.parent IN( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) AND NOT h.url BETWEEN 'place:' AND 'place;' )) ORDER BY b.id ASC

Notice the parent IDs are all zero. The offending code is in nsNavHistory.cpp:

clause.Condition("b.parent IN(");
for (nsTArray<int64_t>::size_type i = 0; i < includeFolders.Length(); ++i) {
  clause.Str(nsPrintfCString("%d", includeFolders[i]).get());
  if (i < includeFolders.Length() - 1) {
    clause.Str(",");
  }
}

The offending bug is M702639 which converted 32-bit parent IDs to 64-bit. This also affects AuroraFox, so adding Tobias.

Comment #9

Posted on Sep 23, 2012 by Massive Rhino

We should use "%" PRIi64 "..." for this instead of %d, since we're already requiring inttypes.h for the int64_t. Marco asked for this to be upstreamed, so I'll do that after I make sure this works.

Comment #10

Posted on Sep 23, 2012 by Massive Rhino

Actually, after fooling around with this in NSPR, a better solution that works is just to turn %d into %lld.

Comment #11

Posted on Sep 23, 2012 by Massive Rhino

https://bugzilla.mozilla.org/show_bug.cgi?id=793523

Comment #12

Posted on Sep 24, 2012 by Massive Rhino

(No comment was entered for this change.)

Comment #13

Posted on Oct 14, 2012 by Massive Rhino

(No comment was entered for this change.)

Status: Verified

Labels:
Type-Defect Priority-Medium