Skip to content

[Bug] App crashes when dragging seek bar within videos that don't have seek thumbnails #2396

@ximellon

Description

@ximellon

Checklist

  • I make sure that the issue is NOT a duplicate of pinned issues
  • I make sure I am using the LATEST version - check here
  • I understand that issues with limited impact, such as those occurring on specific devices or under specific network conditions, will not be fixed
  • I have attached the error report in the issue

Describe the bug

Just found out that when play this video

https://www.bilibili.com/video/BV1awVV6xEHN

If you tried to drag the seek bar, it always crashes with the following error details. It seems that the internal system always expects seek thumbnails (video frame preview) exist and when there's no thumbnail, it simply crashes out. However, I really don't know if the video will get fixed and you cannot reproduce this bug.

Version

5.1.1

Frequency

Always (100% of the time)

Device

Poco F6 Pro w/ Android 14

Steps to reproduce the bug

  1. Go to this bilibili video: https://www.bilibili.com/video/BV1awVV6xEHN
  2. Play it with Pipepipe
  3. Try to drag the seek bar
  4. It shall crash with the following error

Additional context

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: TW
  • Content Language: en-
  • App Language: en
  • Service: none
  • Version: 5.1.1
  • OS: Linux Android 14 - 34
Crash log

java.lang.IllegalArgumentException: width must be > 0
	at android.graphics.Bitmap.checkWidthHeight(Bitmap.java:485)
	at android.graphics.Bitmap.createBitmap(Bitmap.java:941)
	at android.graphics.Bitmap.createBitmap(Bitmap.java:902)
	at org.schabi.newpipe.player.seekbarpreview.SeekbarPreviewThumbnailHolder.lambda$createBitmapSupplier$3(SeekbarPreviewThumbnailHolder.java:184)
	at org.schabi.newpipe.player.seekbarpreview.SeekbarPreviewThumbnailHolder.$r8$lambda$Xr4xQXs0rTwUdYUYTXtQnx-41MM(Unknown Source:0)
	at org.schabi.newpipe.player.seekbarpreview.SeekbarPreviewThumbnailHolder$$ExternalSyntheticLambda0.get(Unknown Source:6)
	at org.schabi.newpipe.player.seekbarpreview.SeekbarPreviewThumbnailHolder.getBitmapAt(SeekbarPreviewThumbnailHolder.java:244)
	at org.schabi.newpipe.player.Player.onProgressChanged(Player.java:2038)
	at org.schabi.newpipe.views.FocusAwareSeekBar$NestedListener.onProgressChanged(FocusAwareSeekBar.java:130)
	at android.widget.SeekBar.onProgressRefresh(SeekBar.java:99)
	at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1578)
	at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1690)
	at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1756)
	at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:1023)
	at android.widget.AbsSeekBar.startDrag(AbsSeekBar.java:978)
	at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:935)
	at android.view.View.dispatchTouchEvent(View.java:15861)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3160)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2828)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:553)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1908)
	at android.app.Activity.dispatchTouchEvent(Activity.java:4584)
	at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
	at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:511)
	at android.view.View.dispatchPointerEvent(View.java:16139)
	at com.xiaomi.mirror.MiuiMirrorImpl.isHandled(MiuiMirrorImpl.java:152)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7796)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7562)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6937)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6994)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6960)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7125)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6968)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7182)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6941)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6994)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6960)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6968)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6941)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10088)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10039)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10003)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10237)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:307)
	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:275)
	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:10174)
	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:10336)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1623)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1632)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1172)
	at android.view.Choreographer.doFrame(Choreographer.java:1069)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1602)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:224)
	at android.os.Looper.loop(Looper.java:318)
	at android.app.ActivityThread.main(ActivityThread.java:8671)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions