TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
31.52k stars 3.06k forks source link

Canvas error on scrolling media.ccc conferences list #10751

Open ca-d opened 9 months ago

ca-d commented 9 months ago

Checklist

Affected version

0.26.1

Steps to reproduce the bug

  1. Go to media.ccc conferences
  2. Scroll down swiftly

Expected behavior

The list scrolls downward

Actual behavior

The error pasted below

Screenshots/Screen recordings

No response

Logs

scrolled through the media.ccc 'conferences' list

Exception

java.lang.RuntimeException: Canvas: trying to draw too large(125516160bytes) bitmap.
    at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:266)
    at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:94)
    at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:549)
    at com.squareup.picasso.PicassoDrawable.draw(PicassoDrawable.java:109)
    at android.widget.ImageView.onDraw(ImageView.java:1446)
    at com.google.android.material.imageview.ShapeableImageView.onDraw(ShapeableImageView.java:188)
    at android.view.View.draw(View.java:23195)
    at android.view.View.updateDisplayListIfDirty(View.java:22062)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1994)
    at android.view.View.draw(View.java:23198)
    at android.view.View.updateDisplayListIfDirty(View.java:22062)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5204)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23198)
    at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4603)
    at android.view.View.updateDisplayListIfDirty(View.java:22062)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.fragment.app.FragmentContainerView.drawChild(FragmentContainerView.kt:235)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at androidx.fragment.app.FragmentContainerView.dispatchDraw(FragmentContainerView.kt:225)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1478)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.updateDisplayListIfDirty(View.java:22053)
    at android.view.View.draw(View.java:22926)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4529)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4290)
    at android.view.View.draw(View.java:23198)
    at com.android.internal.policy.DecorView.draw(DecorView.java:819)
    at android.view.View.updateDisplayListIfDirty(View.java:22062)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:682)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:688)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:786)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:4579)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4290)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3517)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2286)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8948)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
    at android.view.Choreographer.doCallbacks(Choreographer.java:899)
    at android.view.Choreographer.doFrame(Choreographer.java:832)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7898)
    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

Affected device model

Pixel 4

Additional information

No response

mss commented 7 months ago

I think I run into the same bug by just loading https://media.ccc.de/v/bornhack2023-56142-sexy-ssh-hacks via the search box.

Exception

java.lang.RuntimeException: Canvas: trying to draw too large(125516160bytes) bitmap.
    at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:283)
    at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:88)
    at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:548)
    at com.squareup.picasso.PicassoDrawable.draw(PicassoDrawable.java:109)
    at android.widget.ImageView.onDraw(ImageView.java:1436)
    at com.google.android.material.imageview.ShapeableImageView.onDraw(ShapeableImageView.java:198)
    at android.view.View.draw(View.java:22422)
    at android.view.View.updateDisplayListIfDirty(View.java:21298)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.draw(View.java:22425)
    at android.view.View.updateDisplayListIfDirty(View.java:21298)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.draw(View.java:22425)
    at com.google.android.material.appbar.AppBarLayout.draw(AppBarLayout.java:419)
    at android.view.View.updateDisplayListIfDirty(View.java:21298)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.draw(View.java:22425)
    at android.view.View.updateDisplayListIfDirty(View.java:21298)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at androidx.fragment.app.FragmentContainerView.drawChild(FragmentContainerView.kt:235)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at androidx.fragment.app.FragmentContainerView.dispatchDraw(FragmentContainerView.kt:225)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1478)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.updateDisplayListIfDirty(View.java:21289)
    at android.view.View.draw(View.java:22153)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
    at android.view.View.draw(View.java:22425)
    at com.android.internal.policy.DecorView.draw(DecorView.java:840)
    at android.view.View.updateDisplayListIfDirty(View.java:21298)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:559)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:565)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:642)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:4231)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3958)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3229)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2064)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8400)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
    at android.view.Choreographer.doCallbacks(Choreographer.java:796)
    at android.view.Choreographer.doFrame(Choreographer.java:731)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:250)
    at android.app.ActivityThread.main(ActivityThread.java:7755)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)