Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] App crashes when you close the app in while downloading in no connection condition #600

Closed
divyanshub024 opened this issue Mar 8, 2018 · 11 comments
Assignees
Labels

Comments

@divyanshub024
Copy link

Bug Report

Environment

  • version of the software you use: Android Studio 3.0.1
  • device / operating system : Nexus 6 / Android 7.0.1

The Bug:

App crashes when you close the app in no network condition while downloading the content.

Logs

  ActivityThread  E  Activity org.kiwix.kiwixmobile.zim_manager.ZimManageActivity has leaked IntentReceiver org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment$NetworkBroadcastReceiver@3aca9c3 
                            that was originally registered here. Are you missing a call to unregisterReceiver()?
                         E  android.app.IntentReceiverLeaked: Activity org.kiwix.kiwixmobile.zim_manager.ZimManageActivity has leaked IntentReceiver org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment
                            $NetworkBroadcastReceiver@3aca9c3 that was originally registered here. Are you missing a call to unregisterReceiver()?
                         E      at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1159)
                         E      at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:946)
                         E      at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1302)
                         E      at android.app.ContextImpl.registerReceiver(ContextImpl.java:1282)
                         E      at android.app.ContextImpl.registerReceiver(ContextImpl.java:1276)
                         E      at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:586)
                         E      at org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment.onCreateView(LibraryFragment.java:142)
                         E      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2261)
                         E      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
                         E      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
                         E      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
                         E      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
                         E      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590)
                         E      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
                         E      at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
                         E      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2209)
                         E      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:649)
                         E      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:145)
                         E      at android.support.v4.view.ViewPager.populate(ViewPager.java:1238)
                         E      at android.support.v4.view.ViewPager.populate(ViewPager.java:1086)
                         E      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1616)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:719)
                         E      at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:91)
                         E      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1361)
                         E      at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:789)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                         E      at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
                         E      at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at com.android.internal.policy.DecorView.onMeasure(DecorView.java:
                         E  Activity org.kiwix.kiwixmobile.zim_manager.ZimManageActivity has leaked ServiceConnection org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment$DownloadServiceConnection$Down
                            loadServiceInterface@8cb1c7a that was originally bound here
                         E  android.app.ServiceConnectionLeaked: Activity org.kiwix.kiwixmobile.zim_manager.ZimManageActivity has leaked ServiceConnection org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFr
                            agment$DownloadServiceConnection$DownloadServiceInterface@8cb1c7a that was originally bound here
                         E      at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1336)
                         E      at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1231)
                         E      at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1450)
                         E      at android.app.ContextImpl.bindService(ContextImpl.java:1422)
                         E      at android.content.ContextWrapper.bindService(ContextWrapper.java:636)
                         E      at org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment.downloadFile(LibraryFragment.java:315)
                         E      at org.kiwix.kiwixmobile.zim_manager.library_view.LibraryPresenter.loadRunningDownloadsFromDb(LibraryPresenter.java:46)
                         E      at org.kiwix.kiwixmobile.zim_manager.library_view.LibraryFragment.onCreateView(LibraryFragment.java:145)
                         E      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2261)
                         E      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
                         E      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
                         E      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
                         E      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
                         E      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590)
                         E      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
                         E      at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
                         E      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2209)
                         E      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:649)
                         E      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:145)
                         E      at android.support.v4.view.ViewPager.populate(ViewPager.java:1238)
                         E      at android.support.v4.view.ViewPager.populate(ViewPager.java:1086)
                         E      at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1616)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:719)
                         E      at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:91)
                         E      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1361)
                         E      at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:789)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                         E      at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
                         E      at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
                         E      at android.view.View.measure(View.java:19857)
                         E      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
                         E      at android.widget.FrameLayout.onMea

                            Process org.kiwix.kiwixmobile (PID: 32453) ended

Steps to reproduce:

  1. Start downloading some content
  2. disconnect network
  3. force close the app
@mhutti1 mhutti1 added the bug label Mar 8, 2018
@hjoshi123
Copy link
Contributor

@mhutti1 Can I work on this issue? can you assign it to me?

@kelson42
Copy link
Collaborator

@hjoshi123 you should have got an invitation link, please accept so I can put you owner of the ticket.

@hjoshi123
Copy link
Contributor

@mhutti1 I accepted the invitation. Did u assign it to me?

@kelson42
Copy link
Collaborator

@hjoshi123 now it is :)

@hjoshi123
Copy link
Contributor

:D thanks.. One more question that is related to gsoc.. how should I send my draft proposal for review?

@kelson42
Copy link
Collaborator

You can send an email to gsoc@kiwix.org, but I thought you could send it using gsoc web tool and then refine it!?

@hjoshi123
Copy link
Contributor

Ok.. Yeah Saw it now.. Cool thanks.. I will work on the bug

@hjoshi123
Copy link
Contributor

@divyanshub024 Can you exactly tell me how you got the crash? I tried recreating and ended up with a new crash

java.lang.RuntimeException: Unable to destroy activity {org.kiwix.kiwixmobile/org.kiwix.kiwixmobile.zim_manager.ZimManageActivity}: java.lang.IllegalStateException: Observer org.kiwix.kiwixmobile.downloader.DownloadFragment$DownloadAdapter$1@8a6bbdb was not registered.
                                                                           at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4240)
                                                                           at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4258)
                                                                           at android.app.ActivityThread.-wrap6(ActivityThread.java)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                           at android.os.Looper.loop(Looper.java:154)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6186)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
                                                                        Caused by: java.lang.IllegalStateException: Observer org.kiwix.kiwixmobile.downloader.DownloadFragment$DownloadAdapter$1@8a6bbdb was not registered.
                                                                           at android.database.Observable.unregisterObserver(Observable.java:69)
                                                                           at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42)
                                                                           at org.kiwix.kiwixmobile.downloader.DownloadFragment$DownloadAdapter.unRegisterDataSetObserver(DownloadFragment.java:342)
                                                                           at org.kiwix.kiwixmobile.downloader.DownloadFragment.onDestroy(DownloadFragment.java:122)
                                                                           at android.support.v4.app.Fragment.performDestroy(Fragment.java:2516)
                                                                           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1557)
                                                                           at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
                                                                           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
                                                                           at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3227)
                                                                           at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:3218)
                                                                           at android.support.v4.app.FragmentController.dispatchDestroy(FragmentController.java:262)
                                                                           at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:362)
                                                                           at android.support.v7.app.AppCompatActivity.onDestroy(AppCompatActivity.java:209)
                                                                           at android.app.Activity.performDestroy(Activity.java:6886)
                                                                           at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1154)
                                                                           at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4227)
                                                                           at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4258) 
                                                                           at android.app.ActivityThread.-wrap6(ActivityThread.java) 
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) 
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                           at android.os.Looper.loop(Looper.java:154) 
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6186) 
                                                                           at java.lang.reflect.Method.invoke(Native Method) 
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 

@divyanshub024
Copy link
Author

@hjoshi123
Steps to reproduce:

  1. start downloading
  2. start aeroplane mode
  3. close the app

@hjoshi123
Copy link
Contributor

@divyanshub024 I think I solved it. How should I push the code so that you can check?

@kelson42
Copy link
Collaborator

@hjoshi123 Make a Pull Request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants