Skip to content

[nightly] NullPointerException on device rotationΒ #12807

Closed

Description

@TobiGr

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected version

0.28.1 nightly @ f836f5e

Steps to reproduce the bug

  1. Start NewPipe nightly
  2. tap on a stream or open a view extending a BaseFragment (such as the LocalPlaylistFragment)
  3. either wait until it has loaded or not
  4. rotate device

Expected behavior

State is restored after rotation

Actual behavior

NewPipe crashes. The ErrorActivity is not opened

Screenshots/Screen recordings

No response

Logs

Stacktrace 1 from VideoDetail
FATAL EXCEPTION: main
                                                                                                    Process: org.schabi.newpipe.nightly, PID: 22006
                                                                                                    java.lang.NullPointerException: Attempt to invoke virtual method 'org.schabi.newpipe.extractor.stream.Description org.schabi.newpipe.extractor.stream.StreamInfo.getDescription()' on a null object reference
                                                                                                    	at org.schabi.newpipe.fragments.detail.DescriptionFragment.getDescription(DescriptionFragment.java:41)
                                                                                                    	at org.schabi.newpipe.fragments.detail.BaseDescriptionFragment.setupDescription(BaseDescriptionFragment.java:107)
                                                                                                    	at org.schabi.newpipe.fragments.detail.BaseDescriptionFragment.onCreateView(BaseDescriptionFragment.java:53)
                                                                                                    	at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3114)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:557)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
                                                                                                    	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
                                                                                                    	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2945)
                                                                                                    	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3148)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
                                                                                                    	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
                                                                                                    	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
                                                                                                    	at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
                                                                                                    	at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
                                                                                                    	at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:238)
                                                                                                    	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
                                                                                                    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1547)
                                                                                                    	at android.app.Activity.performStart(Activity.java:8367)
                                                                                                    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3670)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:201)
                                                                                                    	at android.os.Looper.loop(Looper.java:288)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:7924)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Stacktrace 2 from LocalPlaylistFragment
FATAL EXCEPTION: main
                                                                                                    Process: org.schabi.newpipe.nightly, PID: 21736
                                                                                                    java.lang.NullPointerException: Attempt to invoke virtual method 'long java.lang.Long.longValue()' on a null object reference
                                                                                                    	at org.schabi.newpipe.local.playlist.LocalPlaylistFragment.startLoading(LocalPlaylistFragment.java:245)
                                                                                                    	at org.schabi.newpipe.fragments.BaseStateFragment.doInitialLoadLogic(BaseStateFragment.java:100)
                                                                                                    	at org.schabi.newpipe.fragments.BaseStateFragment.onViewCreated(BaseStateFragment.java:47)
                                                                                                    	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3147)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
                                                                                                    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
                                                                                                    	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
                                                                                                    	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
                                                                                                    	at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
                                                                                                    	at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
                                                                                                    	at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
                                                                                                    	at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:238)
                                                                                                    	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
                                                                                                    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1547)
                                                                                                    	at android.app.Activity.performStart(Activity.java:8367)
                                                                                                    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3670)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:201)
                                                                                                    	at android.os.Looper.loop(Looper.java:288)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:7924)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Affected Android/Custom ROM version

Android 13 / API 33, e/OS/ 3.2

Affected device model

Fairphone 3 / FP3

Additional information

Something goes wrong when saving or restoring the state of the BaseFragment.

Activity

  1. added theissue type on Nov 16, 2025
  2. TobiGr commented on Nov 17, 2025

    @TobiGr
    MemberAuthor

    We also need to investigate why the ErrorActivity is not launched. This prevents us. from getting bug reports

  3. self-assigned this
    on Nov 17, 2025
  4. theimpulson commented on Nov 18, 2025

    @theimpulson
    Member

    I noticed another NPE but doesn't seems to be related with recent DB migration to kotlin

    2025-11-18 10:20:19.603 22542-22542 AndroidRuntime          org.schabi.newpipe.debug             E  FATAL EXCEPTION: main
                                                                                                        Process: org.schabi.newpipe.debug, PID: 22542
                                                                                                        java.lang.NullPointerException: Attempt to invoke virtual method 'org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory org.schabi.newpipe.extractor.StreamingService.getSearchQHFactory()' on a null object reference
                                                                                                        	at org.schabi.newpipe.fragments.list.search.SearchFragment.onCreateOptionsMenu(SearchFragment.java:454)
                                                                                                        	at androidx.fragment.app.Fragment.performCreateOptionsMenu(Fragment.java:3262)
                                                                                                        	at androidx.fragment.app.FragmentManager.dispatchCreateOptionsMenu(FragmentManager.java:3123)
                                                                                                        	at androidx.fragment.app.FragmentManager$2.onCreateMenu(FragmentManager.java:498)
                                                                                                        	at androidx.core.view.MenuHostHelper.onCreateMenu(MenuHostHelper.java:93)
                                                                                                        	at androidx.activity.ComponentActivity.onCreatePanelMenu(ComponentActivity.java:521)
                                                                                                        	at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
                                                                                                        	at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:3413)
                                                                                                        	at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:458)
                                                                                                        	at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:58)
                                                                                                        	at android.os.Handler.handleCallback(Handler.java:995)
                                                                                                        	at android.os.Handler.dispatchMessage(Handler.java:103)
                                                                                                        	at android.os.Looper.loopOnce(Looper.java:248)
                                                                                                        	at android.os.Looper.loop(Looper.java:338)
                                                                                                        	at android.app.ActivityThread.main(ActivityThread.java:9067)
                                                                                                        	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
                                                                                                        	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
  5. theimpulson commented on Nov 18, 2025

    @theimpulson
    Member

    The library being used for saving state seems to have been deprecated: Evernote/android-state@79552dd

  6. moved this from Todo to Done in v0.28.xon Nov 19, 2025
  7. TobiGr commented on Dec 1, 2025

    @TobiGr
    MemberAuthor

    I am still able to reproduce this error

    Exception

    • User Action: ui error
    • Request: ACRA report
    • Content Country: DE
    • Content Language: de-
    • App Language: en_DE
    • Service: <unknown_service>
    • Timestamp: 2025-12-01T09:21:17.243+01:00
    • Package: org.schabi.newpipe.nightly
    • Service: <unknown_service>
    • Version: 0.28.0-1079-202511300127
    • OS: Linux Android 13 - 33
    Crash log

    java.lang.NullPointerException: Attempt to invoke virtual method 'org.schabi.newpipe.extractor.stream.Description org.schabi.newpipe.extractor.stream.StreamInfo.getDescription()' on a null object reference
    	at org.schabi.newpipe.fragments.detail.DescriptionFragment.getDescription(DescriptionFragment.java:41)
    	at org.schabi.newpipe.fragments.detail.BaseDescriptionFragment.setupDescription(BaseDescriptionFragment.java:107)
    	at org.schabi.newpipe.fragments.detail.BaseDescriptionFragment.onCreateView(BaseDescriptionFragment.java:53)
    	at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3114)
    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:557)
    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
    	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
    	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
    	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
    	at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2945)
    	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3148)
    	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
    	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
    	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
    	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
    	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
    	at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
    	at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
    	at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
    	at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:238)
    	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1547)
    	at android.app.Activity.performStart(Activity.java:8367)
    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3670)
    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
    	at android.os.Handler.dispatchMessage(Handler.java:106)
    	at android.os.Looper.loopOnce(Looper.java:201)
    	at android.os.Looper.loop(Looper.java:288)
    	at android.app.ActivityThread.main(ActivityThread.java:7924)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
    
    

  8. theimpulson commented on Dec 1, 2025

    @theimpulson
    Member

    I am still able to reproduce this error

    I am unable to reproduce it on my side on the latest nightly. Are you sure you are on the latest one?

  9. TobiGr commented on Dec 1, 2025

    @TobiGr
    MemberAuthor

    0.28.0-1079-202511300127 is the latest version, built on 2025/11/30. It happened on the main page. For whatever reason I am also unable to reproduce it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugIssue is related to a bug

Type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions