Tuesday, June 23, 2026

Re: mpv is crashing in my PC

On 2026/06/23 15:09, Theo Buehler wrote: > On Sun, Jun 21, 2026 at 11:56:55AM +0200, Walter Alejandro Iglesias wrote: > > Some times I can reproduce videos fine, some times I get screen > > corruption (horizontal lines or a black screen) followed by a core > > dump. > > > > I guess this waring message I get while reproducing isn't related but, > > anyways: > > > > [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE > > I can no longer crash mpv after downgrading to libplacebo-7.351.0p0 > and rebuilding mpv. So it will most likely be the update to > libplacebo-7.360.1. > > I don't have useful debug info beyond similar traces to those already > sent to the list. I won't have time to debug this in the coming days. > Seems to be some memory corruption going on. Trips more easily for me with hwdec=vaapi, but I have seen some without. Should we backout for now? (Diff below). >... Some examples with vaapi: ● Video --vid=1 (h264 624x352 23.9679 fps) [default] ● Audio --aid=1 'Stereo' (vorbis 2ch 48000 Hz) [default] MESA-INTEL: warning: /usr/xenocara/lib/mesa/mk/libanv_common/../../src/intel/vulkan/anv_formats.c:834: FINISHME: support more multi-planar formats with DRM modifiers Using hardware decoding (vaapi). AO: [sndio] 48000Hz stereo 2ch s16 VO: [gpu-next] 624x352 => 626x352 vaapi[nv12] [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE AV: 00:00:01 / 00:00:02 (94%) A-V: 0.000 Exiting... (End of file) ld.so: mpv: free(): error: chunk info corrupted Killed ● Video --vid=1 (h264 624x352 23.9679 fps) [default] ● Audio --aid=1 'Stereo' (vorbis 2ch 48000 Hz) [default] MESA-INTEL: warning: /usr/xenocara/lib/mesa/mk/libanv_common/../../src/intel/vulkan/anv_formats.c:834: FINISHME: support more multi-planar formats with DRM modifiers Using hardware decoding (vaapi). AO: [sndio] 48000Hz stereo 2ch s16 VO: [gpu-next] 624x352 => 626x352 vaapi[nv12] [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE mpv(33209) in realloc(): write to free mem 0x4638d94b000[840..847]@65536 Abort trap (core dumped) #0 thrkill () at /tmp/-:2 #1 0x9c5511c37a4761b3 in ?? () #2 0x000004640c51bd4b in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51 #3 0x000004640c50d4e4 in wrterror (d=0x46414bd6e30, msg=0x4640c49fb05 "write to free mem %p[%zu..%zu]@%zu") at /usr/src/lib/libc/stdlib/malloc.c:378 #4 0x000004640c512f81 in validate_junk (pool=<optimized out>, p=<optimized out>, argsz=<optimized out>) at /usr/src/lib/libc/stdlib/malloc.c:781 #5 0x000004640c512f81 in map (d=0x46414bd6e30, sz=65536, zero_fill=0) from /usr/lib/libc.so.103.0 #6 0x000004640c50d8bd in omalloc (pool=0x46414bd6e30, sz=<optimized out>, zero_fill=0) at /usr/src/lib/libc/stdlib/malloc.c:1327 #7 0x000004640c50f5f1 in orealloc (p=0x0, newsz=65536, argpool=<optimized out>) at /usr/src/lib/libc/stdlib/malloc.c:1787 #8 _libc_realloc (ptr=0x0, size=65536) at /usr/src/lib/libc/stdlib/malloc.c:1953 #9 0x000004641378190b in deflateInit2_ (strm=0x4643e1d55d0, level=9, method=<optimized out>, windowBits=<optimized out>, memLevel=8, strategy=0, version=0x463b8874ad5 "1.3.2", stream_size=112) at /usr/src/lib/libz/deflate.c:501 #10 0x0000046413781696 in deflateInit_ (strm=0x0, level=6, version=0x4640c4bd419 <_thread_sys_sigprocmask+41> "r\vH\205\322t\002\211\0021\300\353\017d\211\004% ", stream_size=0) at /usr/src/lib/libz/deflate.c:377 #11 0x00000463b962ce32 in ?? () from /usr/X11R6/lib/libvulkan_intel.so #12 0x00000463b962822a in ?? () from /usr/X11R6/lib/libvulkan_intel.so #13 0x00000463b9628b47 in ?? () from /usr/X11R6/lib/libvulkan_intel.so #14 0x00000463b9630efb in ?? () from /usr/X11R6/lib/libvulkan_intel.so #15 0x00000463b96e34ac in ?? () from /usr/X11R6/lib/libvulkan_intel.so #16 0x00000463e295e3f2 in _rthread_start (v=0x0) at /usr/src/lib/librthread/rthread.c:99 #17 0x000004640c52f75a in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87 ● Video --vid=1 (h264 624x352 23.9679 fps) [default] ● Audio --aid=1 'Stereo' (vorbis 2ch 48000 Hz) [default] MESA-INTEL: warning: /usr/xenocara/lib/mesa/mk/libanv_common/../../src/intel/vulkan/anv_formats.c:834: FINISHME: support more multi-planar formats with DRM modifiers Using hardware decoding (vaapi). AO: [sndio] 48000Hz stereo 2ch s16 VO: [gpu-next] 624x352 => 626x352 vaapi[nv12] [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE [vo/gpu-next/libplacebo] Masking `storable` from wrapped texture because the corresponding format 'bgra8' does not support PL_FMT_CAP_STORABLE AV: 00:00:00 / 00:00:02 (2%) A-V: -0.000mpv(57212) in malloc(): write to free mem 0xe4ef5ca9600[24..31]@256 Abort trap (core dumped) (gdb) bt #0 thrkill () at /tmp/-:2 #1 0xa7044de1ea0c780d in ?? () #2 0x00000e4ef8df1d4b in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51 #3 0x00000e4ef8de34e4 in wrterror (d=0xe4efcaf8948, msg=0xe4ef8d75b05 "write to free mem %p[%zu..%zu]@%zu") at /usr/src/lib/libc/stdlib/malloc.c:378 #4 0x00000e4ef8de4321 in validate_junk (pool=0xe4efcaf8948, p=0xe4ef5ca9600, argsz=0) at /usr/src/lib/libc/stdlib/malloc.c:781 #5 malloc_bytes (d=0xe4efcaf8948, size=240) at /usr/src/lib/libc/stdlib/malloc.c:1219 #6 omalloc (pool=0xe4efcaf8948, sz=240, zero_fill=0) at /usr/src/lib/libc/stdlib/malloc.c:1373 #7 0x00000e4ef8de3794 in _libc_malloc (size=240) at /usr/src/lib/libc/stdlib/malloc.c:1527 #8 0x00000e4fc2df555f in MosUtilities::MosAllocAndZeroMemory (size=0) at /usr/obj/ports/intel-media-driver-26.1.5/media-driver-intel-media-26.1.5/media_softlet/agnostic/common/os/mos_utilities_next.cpp:309 #9 0x00000e4fc2ff05dd in DdiMediaDecode::CreateBuffer (this=0xe4f1056e500, type=VAIQMatrixBufferType, size=<optimized out>, numElements=1, data=0xe4f80d42a90, bufId=0xe4f06781504) at /usr/obj/ports/intel-media-driver-26.1.5/media-driver-intel-media-26.1.5/media_driver/linux/common/codec/ddi/media_ddi_decode_base.cpp:998 #10 0x00000e4fc2ff2adc in DdiDecode_CreateBuffer (ctx=<optimized out>, decCtx=0xe4ecc18a000, type=VAMacroblockParameterBufferType, size=0, numElements=4175502155, data=0xe4f80d420d0, bufId=0xe4f06781504) at /usr/obj/ports/intel-media-driver-26.1.5/media-driver-intel-media-26.1.5/media_driver/linux/common/codec/ddi/media_libva_decoder.cpp:153 #11 0x00000e4fc2fd83d9 in DdiMedia_CreateBuffer (ctx=0xe4f8ab6a200, context=268435456, type=VAIQMatrixBufferType, size=240, num_elements=1, data=0xe4f80d42a90, bufId=<optimized out>) at /usr/obj/ports/intel-media-driver-26.1.5/media-driver-intel-media-26.1.5/media_driver/linux/common/ddi/media_libva.cpp:3254 #12 0x00000e4f92686cc3 in vaCreateBuffer () from /usr/X11R6/lib/libva.so.2.23 #13 0x00000e4ebbad39b9 in ff_vaapi_decode_make_param_buffer () from /usr/local/lib/libavcodec.so.27.2 #14 0x00000e4ebbae34c9 in vaapi_h264_start_frame () from /usr/local/lib/libavcodec.so.27.2 #15 0x00000e4ebb672c76 in h264_decode_frame () from /usr/local/lib/libavcodec.so.27.2 #16 0x00000e4ebb5353b1 in ff_decode_receive_frame_internal () from /usr/local/lib/libavcodec.so.27.2 #17 0x00000e4ebb995e64 in frame_worker_thread () from /usr/local/lib/libavcodec.so.27.2 #18 0x00000e4fab9673f2 in _rthread_start (v=0x0) at /usr/src/lib/librthread/rthread.c:99 #19 0x00000e4ef8e0575a in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87 >... Have seen this without hwdec=vaapi: #0 0x0000087fb6c25cad in glslang::TSymbolTableLevel::findFunctionNameList(std::__1::basic_string<char, std::__1::char_traits<char>, glslang::pool_allocator<char> > const&, glslang::TVector<glslang::TFunction const*>&) () from /usr/local/lib/libglslang.so.10.0 #1 0x0000087fb6bf1095 in glslang::TParseContext::handleVariable(glslang::TSourceLoc const&, glslang::TSymbol*, std::__1::basic_string<char, std::__1::char_traits<char>, glslang::pool_allocator<char> > const*) () from /usr/local/lib/libglslang.so.10.0 #2 0x0000087fb6b6acfe in yyparse(glslang::TParseContext*) () from /usr/local/lib/libglslang.so.10.0 #3 0x0000087fb6bef216 in glslang::TParseContext::parseShaderStrings(glslang::TPpContext&, glslang::TInputScanner&, bool) () from /usr/local/lib/libglslang.so.10.0 #4 0x0000087fb6c30865 in (anonymous namespace)::CompileDeferred(TCompiler*, char const* const*, int, int const*, char const* const*, char const*, EShOptimizationLevel, TBuiltInResource const*, int, EProfile, bool, int, bool, EShMessages, glslang::TIntermediate&, glslang::TShader::Includer&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, glslang::TEnvironment*, bool) () from /usr/local/lib/libglslang.so.10.0 #5 0x0000087fb6c3236f in glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&) () from /usr/local/lib/libglslang.so.10.0 #6 0x0000087f8c3e9692 in shaderc_util::Compiler::Compile(shaderc_util::string_piece const&, EShLanguage, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::function<EShLanguage (std::__1::basic_ostream<char, std::__1::char_traits<char> >*, shaderc_util::string_piece const&)> const&, shaderc_util::CountingIncluder&, shaderc_util::Compiler::OutputType, std::__1::basic_ostream<char, std::__1::char_traits<char> >*, unsigned long*, unsigned long*) const () from /usr/local/lib/libshaderc_shared.so.1.1 #7 0x0000087f8c3e4ca1 in (anonymous namespace)::CompileToSpecifiedOutputType(shaderc_compiler*, char const*, unsigned long, shaderc_shader_kind, char const*, char const*, shaderc_compile_options*, shaderc_util::Compiler::OutputType) () from /usr/local/lib/libshaderc_shared.so.1.1 #8 0x0000087f8c3e4940 in shaderc_compile_into_spv () from /usr/local/lib/libshaderc_shared.so.1.1 #9 0x0000087f66bc3d03 in shaderc_compile (spirv=0x87fe22f5750, alloc=0x8802e952a80, glsl_ver=..., stage=GLSL_SHADER_FRAGMENT, shader=0x87fc6e53020 "#version 450\n#extension GL_KHR_shader_subgroup_basic : enable \n#extension GL_KHR_shader_subgroup_vote : enable \n#extension GL_KHR_shader_subgroup_arithmetic : enable \n#extension GL_KHR_shader_subgroup"...) at ../libplacebo-7.360.1/src/glsl/spirv_shaderc.c:143 #10 0x0000087f66bfb17e in vk_compile_glsl (gpu=0x8802e978320, alloc=0x8802e952a80, stage=GLSL_SHADER_FRAGMENT, shader=0x87fc6e53020 "#version 450\n#extension GL_KHR_shader_subgroup_basic : enable \n#extension GL_KHR_shader_subgroup_vote : enable \n#extension GL_KHR_shader_subgroup_arithmetic : enable \n#extension GL_KHR_shader_subgroup"..., out_spirv=0x88025c23090) at ../libplacebo-7.360.1/src/vulkan/gpu_pass.c:111 #11 0x0000087f66bfa488 in vk_pass_create (gpu=0x8802e978320, params=0x88025c23340) at ../libplacebo-7.360.1/src/vulkan/gpu_pass.c:461 #12 0x0000087f66baf2cd in pl_pass_create (gpu=0x8802e978320, params=0x88025c23340) at ../libplacebo-7.360.1/src/gpu.c:1086 #13 0x0000087f66b9e546 in finalize_pass (dp=0x88044517920, sh=0x87f85849a20, target=<optimized out>, vert_idx=<optimized out>, blend=<optimized out>, load=<optimized out>, vparams=0x0, proj=0x0) at ../libplacebo-7.360.1/src/dispatch.c:926 #14 0x0000087f66b9bdf9 in pl_dispatch_finish (dp=0x88044517920, params=0x88025c23680) at ../libplacebo-7.360.1/src/dispatch.c:1299 #15 0x0000087f66b55054 in pass_output_target (pass=0x88025c23968) at src/renderer.c:2999 #16 0x0000087f66b4f324 in pl_render_image (rr=0x87f858472a0, pimage=0x8802e96b480, ptarget=0x88025c27a08, params=<optimized out>) at src/renderer.c:3525 #17 0x0000087f66b5767a in pl_render_image_mix (rr=0x87f858472a0, images=<optimized out>, ptarget=0x88025c27a08, params=0x88025c278b8) at src/renderer.c:4061 #18 0x0000087d6556ff79 in draw_frame (vo=0x87fb34bb7d0, frame=0x8802e977a50) at ../mpv-0.41.0/video/out/vo_gpu_next.c:1407 #19 0x0000087d6555f294 in render_frame (vo=0x87fb34bb7d0) at ../mpv-0.41.0/video/out/vo.c:1009 #20 vo_thread (ptr=0x87fb34bb7d0) at ../mpv-0.41.0/video/out/vo.c:1145 #21 0x000008805f0b03f2 in _rthread_start (v=0x0) at /usr/src/lib/librthread/rthread.c:99 #22 0x000008803a5de75a in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87 Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/libplacebo/Makefile,v diff -u -p -r1.16 Makefile --- Makefile 17 Jun 2026 23:07:52 -0000 1.16 +++ Makefile 23 Jun 2026 13:51:04 -0000 @@ -2,10 +2,11 @@ COMMENT= reusable library for GPU-accele GH_ACCOUNT= haasn GH_PROJECT= libplacebo -GH_TAGNAME= v7.360.1 +GH_TAGNAME= v7.351.0 +EPOCH= 0 CATEGORIES= graphics -SHARED_LIBS= placebo 10.0 +SHARED_LIBS= placebo 11.0 MAINTAINER= Brad Smith <brad@comstyle.com> @@ -18,9 +19,10 @@ WANTLIB += execinfo lcms2 m pthread shad WANTLIB += GL epoxy MODULES= devel/meson +DEBUG_PACKAGES= ${BUILD_PACKAGES} BUILD_DEPENDS= devel/fast-float \ - graphics/glad \ + graphics/glad>=2.0.6 \ graphics/vulkan-headers LIB_DEPENDS= graphics/lcms2 \ Index: distinfo =================================================================== RCS file: /cvs/ports/graphics/libplacebo/distinfo,v diff -u -p -r1.12 distinfo --- distinfo 17 Jun 2026 23:07:52 -0000 1.12 +++ distinfo 23 Jun 2026 13:51:04 -0000 @@ -1,2 +1,2 @@ -SHA256 (libplacebo-7.360.1.tar.gz) = 0F/fkL6i9inqotEV6Qn9NWOIrGOeVPd7h6AYptdiJL0= -SIZE (libplacebo-7.360.1.tar.gz) = 862269 +SHA256 (libplacebo-7.351.0.tar.gz) = cWlUUB2bduaQb93aZv68WIZJPQZz3SZeweblL05c18Y= +SIZE (libplacebo-7.351.0.tar.gz) = 848715 Index: patches/patch-src_glsl_meson_build =================================================================== RCS file: patches/patch-src_glsl_meson_build diff -N patches/patch-src_glsl_meson_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_glsl_meson_build 23 Jun 2026 13:51:04 -0000 @@ -0,0 +1,21 @@ +glsl/spirv_shaderc: check if shaderc recognizes Vulkan 1.4 +https://code.videolan.org/videolan/libplacebo/-/commit/3662b1f5d5a721f31cbf6c0ad090ac2345834cab + +Index: src/glsl/meson.build +--- src/glsl/meson.build.orig ++++ src/glsl/meson.build +@@ -4,6 +4,14 @@ components.set('shaderc', shaderc.found()) + if shaderc.found() + build_deps += shaderc + sources += 'glsl/spirv_shaderc.c' ++ ++ # Version check for shaderc is not possible because everything after v2023.8 ++ # uses this version due to a malformed version line. ++ # See https://github.com/google/shaderc/issues/1496 ++ conf_internal.set('PL_HAVE_SHADERC_VK_1_4', ++ cc.has_header_symbol('shaderc/shaderc.h', 'shaderc_env_version_vulkan_1_4', dependencies: shaderc)) ++ conf_internal.set('PL_HAVE_SHADERC_VK_1_3', ++ cc.has_header_symbol('shaderc/shaderc.h', 'shaderc_env_version_vulkan_1_3', dependencies: shaderc)) + endif + + # glslang Index: patches/patch-src_glsl_spirv_shaderc_c =================================================================== RCS file: patches/patch-src_glsl_spirv_shaderc_c diff -N patches/patch-src_glsl_spirv_shaderc_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_glsl_spirv_shaderc_c 23 Jun 2026 13:51:04 -0000 @@ -0,0 +1,50 @@ +glsl/spirv_shaderc: check if shaderc recognizes Vulkan 1.4 +https://code.videolan.org/videolan/libplacebo/-/commit/3662b1f5d5a721f31cbf6c0ad090ac2345834cab + +Index: src/glsl/spirv_shaderc.c +--- src/glsl/spirv_shaderc.c.orig ++++ src/glsl/spirv_shaderc.c +@@ -22,6 +22,17 @@ + #include "spirv.h" + #include "utils.h" + ++#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) ++#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) ++ ++#if defined(PL_HAVE_SHADERC_VK_1_4) ++# define SHADERC_VULKAN_MAX PL_VLK_VERSION(1, 4) ++#elif defined(PL_HAVE_SHADERC_VK_1_3) ++# define SHADERC_VULKAN_MAX PL_VLK_VERSION(1, 3) ++#else ++# define SHADERC_VULKAN_MAX PL_VLK_VERSION(1, 2) ++

No comments:

Post a Comment