Skip to content

[nightly] NullPointerException on device rotation #12807

@TobiGr

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.

Metadata

Metadata

Assignees

Labels

bugIssue is related to a bug

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions