Closed Bug 425993 Opened 13 years ago Closed 13 years ago
liferea built with xulrunner 1
.9 dumping tons of places .sqlite-\d+.corrupt files
liferea, built with xulrunner 1.9 is dumping tons of places.sqlite-\d+.corrupt files. Even with a fresh profile, all those ".corrupt" files appear at startup. This is 100% reproducible. A dump shows they are not corrupted at all. It's a regression introduced when bug 415460 landed, between b3 and b4, and it's still there in 1.9pre. Those ".corrupt" files are created when InitDB() fails. I've traced it down to mDBGetTags: http://mxr.mozilla.org/mozilla/source/toolkit/components/places/src/nsNavHistory.cpp#1140 1140 // mDBGetTags 1141 rv = mDBConn->CreateStatement(NS_LITERAL_CSTRING( 1142 "SELECT GROUP_CONCAT(t.title, ' ') " 1143 "FROM moz_places h " 1144 "JOIN moz_bookmarks b ON b.type = ") + 1145 nsPrintfCString("%d", nsINavBookmarksService::TYPE_BOOKMARK) + 1146 NS_LITERAL_CSTRING(" AND b.fk = h.id " 1147 "JOIN moz_bookmarks t ON t.parent = ?1 AND t.id = b.parent " 1148 "WHERE h.url = ?2"), 1149 getter_AddRefs(mDBGetTags)); 1150 NS_ENSURE_SUCCESS(rv, rv);
this turned out to be due to a lower versioned (system-)sqlite loaded by liferea. Though it reveals that the standalone glue approach is not perfect, I close this issue as invalid as I cannot imagine a pragmatic solution on xulrunner side. We will work around on distro side.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
To complement Alexander's comment, it happened to be GROUP_CONCAT() not supported by sqlite 3.4. Our liferea was built with system sqlite (= 3.4.*) while our xulrunner was using in-source sqlite (= 3.5.*). At runtime, liferea uses 3.4. Liferea doesn't have an Error console to report the assert so it was silently ignored. Moving the db to ".corrupt" is definitely wrong here, I would have preferred a real assert() with a reason. Now that we know that it's this, we can indeed fix it on distro side.
Bug 451915 - move Firefox/Places bugs to Firefox/Bookmarks and History. Remove all bugspam from this move by filtering for the string "places-to-b-and-h". In Thunderbird 3.0b, you do that as follows: Tools | Message Filters Make sure the correct account is selected. Click "New" Conditions: Body contains places-to-b-and-h Change the action to "Delete Message". Select "Manually Run" from the dropdown at the top. Click OK. Select the filter in the list, make sure "Inbox" is selected at the bottom, and click "Run Now". This should delete all the bugspam. You can then delete the filter. Gerv
Component: Places → Bookmarks & History
QA Contact: places → bookmarks
You need to log in before you can comment on or make changes to this bug.