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

Fix leaking intent receivers in BaseServers #799

Open
JoGir opened this issue Nov 4, 2016 · 0 comments
Open

Fix leaking intent receivers in BaseServers #799

JoGir opened this issue Nov 4, 2016 · 0 comments
Labels

Comments

@JoGir
Copy link
Contributor

JoGir commented Nov 4, 2016

  • attach/remove receivers for call-lifecycles not objects lifecycle

example stack produced by new boxservice

1-04 04:07:12.861 21916-21916/de.qabel.qabel.debug E/ActivityThread: Service de.qabel.qabelbox.box.AndroidBoxService has leaked IntentReceiver de.qabel.qabelbox.communication.connection.ConnectivityManager$broadcastReceiver$1@a141f43 that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                                      android.app.IntentReceiverLeaked: Service de.qabel.qabelbox.box.AndroidBoxService has leaked IntentReceiver de.qabel.qabelbox.communication.connection.ConnectivityManager$broadcastReceiver$1@a141f43 that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                                          at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:962)
                                                                          at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:763)
                                                                          at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1179)
                                                                          at android.app.ContextImpl.registerReceiver(ContextImpl.java:1159)
                                                                          at android.app.ContextImpl.registerReceiver(ContextImpl.java:1153)
                                                                          at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:554)
                                                                          at de.qabel.qabelbox.communication.connection.ConnectivityManager.<init>(ConnectivityManager.kt:30)
                                                                          at de.qabel.qabelbox.communication.BaseServer.<init>(BaseServer.java:45)
                                                                          at de.qabel.qabelbox.storage.server.AndroidBlockServer.<init>(AndroidBlockServer.java:0)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule.createBlockServer(StorageModule.java:57)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule.providesBlockServer(StorageModule.java:53)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule_ProvidesBlockServerFactory.get(StorageModule_ProvidesBlockServerFactory.java:37)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule_ProvidesBlockServerFactory.get(StorageModule_ProvidesBlockServerFactory.java:11)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvideVolumeManagerFactory.get(BoxModule_ProvideVolumeManagerFactory.java:60)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvideVolumeManagerFactory.get(BoxModule_ProvideVolumeManagerFactory.java:14)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.box.interactor.BoxDocumentIdInteractor_Factory.get(BoxDocumentIdInteractor_Factory.java:27)
                                                                          at de.qabel.qabelbox.box.interactor.BoxDocumentIdInteractor_Factory.get(BoxDocumentIdInteractor_Factory.java:8)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvidesDocumentIdUseCaseFactory.get(BoxModule_ProvidesDocumentIdUseCaseFactory.java:31)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvidesDocumentIdUseCaseFactory.get(BoxModule_ProvidesDocumentIdUseCaseFactory.java:10)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService_MembersInjector.injectMembers(AndroidBoxService_MembersInjector.java:46)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService_MembersInjector.injectMembers(AndroidBoxService_MembersInjector.java:10)
                                                                          at de.qabel.qabelbox.dagger.components.DaggerBoxComponent.inject(DaggerBoxComponent.java:232)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService.onCreate(AndroidBoxService.kt:41)
                                                                          at android.app.ActivityThread.handleCreateService(ActivityThread.java:2895)
                                                                          at android.app.ActivityThread.access$1900(ActivityThread.java:157)
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                          at android.os.Looper.loop(Looper.java:148)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5527)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
@audax audax added the bug label Jan 24, 2017
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

2 participants