#984639 totem-video-thumbnailer: segfault in totem-video-thumbnailer

Package:
totem
Source:
totem
Description:
Simple media player for the GNOME desktop based on GStreamer
Submitter:
Svjatoslav Agejenko
Date:
2024-05-10 01:48:03 UTC
Severity:
important
#984639#5
Date:
2021-03-06 09:30:43 UTC
From:
To:
Dear Maintainer,

Video thumbnails are not shown in GNOME files.
dmesg output shows errors like this:

[  173.111788] qtdemux0:sink[5358]: segfault at 0 ip 0000000000000000 sp
00007f0ef9d45d18 error 14 in totem-video-thumbnailer[56461b0f5000+3000]
[  173.111806] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
[  174.064475] qtdemux0:sink[5395]: segfault at 0 ip 0000000000000000 sp
00007f50d5f0fd18 error 14 in totem-video-thumbnailer[55c85c214000+3000]
[  174.064483] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.

Video thumbnails functionality worked well in Debian 10.
It is now broken in Debian 11.

#984639#16
Date:
2024-05-10 01:43:56 UTC
From:
To:
sp
thumbnailer[56461b0f5000+3000]
0xffffffffffffffd6.
sp
thumbnailer[55c85c214000+3000]
0xffffffffffffffd6.
This is likely a duplicate of
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973942

Can you try to reproduce the segfault from command line by running:
/usr/bin/totem-video-thumbnailer --verbose --gst-debug-level=3 -s 256 <the file which fails to get a thumbnail generated> test.png
you should get something like:
 LC_ALL=C totem-video-thumbnailer Rogue\ One:\ A\ Star\ Wars\ Story\ Trailer\ #2\ \(Official\)\ \[sC9abcLLQpI\].mp4 c.png

"(totem-video-thumbnailer:1553984): GLib-ERROR **: 03:32:05.259: ../../../glib/gmem.c:106: failed to allocate 3110543 bytes
Trappe pour point d'arrêt et de trace (core dumped)"
or even only
"Processus stopped"

You could then try if
/usr/bin/totem-video-thumbnailer -l --verbose --gst-debug-level=3 -s 256 <the file which fails to get a thumbnail generated> test.png
indeed succeed when the former did not.
Then it will point at a  likely upstream choice to sandbox the totem
video thumbanilera bit too much, at least to get old codec decoded.
We should investigate if the issue was already rejected upstream. If
not open a bug report to have them raise the limit.

The segfault in my case was caused by the totem thumbaniler resource
sandbox too low which lead to failure to spawn thread and alocate
memory ending in a segfault.


Note: Without the internal totem limit on the resource usage the
thumbnailing is really fast on this box, no way it could reach the 30
seconds limit. So I suppose the cpu and memory limits are at fault.


I tried removing libopenblas0-pthread as suggested by
https://blog.frehi.be/2021/06/19/missing-video-thumbnails-in-nautilus-in-debian-bullseye/
but the removal installed libopenblas0-openmp with which totem-video-
thumnailer still failed only with the "Processus stopped" error.


Cheers,
Alban