Closed Bug 832004 Opened 12 years ago Closed 11 years ago

StrictMode: DatabaseObjectNotClosedException from LocalBrowserDB.getPinnedSites()

Categories

(Firefox for Android Graveyard :: Data Providers, defect, P3)

ARM
Android
defect

Tracking

(firefox21 affected)

RESOLVED DUPLICATE of bug 887820
Tracking Status
firefox21 --- affected

People

(Reporter: cpeterson, Unassigned)

Details

I don't have STR, but I often see these StrictMode violations in logcat. I'm running Nightly 21 on JB.

A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'close' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:184)
at android.database.CursorWindow.<init>(CursorWindow.java:107)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
at android.content.ContentResolver.query(ContentResolver.java:390)
at android.content.ContentResolver.query(ContentResolver.java:315)
at org.mozilla.gecko.db.LocalBrowserDB.getPinnedSites(LocalBrowserDB.java:1133)
at org.mozilla.gecko.db.BrowserDB.getTopSites(BrowserDB.java:134)
at org.mozilla.gecko.AboutHomeContent.loadTopSites(AboutHomeContent.java:305)
at org.mozilla.gecko.AboutHomeContent.access$500(AboutHomeContent.java:70)
at org.mozilla.gecko.AboutHomeContent$10.run(AboutHomeContent.java:443)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31)

StrictMode: Finalizing a Cursor that has not been deactivated or closed. database = /data/data/org.mozilla.fennec/files/mozilla/74q3ode2.default/browser.db, table = bookmarks, query = SELECT _id, url, title, position FROM bookmarks WHERE ((deleted = 0) AND (parent == ?)) ORDER BY position ASC LIMIT 6
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:98)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:400)
at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:333)
at org.mozilla.fennec.db.BrowserProvider.query(BrowserProvider.java:2542)
at android.content.ContentProvider.query(ContentProvider.java:652)
at android.content.ContentProvider$Transport.query(ContentProvider.java:189)
at android.content.ContentResolver.query(ContentResolver.java:372)
at android.content.ContentResolver.query(ContentResolver.java:315)
at org.mozilla.gecko.db.LocalBrowserDB.getPinnedSites(LocalBrowserDB.java:1133)
at org.mozilla.gecko.db.BrowserDB.getTopSites(BrowserDB.java:134)
at org.mozilla.gecko.AboutHomeContent.loadTopSites(AboutHomeContent.java:305)
at org.mozilla.gecko.AboutHomeContent.access$500(AboutHomeContent.java:70)
at org.mozilla.gecko.AboutHomeContent$10.run(AboutHomeContent.java:443)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31)
Priority: -- → P3
This is caused by the wonky Cursor closing logic in TopSitesCursorWrapper.setPinnedSites defined in BrowserDB.java. Corrected by the patch in bug 887820
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.