mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Crash or blue screen when playing a video while wine is running

Open Magikh42 opened this issue 8 months ago • 7 comments

mpv Information

mpv v0.40.0-dirty Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Apr  4 2025 07:28:54
libplacebo version: v7.349.0
FFmpeg version: n7.1
FFmpeg library versions:
   libavcodec      61.19.100
   libavdevice     61.3.100
   libavfilter     10.4.100
   libavformat     61.7.100
   libavutil       59.39.100
   libswresample   5.3.100
   libswscale      8.3.100

Other Information

- Linux version: EndeavourOS
- Kernel Version: 6.13.8-arch1-1
- GPU Model: GeForce RTX 3070
- Mesa/GPU Driver Version: 4.6.0 NVIDIA 570.133.07
- Window Manager and Version: cinnamon 6.4.9-1
- Source of mpv: AUR
- Latest known working version: Not sure maybe one week before this issue
- Issue started after the following happened: Maybe an update of mpv or graphics drivers

Reproduction Steps

Launch a game using wine Open a video with mpv

Expected Behavior

The video plays

Actual Behavior

Sometimes there is a crash, or a blue screen (with sound working but no user interface) and sometimes the video plays as expected If the issue happens for a video it will happen if the same video is opened Some videos can works while other are causing the issue Closing the game and reopening the video works

Log File

output.txt No crash backtrace, recent attempts were bluescreens instead

Sample Files

minecraft.mkv

I carefully read all instruction and confirm that I did the following:

  • [x] I tested with the latest mpv version to validate that the issue is not already fixed.
  • [x] I provided all required information including system and mpv version.
  • [x] I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • [x] I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • [x] I attached the full, untruncated log file.
  • [x] I attached the backtrace in the case of a crash.

Magikh42 avatar Apr 06 '25 21:04 Magikh42

[   1.265][d][vo/gpu/libplacebo] Allocating 8306688 memory of type 0x7 (id 5) in heap 2: ../src/gpu/utils.c:575
[   1.265][e][vo/gpu/libplacebo] Allocation of size 8112K failed: VK_ERROR_OUT_OF_DEVICE_MEMORY!
[   1.265][e][vo/gpu/libplacebo] Memory heaps supported by device:
[   1.265][e][vo/gpu/libplacebo]     0: flags 0x1 size 8192M
[   1.265][e][vo/gpu/libplacebo]     1: flags 0x0 size   11G
[   1.265][e][vo/gpu/libplacebo]     2: flags 0x1 size  246M
[   1.265][d][vo/gpu/libplacebo] Memory types supported by device:
[   1.265][d][vo/gpu/libplacebo]     0: flags 0x0 heap 1
[   1.265][d][vo/gpu/libplacebo]     1: flags 0x1 heap 0
[   1.265][d][vo/gpu/libplacebo]     2: flags 0x1 heap 0
[   1.265][d][vo/gpu/libplacebo]     3: flags 0x6 heap 1
[   1.265][d][vo/gpu/libplacebo]     4: flags 0xe heap 1
[   1.265][d][vo/gpu/libplacebo]     5: flags 0x7 heap 2
[   1.265][e][vo/gpu/libplacebo] Memory pool 0:
[   1.265][e][vo/gpu/libplacebo]     Compatible types: 0x3
[   1.265][e][vo/gpu/libplacebo]     Optimal flags: 0x1
[   1.265][e][vo/gpu/libplacebo]     Slab  0: ffffffffffffffff x  4096:     0 used     0 res  256K alloc from heap 0, efficiency 100.00%  [unknown]
[   1.265][e][vo/gpu/libplacebo]     Slab  1:        8 x 2160K: 3360K used 6480K res 8640K alloc from heap 0, efficiency 51.85%  [unknown]
[   1.265][e][vo/gpu/libplacebo]     Pool summary: 3360K used 6480K res 8896K alloc, efficiency 51.85%, utilization 72.84%
[   1.265][e][vo/gpu/libplacebo] Memory pool 1:
[   1.265][e][vo/gpu/libplacebo]     Compatible types: 0xffffffff
[   1.265][e][vo/gpu/libplacebo]     Optimal flags: 0x3
[   1.265][e][vo/gpu/libplacebo]     Buffer flags: 0x3
[   1.265][e][vo/gpu/libplacebo]     Pool summary:     0 used     0 res     0 alloc, efficiency 100.00%, utilization 100.00%
[   1.265][e][vo/gpu/libplacebo] Memory summary: 3360K used 6480K res 8896K alloc, efficiency 51.85%, utilization 72.84%, max page:  512M
[   1.265][e][vo/gpu/libplacebo]   Backtrace:
[   1.267][e][vo/gpu/libplacebo]     #0  0x00007d6acf79a4d0 in +0x7d6a8eff2120 at /usr/lib/libplacebo.so.349+0xa84d0
[   1.269][e][vo/gpu/libplacebo]     #1  0x00007d6acf79ad4a in +0x7d6a8eff2120 at /usr/lib/libplacebo.so.349+0xa8d4a
[   1.270][e][vo/gpu/libplacebo]     #2  0x00007d6acf78e494 in +0x7d6a8eff2120 at /usr/lib/libplacebo.so.349+0x9c494
[   1.272][e][vo/gpu/libplacebo]     #3  0x00007d6acf760009 in pl_buf_create+0x219 at /usr/lib/libplacebo.so.349+0x6e009
[   1.273][e][vo/gpu/libplacebo]     #4  0x00007d6acf7706c7 in +0x219 at /usr/lib/libplacebo.so.349+0x7e6c7
[   1.275][e][vo/gpu/libplacebo]     #5  0x00007d6acf75fc41 in pl_tex_upload+0x91 at /usr/lib/libplacebo.so.349+0x6dc41
[   1.275][e][vo/gpu/libplacebo]     #6  0x0000578800c1bedc in +0x91 at mpv+0x10fedc
[   1.275][e][vo/gpu/libplacebo]     #7  0x0000578800c09542 in +0x91 at mpv+0xfd542
[   1.275][e][vo/gpu/libplacebo]     #8  0x0000578800c098fb in +0x91 at mpv+0xfd8fb
[   1.275][e][vo/gpu/libplacebo]     #9  0x0000578800c0c56f in +0x91 at mpv+0x10056f
[   1.275][e][vo/gpu/libplacebo]     #10 0x0000578800c113e4 in +0x91 at mpv+0x1053e4
[   1.276][e][vo/gpu/libplacebo]     #11 0x0000578800c17d1d in +0x91 at mpv+0x10bd1d
[   1.277][e][vo/gpu/libplacebo]     #12 0x00007d6acd34370a in +0x91 at /usr/lib/libc.so.6+0x9570a
[   1.278][e][vo/gpu/libplacebo]     #13 0x00007d6acd3c7aac in +0x91 at /usr/lib/libc.so.6+0x119aac
[   1.278][e][vo/gpu/libplacebo]   for malloc: ../src/gpu/utils.c:575
[   1.278][d][vo/gpu/libplacebo] Freeing slab of size 8112K
[   1.278][e][vo/gpu/libplacebo] No slab to serve request for 2025K bytes (with alignment 0xc00) in pool 1!

mpv fails to allocate memory because presumably your gpu is out of VRAM. This is a known issue with Nvidia drivers, they can't use your system memory to move stuff in/out of VRAM as needed. See this https://forums.developer.nvidia.com/t/non-existent-shared-vram-on-nvidia-linux-drivers/260304/68

Though it's possible that mpv's memory allocation strategy is different and it's failing because of that as well, you can try --gpu-api=opengl if previous mpv versions worked with similar VRAM pressure.

llyyr avatar Apr 06 '25 21:04 llyyr

Though it's possible that mpv's memory allocation strategy is different and it's failing because of that as well

Yes, that might be the case. We had issues where Vulkan allocator would fail. Especially when resizable bar is disabled.

kasper93 avatar Apr 06 '25 22:04 kasper93

Using the option --gpu-api=opengl works It's strange because there is no VRAM pressure, I used nvtop and I'm at 2.6 / 8.0 Go of VRAM used

Magikh42 avatar Apr 07 '25 15:04 Magikh42

It's strange because there is no VRAM pressure, I used nvtop and I'm at 2.6 / 8.0 Go of VRAM used

If we look at the log

[   1.265][d][vo/gpu/libplacebo] Allocating 8306688 memory of type 0x7 (id 5) in heap 2: ../src/gpu/utils.c:575
[   1.265][e][vo/gpu/libplacebo] Allocation of size 8112K failed: VK_ERROR_OUT_OF_DEVICE_MEMORY!

it tries to allocated from heap 2:

[   1.265][e][vo/gpu/libplacebo]     2: flags 0x1 size  246M

Which is only 246M in size on your system. This is presumably, because we request host writable memory. Do you have posibility to enable re-sizable bar in bios? It should help with this.

It's not perfect that we need it, but it's currently like that.

kasper93 avatar Apr 07 '25 15:04 kasper93

Hmm.. this seems to be more than just Nvidia, my laptop's running an integrated Intel GPU and it's having the same blue screen issue too (along with my desktop which has a RTX 2060. Works perfectly fine when I use --gpu-api=opengl

mpv v0.40.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Jan  1 1980 00:00:00
libplacebo version: v7.351.0
FFmpeg version: 7.1.1
FFmpeg library versions:
   libavcodec      61.19.101
   libavdevice     61.3.100
   libavfilter     10.4.100
   libavformat     61.7.100
   libavutil       59.39.100
   libswresample   5.3.100
   libswscale      8.3.100

System info:

- Linux version: NixOS
- Kernel Version: Linux yoganova 6.12.31 #1-NixOS SMP PREEMPT_DYNAMIC Thu May 29 09:03:27 UTC 2025 x86_64 GNU/Linux
- GPU Model:
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a1] (rev 04)
- Mesa/GPU Driver Version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.1.1
- Window Manager and Version: Plasma 6 v6.3.5
- Source of mpv: Nixpkgs
- Latest known working version: Unsure, about  sometime on early March

Logs: output.txt

NovaViper avatar Jun 05 '25 01:06 NovaViper

@NovaViper On NixOS right now, this is probably a different bug: see https://github.com/NixOS/nixpkgs/issues/412382. It should be fixed by https://github.com/NixOS/nixpkgs/pull/412889 (which has now reached all relevant channels, so update your system and the problem should go away).

keysmashes avatar Jun 05 '25 20:06 keysmashes

@keysmashes Ah cool, thanks! Will update today 👍🏾

NovaViper avatar Jun 05 '25 22:06 NovaViper