PipePipe icon indicating copy to clipboard operation
PipePipe copied to clipboard

[Bug] App crashes when watching Bilibili videos

Open A3148475824 opened this issue 2 months ago • 9 comments

Checklist

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

Describe the bug

Okay, now even watching videos causes it to crash! I can find any video and it crashes! Watching Bilibili videos keeps crashing; I just find any video, start watching, and it crashes immediately! Could Bilibili's search interface display a duration option?Of course, as long as I watch videos, whether I randomly open videos from the history, playlist, or search interface, it will crash, it will quit, and it won't allow me to watch!

Frequency

Always (100% of the time)

Device

Android 12;Redmi Note12T Pro

Steps to reproduce the bug

The app crashes when I try to watch a video on the Bilibili search page.

Additional context

{"os":"Linux Android 12 - 31","device":"Xiaomi 22041216C (xaga)","app_version":"5.0.0-beta1 (2000)","timestamp":1761992206317,"language":"zh_CN","timezone":"Asia/Shanghai (UTC+8:00)","task":"UNKNOWN","request":null,"stacktrace":"java.lang.NullPointerException\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$$inlined$updateCurrentEntry$1.invoke(VideoDetailViewModel.kt:559)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$$inlined$updateCurrentEntry$1.invoke(VideoDetailViewModel.kt:34)\n\tat project.pipepipe.app.viewmodel.BaseViewModel.setState(BaseViewModel.kt:232)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel.loadDanmaku(VideoDetailViewModel.kt:34)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$1.invokeSuspend(VideoDetailViewModel.kt:0)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)\n\tSuppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@c1b9355, Dispatchers.Default]\n"}

A3148475824 avatar Nov 01 '25 10:11 A3148475824

can you test beta2? we just released it and it solves most of things

InfinityLoop1308 avatar Nov 01 '25 10:11 InfinityLoop1308

https://github.com/InfinityLoop1308/PipePipe/releases/tag/v5.0.0-beta2

InfinityLoop1308 avatar Nov 01 '25 10:11 InfinityLoop1308

if issue persists please let me know which video you are watching

InfinityLoop1308 avatar Nov 01 '25 10:11 InfinityLoop1308

if issue persists please let me know which video you are watching

Sorry, I didn't see that you updated to PipePipe-5.0.0-beta2-release.apk! I just updated it! Thank you so much! I only noticed your software update after I reported the bug! It's still crashing! In the previous version, it would crash immediately when watching videos! PipePipe-5.0.0-beta2 can watch videos, but it crashes when I drag the progress bar!!

{"os":"Linux Android 12 - 31","device":"Xiaomi 22041216C (xaga)","app_version":"5.0.0-beta2 (2001)","timestamp":1761992930616,"language":"zh_CN","timezone":"Asia/Shanghai (UTC+8:00)","task":"UNKNOWN","request":null,"stacktrace":"java.lang.NullPointerException\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$$inlined$updateCurrentEntry$1.invoke(VideoDetailViewModel.kt:559)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$$inlined$updateCurrentEntry$1.invoke(VideoDetailViewModel.kt:34)\n\tat project.pipepipe.app.viewmodel.BaseViewModel.setState(BaseViewModel.kt:232)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel.loadDanmaku(VideoDetailViewModel.kt:34)\n\tat project.pipepipe.app.viewmodel.VideoDetailViewModel$loadDanmaku$1.invokeSuspend(VideoDetailViewModel.kt:0)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)\n\tSuppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@e58a25b, Dispatchers.Default]\n"}

A3148475824 avatar Nov 01 '25 10:11 A3148475824

um for unknown reason the error log hasn't recorded the video you are watching. Can you share the link by using the share button?

InfinityLoop1308 avatar Nov 01 '25 10:11 InfinityLoop1308

um for unknown reason the error log hasn't recorded the video you are watching. Can you share the link by using the share button?

https://www.bilibili.com/video/BV1CQ4EzyExG?p=1 I updated PipePipe to version 5.0.0-beta2! For a period of time, it would crash when watching videos, but after a while, the software would be fine when I opened it again! It would crash frequently for a certain period of time, but it would stabilize after a while. I don't quite understand why!

A3148475824 avatar Nov 01 '25 10:11 A3148475824

It works fine on my devices here. As you mentioned that it works fine after a while, I assume it a device-specific issue.

You can do further tests and see if it still happen.

InfinityLoop1308 avatar Nov 01 '25 11:11 InfinityLoop1308

It works fine on my devices here. As you mentioned that it works fine after a while, I assume it a device-specific issue.

You can do further tests and see if it still happen.

I have two other Android devices. I'll export the data to another Android tablet, which I'll use to watch videos. If it still crashes, I'll message you. Thanks, but unfortunately, although I have multiple devices, their Android versions aren't very high because I don't like updating system versions. Most of them are running Android 12 or 13.

A3148475824 avatar Nov 01 '25 11:11 A3148475824

It works fine on my devices here. As you mentioned that it works fine after a while, I assume it a device-specific issue.

You can do further tests and see if it still happen.

I'm using another Android tablet, a Lenovo Xiaoxin Pad Pro 2021 running Android 13. It's unable to play videos; clicking to play a video causes it to crash. The reason it crashes is because I add video collections and watched videos to my playlist. My tablet only has one playlist named "Watched Videos." I suspect the problem lies with the playlist; when I try to watch a large number of videos and add them to the playlist, this problem occurs. However, it works normally after about ten minutes.

{"os":"Linux Android 13 - 33","device":"Lenovo Lenovo TB-J716F (J716F)","app_version":"5.0.0-beta2 (2001)","timestamp":1762047870837,"language":"zh_CN_#Hans","timezone":"Asia/Shanghai (UTC+8:00)","task":"FETCH_FIRST_PAGE","request":"danmaku://bilibili.raw?cid=32220250664","stacktrace":"java.lang.NullPointerException\n\tat project.pipepipe.extractor.services.bilibili.extractor.BilibiliDanmakuExtractor.fetchFirstPage(BilibiliDanmakuExtractor.kt:46)\n\tat project.pipepipe.extractor.Router.route(Router.kt:40)\n\tat project.pipepipe.extractor.Router.execute(Router.kt:88)\n\tat project.pipepipe.app.PipePipeApplication$onCreate$2.invoke(PipePipeApplication.kt:64)\n\tat project.pipepipe.app.PipePipeApplication$onCreate$2.invoke(PipePipeApplication.kt:64)\n\tat project.pipepipe.app.helper.JobRunnerKt.executeJobFlow(JobRunner.kt:56)\n\tat project.pipepipe.app.helper.JobRunnerKt$executeJobFlow$1.invokeSuspend(JobRunner.kt:0)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)\n\tat kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:35)\n\tat kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:101)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:47)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)\n\tat kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)\n\tat kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)\n"}

{"os":"Linux Android 13 - 33","device":"Lenovo Lenovo TB-J716F (J716F)","app_version":"5.0.0-beta2 (2001)","timestamp":1762047870837,"language":"zh_CN_#Hans","timezone":"Asia/Shanghai (UTC+8:00)","task":"FETCH_FIRST_PAGE","request":"danmaku://bilibili.raw?cid=32220250664","stacktrace":"java.lang.NullPointerException\n\tat project.pipepipe.extractor.services.bilibili.extractor.BilibiliDanmakuExtractor.fetchFirstPage(BilibiliDanmakuExtractor.kt:46)\n\tat project.pipepipe.extractor.Router.route(Router.kt:40)\n\tat project.pipepipe.extractor.Router.execute(Router.kt:88)\n\tat project.pipepipe.app.PipePipeApplication$onCreate$2.invoke(PipePipeApplication.kt:64)\n\tat project.pipepipe.app.PipePipeApplication$onCreate$2.invoke(PipePipeApplication.kt:64)\n\tat project.pipepipe.app.helper.JobRunnerKt.executeJobFlow(JobRunner.kt:56)\n\tat project.pipepipe.app.helper.JobRunnerKt$executeJobFlow$1.invokeSuspend(JobRunner.kt:0)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)\n\tat kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:35)\n\tat kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:101)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:47)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)\n\tat kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)\n\tat kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)\n\tat kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)\n"}

A3148475824 avatar Nov 02 '25 01:11 A3148475824