brarcher / budget-watch

Application for personal budget management
GNU General Public License v3.0
83 stars 44 forks source link

Exception: android.view.WindowLeaked #197

Open WangGuox1n opened 4 years ago

WangGuox1n commented 4 years ago

Hi, I'm using version 0.21.4, when testing the app, there is a exception: STACK_TRACE= E/WindowManager( 4274): android.view.WindowLeaked: Activity protect.budgetwatch.BudgetActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{528d57c0 V.E..... R....... 0,0-729,1134} that was originally added here E/WindowManager( 4274): at android.view.ViewRootImpl.(ViewRootImpl.java:346) E/WindowManager( 4274): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248) E/WindowManager( 4274): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) E/WindowManager( 4274): at android.app.Dialog.show(Dialog.java:286) E/WindowManager( 4274): at android.app.AlertDialog$Builder.show(AlertDialog.java:951) E/WindowManager( 4274): at protect.budgetwatch.BudgetActivity.onOptionsItemSelected(BudgetActivity.java:259) E/WindowManager( 4274): at android.app.Activity.onMenuItemSelected(Activity.java:2600) E/WindowManager( 4274): at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:380) E/WindowManager( 4274): at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:195) E/WindowManager( 4274): at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:108) E/WindowManager( 4274): at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:108) E/WindowManager( 4274): at android.support.v7.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:63) E/WindowManager( 4274): at android.support.v7.widget.Toolbar$1.onMenuItemClick(Toolbar.java:203) E/WindowManager( 4274): at android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:780) E/WindowManager( 4274): at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822) E/WindowManager( 4274): at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:171) E/WindowManager( 4274): at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:973) E/WindowManager( 4274): at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:963) E/WindowManager( 4274): at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:624) E/WindowManager( 4274): at android.support.v7.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:150) E/WindowManager( 4274): at android.view.View.performClick(View.java:4438) E/WindowManager( 4274): at android.view.View$PerformClick.run(View.java:18422) E/WindowManager( 4274): at android.os.Handler.handleCallback(Handler.java:733) E/WindowManager( 4274): at android.os.Handler.dispatchMessage(Handler.java:95) E/WindowManager( 4274): at android.os.Looper.loop(Looper.java:136) E/WindowManager( 4274): at android.app.ActivityThread.main(ActivityThread.java:5001) E/WindowManager( 4274): at java.lang.reflect.Method.invokeNative(Native Method) E/WindowManager( 4274): at java.lang.reflect.Method.invoke(Method.java:515) E/WindowManager( 4274): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) E/WindowManager( 4274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) E/WindowManager( 4274): at dalvik.system.NativeStart.main(Native Method)

wondering why this exception occured?

WangGuox1n commented 4 years ago

another exception:

STACK_TRACE= E/SQLiteDatabase( 9276): Error inserting max=10 _id=0.8 E/SQLiteDatabase( 9276): android.database.sqlite.SQLiteConstraintException: column _id is not unique (code 19) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:782) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469) E/SQLiteDatabase( 9276): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) E/SQLiteDatabase( 9276): at protect.budgetwatch.DBHelper.insertBudget(DBHelper.java:142) E/SQLiteDatabase( 9276): at protect.budgetwatch.CsvDatabaseImporter.importBudget(CsvDatabaseImporter.java:233) E/SQLiteDatabase( 9276): at protect.budgetwatch.CsvDatabaseImporter.importData(CsvDatabaseImporter.java:44) E/SQLiteDatabase( 9276): at protect.budgetwatch.MultiFormatImporter.importData(MultiFormatImporter.java:45) E/SQLiteDatabase( 9276): at protect.budgetwatch.ImportExportTask.performImport(ImportExportTask.java:71) E/SQLiteDatabase( 9276): at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:125) E/SQLiteDatabase( 9276): at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:14) E/SQLiteDatabase( 9276): at android.os.AsyncTask$2.call(AsyncTask.java:288) E/SQLiteDatabase( 9276): at java.util.concurrent.FutureTask.run(FutureTask.java:237) E/SQLiteDatabase( 9276): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) E/SQLiteDatabase( 9276): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) E/SQLiteDatabase( 9276): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) E/SQLiteDatabase( 9276): at java.lang.Thread.run(Thread.java:841)

brarcher commented 4 years ago

Is the WindowLeaked issue causing the app to fail, or is it a warning?

As for the SQLiteConstraintException exception, this appears to be during an import of data, correct? An import will attempt to copy data on top of the app's database. If there are entries which are already present, then there is a warning emitted. Is this preventing you from properly importing data?