diff options
author | Vasu Nori <vnori@google.com> | 2010-03-23 10:17:48 -0700 |
---|---|---|
committer | Vasu Nori <vnori@google.com> | 2010-03-23 12:17:25 -0700 |
commit | 2cc1df04381cb13c7d66aa8de0cc32312482d045 (patch) | |
tree | fd097a8c361f1e920c8623520b6ccabbebec95df /core/java/android/database/sqlite/SQLiteCursor.java | |
parent | 89206fdb3b75a8bc12ac75fc8a95a5c9c79c3220 (diff) | |
download | frameworks_base-2cc1df04381cb13c7d66aa8de0cc32312482d045.zip frameworks_base-2cc1df04381cb13c7d66aa8de0cc32312482d045.tar.gz frameworks_base-2cc1df04381cb13c7d66aa8de0cc32312482d045.tar.bz2 |
print finalizer warning before closing the cursor in finalize
this will let us know which cursor is being finalized.
if the heapworker gets wedbed due to the close bug:2536922
then we will never see the warning and never know which cursor
caused this problem
Change-Id: I595cc1014ff7a1114079b33665c092c6a2f3a907
Diffstat (limited to 'core/java/android/database/sqlite/SQLiteCursor.java')
-rw-r--r-- | core/java/android/database/sqlite/SQLiteCursor.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java index 3f0fcb1..6e5b3e1 100644 --- a/core/java/android/database/sqlite/SQLiteCursor.java +++ b/core/java/android/database/sqlite/SQLiteCursor.java @@ -579,10 +579,12 @@ public class SQLiteCursor extends AbstractWindowedCursor { try { // if the cursor hasn't been closed yet, close it first if (mWindow != null) { - close(); + int len = mQuery.mSql.length(); Log.e(TAG, "Finalizing a Cursor that has not been deactivated or closed. " + "database = " + mDatabase.getPath() + ", table = " + mEditTable + - ", query = " + mQuery.mSql, mStackTrace); + ", query = " + mQuery.mSql.substring(0, (len > 100) ? 100 : len), + mStackTrace); + close(); SQLiteDebug.notifyActiveCursorFinalized(); } else { if (Config.LOGV) { |