Skip to content

[APP BUG] Tauon segfaults if libprojectM is initialized on a specific cover image #974

Description

@C0rn3j

Please confirm the following points:

  • This report is NOT about the Android apps in the Play Store
  • I have searched the project page to check if the issue was already reported

Affected Application

Third-Party Integration (Kodi, VLC, etc. - please specify below)

Affected Version

current master commit

Operating System

Linux (Desktop)

Additional Application Details

On Arch Linux, with Tauon 9.0.0, Tauon segfaults if initialized on specific covers - it seems to hate My Iron Lung cover by Radiohead for example.

Initializing on another cover and then trying the Radiohead one works.

Side note - I could not get debug traces from gdb on a build specifically created as CMAKE_BUILD_TYPE=Debug, but that may be a skill issue on my part?

Type of Defect

Crash (unexpected closing, OS crash dialog)

Log Output

2026-02-28 21:50:02 [ INFO  ] [  t_main  ] Successfully loaded: libprojectM-4.so.4
2026-02-28 21:50:02 [ DEBUG ] [  t_main  ] Function signatures set up successfully (t_main.py:36363)
2026-02-28 21:50:02 [ INFO  ] [  t_main  ] init project m...

Thread 1 "tauonmb" received signal SIGSEGV, Segmentation fault.
(gdb) bt
#0  __memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:461
#1  0x00007fffe39a6f14 in memcpy () at /usr/include/bits/string_fortified.h:29
#2  util_copy_rect () at ../mesa-26.0.1/src/util/format/u_format.c:94
#3  0x00007fffe3c0b2f5 in util_copy_box () at ../mesa-26.0.1/src/gallium/auxiliary/util/u_surface.c:80
#4  0x00007fffe440c919 in u_default_texture_subdata () at ../mesa-26.0.1/src/gallium/auxiliary/util/u_transfer.c:103
#5  0x00007fffe354d5c6 in st_TexSubImage () at ../mesa-26.0.1/src/mesa/state_tracker/st_cb_texture.c:2201
#6  0x00007fffe354ed29 in st_TexImage () at ../mesa-26.0.1/src/mesa/state_tracker/st_cb_texture.c:2432
#7  0x00007fffe352328e in teximage () at ../mesa-26.0.1/src/mesa/main/teximage.c:3298
#8  teximage_err () at ../mesa-26.0.1/src/mesa/main/teximage.c:3330
#9  0x00007fffe35255f1 in _mesa_TexImage2D () at ../mesa-26.0.1/src/mesa/main/teximage.c:3401
#10 0x00007fff8d4f214b in libprojectM::Renderer::Texture::Texture(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void const*, unsigned int, int, int, int, int, unsigned int, unsigned int, bool) () at /usr/lib/libprojectM-4.so.4
#11 0x00007fff8d4f7714 in libprojectM::Renderer::TextureManager::Preload() () at /usr/lib/libprojectM-4.so.4
#12 0x00007fff8d4fbe50 in libprojectM::Renderer::TextureManager::TextureManager(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) () at /usr/lib/libprojectM-4.so.4
#13 0x00007fff8d5642d5 in libprojectM::ProjectM::Initialize() () at /usr/lib/libprojectM-4.so.4
#14 0x00007fff8d564e04 in libprojectM::ProjectM::ProjectM() () at /usr/lib/libprojectM-4.so.4
#15 0x00007fff8d566880 in projectm_create_with_opengl_load_proc () at /usr/lib/libprojectM-4.so.4
#16 0x00007ffff6d50ac6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#17 0x00007ffff6d4d76b in ffi_call_int (cif=cif@entry=0x7fffffffcb30, fn=fn@entry=0x7fff8d566900 <projectm_create>, rvalue=<optimized out>, rvalue@entry=0x7fffffffcab0, avalue=avalue@entry=0x7fffffffcaa0, closure=closure@entry=0x0) at ../src/x86/ffi64.c:676
#18 0x00007ffff6d5006e in ffi_call (cif=cif@entry=0x7fffffffcb30, fn=fn@entry=0x7fff8d566900 <projectm_create>, rvalue=rvalue@entry=0x7fffffffcab0, avalue=0x7fffffffcaa0) at ../src/x86/ffi64.c:713
#19 0x00007ffff6da5c10 in _call_function_pointer (st=0x7ffff70837b0, flags=257, pProc=0x7fff8d566900 <projectm_create>, avalues=<optimized out>, atypes=0x7fffffffca90, restype=<optimized out>, resmem=0x7fffffffcab0, argcount=0, argtypecount=<optimized out>)
    at ./Modules/_ctypes/callproc.c:953
#20 _ctypes_callproc
    (st=st@entry=0x7ffff70837b0, pProc=pProc@entry=0x7fff8d566900 <projectm_create>, argtuple=argtuple@entry=0x7ffff7d5d3d0 <_PyRuntime+90640>, flags=<optimized out>, argtypes=argtypes@entry=0x0, restype=restype@entry=0x5555557dc8a0, checker=<optimized out>)
    at ./Modules/_ctypes/callproc.c:1319
#21 0x00007ffff6d978d1 in PyCFuncPtr_call (op=<optimized out>, inargs=<optimized out>, kwds=<optimized out>) at ./Modules/_ctypes/_ctypes.c:4686
#22 0x00007ffff796cd4c in _PyObject_MakeTpCall (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, callable=0x7fff842885f0, args=0x7fffffffcef8, nargs=<optimized out>, keywords=<optimized out>) at Objects/call.c:242
#23 0x00007ffff798e048 in _PyEval_EvalFrameDefault (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, frame=0x7ffff7f904f0, throwflag=1024) at Python/generated_cases.c.h:1622
#24 0x00007ffff797eae5 in _PyEval_EvalFrame (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, frame=0x7ffff7f8f1d0, throwflag=0) at ./Include/internal/pycore_ceval.h:120
#25 _PyEval_Vector (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, func=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:2083
#26 0x00007ffff7a6b66e in PyEval_EvalCode (co=0x55555568d5f0, globals=<optimized out>, locals=0x7ffff7135700) at Python/ceval.c:975
#27 0x00007ffff7a8bf3a in builtin_exec_impl (module=<optimized out>, source=0x55555568d5f0, globals=0x7ffff7135700, locals=0x7ffff7135700, closure=<optimized out>) at Python/bltinmodule.c:1180
#28 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at Python/clinic/bltinmodule.c.h:571
#29 0x00007ffff796fa5d in _PyObject_VectorcallTstate (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, callable=0x7ffff75b3ce0, args=0x7fffffffd448, nargsf=9223372036854775810, kwnames=0x0) at ./Include/internal/pycore_call.h:169
#30 PyObject_Vectorcall (callable=0x7ffff75b3ce0, args=0x7fffffffd448, nargsf=9223372036854775810, kwnames=0x0) at Objects/call.c:327
#31 0x00007ffff79844c5 in _PyEval_EvalFrameDefault (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, frame=0x7ffff7f8f0e0, throwflag=1024) at Python/generated_cases.c.h:1622
#32 0x00007ffff79b110c in _PyEval_EvalFrame (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, frame=0x7ffff7f8f020, throwflag=0) at ./Include/internal/pycore_ceval.h:120
#33 _PyEval_Vector (tstate=0x7ffff7d942c0 <_PyRuntime+315648>, func=<optimized out>, locals=0x0, args=<optimized out>, argcount=2, kwnames=<optimized out>) at Python/ceval.c:2083
#34 _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:413
#35 0x00007ffff7aaaabe in pymain_run_module (modname=<optimized out>, set_argv0=1) at Modules/main.c:353
#36 0x00007ffff7a5e76a in pymain_run_python (exitcode=0x7fffffffd69c) at Modules/main.c:688
#37 Py_RunMain () at Modules/main.c:775
#38 0x00007ffff7a57c6b in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:829
#39 0x00007ffff76366c1 in __libc_start_call_main (main=main@entry=0x555555555120 <main>, argc=argc@entry=3, argv=argv@entry=0x7fffffffd918) at ../sysdeps/nptl/libc_start_call_main.h:59
#40 0x00007ffff76367f9 in __libc_start_main_impl (main=0x555555555120 <main>, argc=3, argv=0x7fffffffd918, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd908) at ../csu/libc-start.c:360
#41 0x0000555555555045 in _start ()

Describe the Issue

Crash on trying to init libprojectm

Specifically using commit 3649044 but I did not verify which exact one causes it, it could be an earlier one.

I just know that 014fb59 works fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    Status
    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions