Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux播放视频闪退 #70

Closed
zqigolden opened this issue Nov 24, 2024 · 7 comments
Closed

Linux播放视频闪退 #70

zqigolden opened this issue Nov 24, 2024 · 7 comments

Comments

@zqigolden
Copy link
Contributor

  • 设备:steam deck 6.5.0

  • 软件版本:1.3.6 linux

  • bug描述:

    • 程序启动后,可以正常从动画列表中播放视频。但在播放中使用选集菜单切换剧集时,程序会闪退。此外,当程序闪退后返回列表再次尝试播放时,也会再次闪退。该问题在 95% 的情况下可以复现。

    • 根据日志信息,问题可能与已存在player实例时弹幕控制器的初始化有关。

  • 日志:

(139)(deck@steamdeck oneAnime_linux_1.3.6)$ ./oneanime 
0.29.1 (git a295cc1) - Multimedia Development Kit. Copyright (c) 2016-2024 WangBin(QtAV author) <wbsecg1 at gmail.com>
Build for: Linux 4KB x86_64; glibc2.24/2.39 libc++200000; Clang20.0.0 (++20241025031241+e47bf3d08d51-1~exp1~20241025151356.2010); 07:53:40 Oct 27 2024
flutter: 缓存目录为 /home/deck/.local/share/com.example.oneanime/hive
flutter: GStorage 初始化完成
flutter: Dio 初始化完成
flutter: -- IndexModule INITIALIZED
flutter: 动态库加载成功
flutter: 当前设备宽屏
flutter: -- PopularModule INITIALIZED
flutter: Popular list is empty, loading...
flutter: The length of anime list is 1505
flutter: 检测到远方番剧数据库变动
flutter: 更新列表成功
flutter: -- MyModule INITIALIZED
flutter: -- PopularModule DISPOSED
flutter: -- PopularModule INITIALIZED
flutter: -- MyModule DISPOSED
flutter: The length of anime list is 1505
flutter: AnimeButton is pressed. https://anime1.me/?cat=1551
flutter: 更新历史记录: link: 1551, time: 1732482945, offset: 3
flutter: 从网页上成功捕获视频凭据 %7B%22c%22%3A%221551%22%2C%22e%22%3A%229b%22%2C%22t%22%3A1732481678%2C%22p%22%3A0%2C%22s%22%3A%226bcb744483c78cded6ab31424964f081%22%7D
flutter: 合集总长度 9
flutter: 用于视频验权的cookie为 e=1732510478; p=eyJpc3MiOiJhbmltZTEubWUiLCJleHAiOjE3MzI1MTA0NzgwMDAsImlhdCI6MTczMjQ4Mjk0NjAwMCwic3ViIjoiLzE1NTEvM2IubXA0In0; h=zCMCbJqPMpS9Vy9IBFgEvA
flutter: VideoSource resolved success https://hajime.v.anime1.me/1551/3b.mp4
flutter: -- VideoModule INITIALIZED
flutter: 未找到已经存在的 player
flutter: VideoURL开始初始化
flutter: videoController 配置成功
flutter: 弹幕控制器创建成功
flutter: VideoURL初始化完成
glXGetCurrentDisplay:0x555675930e20, display from param: 0x555675930e20
flutter: 弹幕请求最终URL https://api.dandanplay.net/api/v2/comment/179110003
flutter: 当前弹幕库 465
flutter: 找到之前的观看记录
flutter: 用于视频验权的cookie为 e=1732510478; p=eyJpc3MiOiJhbmltZTEubWUiLCJleHAiOjE3MzI1MTA0NzgwMDAsImlhdCI6MTczMjQ4Mjk1MDAwMCwic3ViIjoiLzE1NTEvM2IubXA0In0; h=KFXTG63sF-NldVAxhbd_yQ
flutter: 找到逃掉的 player
flutter: VideoURL开始初始化
flutter: videoController 配置成功
段错误(核心已转储)
@Predidit
Copy link
Owner

尝试禁用播放器硬件解码

@zqigolden
Copy link
Contributor Author

你好,我尝试了禁用硬件编码,有一定改善但还会在切换二到五次视频后跳出。你认为这是硬件兼容问题吗?

@Predidit
Copy link
Owner

这个日志里缺乏有效信息,崩溃明显发生在 native 层。

不知道具体是哪里,来自播放器还是webkit还是flutter引擎。我需要 core dump ,但是上面并没有给出。

@zqigolden
Copy link
Contributor Author

Steam os 系统wrap了core dump到一个特定目录,我找到了今天生成的dmp文件,是运行了oneAnime几次之后产生的,希望有帮助。
dmps.tar.gz

@zqigolden
Copy link
Contributor Author

试着用gdb跑了一下,貌似是libmdk里面的问题

[New Thread 0x7ffec0ff96c0 (LWP 71703)]
[New Thread 0x7ffea0ff96c0 (LWP 71704)]
[New Thread 0x7ffea3fff6c0 (LWP 71705)]
flutter: 找到之前的观看记录
flutter: 用于视频验权的cookie为 e=1732669568; p=eyJpc3MiOiJhbmltZTEubWUiLCJleHAiOjE3MzI2Njk1NjgwMDAsImlhdCI6MTczMjY0MDc4MDAwMCwic3ViIjoiLzE1NTgvMjFiLm1wNCJ9; h=Fsz993dX0cARfgouEM-oEA
flutter: 找到逃掉的 player
flutter: VideoURL开始初始化
flutter: videoController 配置成功
[New Thread 0x7ffe97fff6c0 (LWP 71706)]
[Thread 0x7ffea2ffd6c0 (LWP 71687) exited]
[Thread 0x7ffea37fe6c0 (LWP 71688) exited]
[Thread 0x7ffed7fff6c0 (LWP 71690) exited]
[Thread 0x7ffed77fe6c0 (LWP 71691) exited]
[Thread 0x7ffed6ffd6c0 (LWP 71692) exited]
[Thread 0x7ffed67fc6c0 (LWP 71693) exited]
[Thread 0x7ffed5ffb6c0 (LWP 71694) exited]
[Thread 0x7ffed57fa6c0 (LWP 71695) exited]
[Thread 0x7ffed4ff96c0 (LWP 71696) exited]
[Thread 0x7ffea1ffb6c0 (LWP 71685) exited]
[Thread 0x7ffea27fc6c0 (LWP 71686) exited]

Thread 22 "io.flutter.ui" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe85fc6c0 (LWP 71480)]
0x00007ffff598dac8 in ?? () from /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
(gdb) backtrace
#0  0x00007ffff598dac8 in ??? () at /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
#1  0x00007ffff595e04f in ??? () at /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
#2  0x00007ffff5980de2 in ??? () at /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
#3  0x00007ffff599227b in ??? () at /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
#4  0x00007ffff5952ed6 in ??? () at /home/deck/oneAnime_linux_1.3.6/lib/libmdk.so.0
#5  0x00007fffa8f7a4d2 in ??? ()
#6  0x00007fffe85fa720 in ??? ()
#7  0x00007fffe85fa728 in ??? ()
#8  0x00007fffa8f7a475 in ??? ()
#9  0x00007fffe85fa750 in ??? ()
#10 0x00007fffa8f7a3b8 in ??? ()
#11 0x00007ffedc9b7c31 in ??? ()
--Type <RET> for more, q to quit, c to continue without paging--
#12 0x00007ffef40ae841 in ??? ()
#13 0x00007ffedc9b7c31 in ??? ()
#14 0x00007fffe85fa790 in ??? ()
#15 0x00007fffa8f7a321 in ??? ()
#16 0x0000ffff18e28040 in ??? ()
#17 0x00007ffedc982561 in ??? ()
#18 0x00007fff85200101 in ??? ()
#19 0x00007ffef4570ff9 in ??? ()
#20 0x00007ffedc980711 in ??? ()
#21 0x00007ffef4571b69 in ??? ()
#22 0x00007fffe85fa7c0 in ??? ()
#23 0x00007fffa8fe8cce in ??? ()
--Type <RET> for more, q to quit, c to continue without paging--q
‵‵

@Predidit
Copy link
Owner

发布版本移除了 libmdk 的调试符号,稍后我会在这里发布一个包含调试符号的版本来获取详细的堆栈。

@Predidit
Copy link
Owner

在 1.3.7 修复

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants