Crash: Cannot return null from a non-@Nullable @Provides method at IndexFrameModule_GetPopupBuilderFactory.proxyGetPopupBuilder

Issue #145 closed
Mikhail Lopatkin repo owner created an issue
java.lang.NullPointerException: Cannot return null from a non-@Nullable @Provides method
    at dagger.internal.Preconditions.checkNotNull(Preconditions.java:48)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrameModule_GetPopupBuilderFactory.proxyGetPopupBuilder(IndexFrameModule_GetPopupBuilderFactory.java:32)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrameModule_GetPopupBuilderFactory.provideInstance(IndexFrameModule_GetPopupBuilderFactory.java:24)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrameModule_GetPopupBuilderFactory.get(IndexFrameModule_GetPopupBuilderFactory.java:20)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrameModule_GetPopupBuilderFactory.get(IndexFrameModule_GetPopupBuilderFactory.java:7)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrame_Factory.provideInstance(IndexFrame_Factory.java:59)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrame_Factory.get(IndexFrame_Factory.java:40)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.IndexFrame_Factory.get(IndexFrame_Factory.java:10)
    at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexframe.DaggerIndexFrameComponent.createFrame(DaggerIndexFrameComponent.java:72)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexfilter.IndexFilterController.<init>(IndexFilterController.java:52)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexfilter.IndexFilterController$Factory.create(IndexFilterController.java:90)
    at org.bitbucket.mlopatkin.android.logviewer.ui.indexfilter.IndexFilterCollection.addFilter(IndexFilterCollection.java:47)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController$BaseToggleFilter.addToCollection(MainFilterController.java:182)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController.addNewDialogFilter(MainFilterController.java:100)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController.access$500(MainFilterController.java:43)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController$SavedDialogFilterData.appendMe(MainFilterController.java:239)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController.<init>(MainFilterController.java:79)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController_Factory.provideInstance(MainFilterController_Factory.java:60)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController_Factory.get(MainFilterController_Factory.java:41)
    at org.bitbucket.mlopatkin.android.logviewer.filters.MainFilterController_Factory.get(MainFilterController_Factory.java:11)
    at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    at org.bitbucket.mlopatkin.android.logviewer.ui.mainframe.DaggerMainFrameDependencies.getFilterCreator(DaggerMainFrameDependencies.java:97)
    at org.bitbucket.mlopatkin.android.logviewer.ui.mainframe.DaggerMainFrameDependencies.getFilterPanel(DaggerMainFrameDependencies.java:170)
    at org.bitbucket.mlopatkin.android.logviewer.MainFrame.initialize(MainFrame.java:220)
    at org.bitbucket.mlopatkin.android.logviewer.MainFrame.<init>(MainFrame.java:121)
    at org.bitbucket.mlopatkin.android.logviewer.Main.createAndShowWindow(Main.java:122)
    at org.bitbucket.mlopatkin.android.logviewer.Main.<init>(Main.java:100)
    at org.bitbucket.mlopatkin.android.logviewer.Main.lambda$main$0(Main.java:73)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

After changing Nullability annotations to CheckerFramework.

It turns out that Dagger still cannot handle type annotations 6 years after Java 8 release: https://github.com/google/dagger/issues/861

Comments (3)

  1. Log in to comment