Tubular icon indicating copy to clipboard operation
Tubular copied to clipboard

NullPointerException - SponsorBlock's `Whitelist channel` Feature Causes Crash when Rotating Screen

Open VoxAndrews opened this issue 6 months ago • 1 comments

Checklist

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

Affected version

0.27.7

Steps to reproduce the bug

  1. Open the app
  2. Select any video
  3. Go to the SponsorBlock tab
  4. Switch the Whitelist channel button on
  5. Physically rotate your device into landscape mode

Expected behavior

Normal viewing of the video without any crashes.

Actual behavior

An immediate crash to the Android home screen and a notifications message stating App/UI crashed.

Screenshots/Recordings

https://github.com/user-attachments/assets/364a07e9-35f0-4197-9288-6f8704e6daa0

Logs

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: AU
  • Content Language: en-GB
  • App Language: en_AU
  • Service: none
  • Timestamp: 2025-06-18T14:00:27.678+08:00
  • Package: org.polymorphicshade.tubular
  • Service: none
  • Version: 0.27.7
  • OS: Linux Android 15 - 35
Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.schabi.newpipe.extractor.stream.StreamInfo.getUploaderName()' on a null object reference
	at org.schabi.newpipe.fragments.list.sponsorblock.SponsorBlockFragment.onCheckedChanged(SponsorBlockFragment.java:145)
	at android.widget.CompoundButton.setChecked(CompoundButton.java:222)
	at androidx.appcompat.widget.SwitchCompat.setChecked(SwitchCompat.java:1183)
	at android.widget.CompoundButton.onRestoreInstanceState(CompoundButton.java:676)
	at android.view.View.dispatchRestoreInstanceState(View.java:23141)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.View.restoreHierarchyState(View.java:23119)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:698)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:3176)
	at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3161)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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.Fragment.performActivityCreated(Fragment.java:3162)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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:251)
	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1765)
	at android.app.Activity.performStart(Activity.java:9045)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4123)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2666)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:258)
	at android.os.Looper.loop(Looper.java:356)
	at android.app.ActivityThread.main(ActivityThread.java:8837)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:598)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:896)


Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: AU
  • Content Language: en-GB
  • App Language: en_AU
  • Service: none
  • Timestamp: 2025-06-18T14:08:43.817+08:00
  • Package: org.polymorphicshade.tubular
  • Service: none
  • Version: 0.27.7
  • OS: Linux Android 15 - 35
Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.schabi.newpipe.extractor.stream.StreamInfo.getUploaderName()' on a null object reference
	at org.schabi.newpipe.fragments.list.sponsorblock.SponsorBlockFragment.onCheckedChanged(SponsorBlockFragment.java:145)
	at android.widget.CompoundButton.setChecked(CompoundButton.java:222)
	at androidx.appcompat.widget.SwitchCompat.setChecked(SwitchCompat.java:1183)
	at android.widget.CompoundButton.onRestoreInstanceState(CompoundButton.java:676)
	at android.view.View.dispatchRestoreInstanceState(View.java:23141)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.View.restoreHierarchyState(View.java:23119)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:698)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:3176)
	at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3161)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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.Fragment.performActivityCreated(Fragment.java:3162)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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:251)
	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1765)
	at android.app.Activity.performStart(Activity.java:9045)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4123)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2666)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:258)
	at android.os.Looper.loop(Looper.java:356)
	at android.app.ActivityThread.main(ActivityThread.java:8837)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:598)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:896)


Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: AU
  • Content Language: en-GB
  • App Language: en_AU
  • Service: none
  • Timestamp: 2025-06-18T14:11:11.604+08:00
  • Package: org.polymorphicshade.tubular
  • Service: none
  • Version: 0.27.7
  • OS: Linux Android 15 - 35
Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.schabi.newpipe.extractor.stream.StreamInfo.getUploaderName()' on a null object reference
	at org.schabi.newpipe.fragments.list.sponsorblock.SponsorBlockFragment.onCheckedChanged(SponsorBlockFragment.java:145)
	at android.widget.CompoundButton.setChecked(CompoundButton.java:222)
	at androidx.appcompat.widget.SwitchCompat.setChecked(SwitchCompat.java:1183)
	at android.widget.CompoundButton.onRestoreInstanceState(CompoundButton.java:676)
	at android.view.View.dispatchRestoreInstanceState(View.java:23141)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:4015)
	at android.view.View.restoreHierarchyState(View.java:23119)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:698)
	at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:3176)
	at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3161)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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.Fragment.performActivityCreated(Fragment.java:3162)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	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:251)
	at org.schabi.newpipe.MainActivity.onStart(MainActivity.java:219)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1765)
	at android.app.Activity.performStart(Activity.java:9045)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4123)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2666)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:258)
	at android.os.Looper.loop(Looper.java:356)
	at android.app.ActivityThread.main(ActivityThread.java:8837)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:598)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:896)


Affected Android/Custom ROM version

Android 15 (Kernel: 5.10.209-android12-9-00019-g4ea09a298bb4-ab12292661 #1 Wed Aug 28 22:16:09 UTC 2024, Baseband: MPSS.DE.2.0-01026.2-WAIPIO_GEN_PACK-1.90683.1.94136.4) / Nothing OS 3.0 (Build number: Pong-V3.0-250506-1805)

Affected device model

Nothing Phone (2)

Additional information

  • I have Use Developer options turned on, but even when I turned it back off and restarted my phone the crashing still occurred
  • The crashes are occurring due to a NullPointerException regarding the NewPipe API's getUploaderName() function

VoxAndrews avatar Jun 18 '25 07:06 VoxAndrews

I can reproduce, thank you for bug report

asandikci avatar Jun 18 '25 16:06 asandikci

hey any plans to fix this soon? i keep experiencing this. :/

Disaster2life avatar Dec 20 '25 21:12 Disaster2life