Dear Alban Browaeys, I am writing in response to the recent communication regarding the segfault issue in totem-video-thumbnailer (Bug#973942), which I initially reported on Sat, 06 Mar 2021.
Firstly, I would like to thank you for your continued efforts in maintaining Debian packages and addressing bug reports. As per your request, I have conducted the suggested tests on my current system: OS: Debian GNU/Linux 12 Kernel: 6.1.0-20-amd64 Test 1: Running the command without the `-l` option resulted in a "Killed" message, which I believe is different from the expected behavior of a segmentation fault or a stopped process. The verbose output and GStreamer debug logs did not indicate any critical errors that would lead to a segfault. ~/Desktop/thumbnail$ /usr/bin/totem-video-thumbnailer --verbose --gst-debug-level=3 -s 256 test.mp4 test.png TotemVideoThumbnailer-Message: 14:12:36.705: Initialised libraries, about to create video widget TotemVideoThumbnailer-Message: 14:12:36.716: setting URI file:///home/n0/Desktop/thumbnail/test.mp4 TotemVideoThumbnailer-Message: 14:12:36.716: Video widget created TotemVideoThumbnailer-Message: 14:12:36.716: About to open video file 0:00:00.029094396 233674 0x55d6bf93e160 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.029690764 233674 0x55d6bf93e160 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.051312188 233674 0x7fe7682e8800 WARN qtdemux qtdemux.c:3238:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1 0:00:00.051525758 233674 0x7fe7682e8800 WARN qtdemux qtdemux.c:3238:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2 0:00:00.202566191 233674 0x7fe7682e8800 WARN videodecoder gstvideodecoder.c:931:gst_video_decoder_setcaps:<avdec_h264-0> Subclass refused caps 0:00:00.203669199 233674 0x7fe7682e8800 WARN decodebin gstdecodebin2.c:2554:connect_pad:<decodebin0> Couldn't set avdec_h264-0 to PAUSED 0:00:00.204188843 233674 0x7fe7682e8800 WARN uridecodebin gsturidecodebin.c:982:unknown_type_cb:<uridecodebin0> warning: No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.2, profile=(string)high, codec_data=(buffer)0164002affe100186764002aacb200b405ad8088014d51089c3ec78078c1924001000568ebccb22c, width=(int)1440, height=(int)1440, framerate=(fraction)60/1, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true'. 0:00:00.239785202 233674 0x7fe7682e8f00 WARN playsink gstplaysink.c:2908:gen_audio_chain:<playsink> warning: No volume control found 0:00:00.239834995 233674 0x7fe7682e8f00 WARN playsink gstplaysink.c:2908:gen_audio_chain:<playsink> warning: Volume/mute is not available 0:00:00.242465037 233674 0x7fe70c013180 WARN audio-resampler audio-resampler.c:274:convert_taps_gint16_c: can't find exact taps TotemVideoThumbnailer-Message: 14:12:36.932: Checking whether file has cover TotemVideoThumbnailer-Message: 14:12:36.933: totem-video-thumbnailer couldn't find a video track in 'test.mp4' Killed Test 2: Running the command with the `-l` option successfully generated a valid thumbnail: ~/Desktop/thumbnail$ /usr/bin/totem-video-thumbnailer -l --verbose --gst-debug-level=3 -s 256 test.mp4 test.png TotemVideoThumbnailer-Message: 14:14:26.802: Initialised libraries, about to create video widget TotemVideoThumbnailer-Message: 14:14:26.812: setting URI file:///home/n0/Desktop/thumbnail/test.mp4 TotemVideoThumbnailer-Message: 14:14:26.813: Video widget created TotemVideoThumbnailer-Message: 14:14:26.813: About to open video file 0:00:00.029025598 234491 0x55fdbaf9f360 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.029630482 234491 0x55fdbaf9f360 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.052866322 234491 0x7efbfc2e8800 WARN qtdemux qtdemux.c:3238:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1 0:00:00.052963214 234491 0x7efbfc2e8800 WARN qtdemux qtdemux.c:3238:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2 0:00:00.293619419 234491 0x7efbfc2e8f00 WARN playsink gstplaysink.c:2908:gen_audio_chain:<playsink> warning: No volume control found 0:00:00.293762828 234491 0x7efbfc2e8f00 WARN playsink gstplaysink.c:2908:gen_audio_chain:<playsink> warning: Volume/mute is not available 0:00:00.295188401 234491 0x7efb80056de0 WARN audio-resampler audio-resampler.c:274:convert_taps_gint16_c: can't find exact taps TotemVideoThumbnailer-Message: 14:14:27.082: Checking whether file has cover TotemVideoThumbnailer-Message: 14:14:27.082: Opened video file: 'test.mp4' TotemVideoThumbnailer-Message: 14:14:27.082: About to seek to 0.333333 TotemVideoThumbnailer-Message: 14:14:27.116: About to get frame for iter 0 0:00:00.336693409 234491 0x55fdbafc2e40 FIXME default gstutils.c:4031:gst_pad_create_stream_id_internal:<appsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id TotemVideoThumbnailer-Message: 14:14:27.144: Frame for iter 0 is interesting TotemVideoThumbnailer-Message: 14:14:27.154: Saving captured screenshot to test.png Thank you for your attention to this matter. I am willing to provide any additional information or perform further tests as needed to assist in resolving this issue. Here is test video and generated thumbnail: http://www3.svjatoslav.eu/public/thumbnail/ Best regards, Svjatoslav Agejenko On Fri, 2024-05-10 at 03:43 +0200, Alban Browaeys wrote: > On Sat, 06 Mar 2021 11:30:43 +0200 Svjatoslav Agejenko > <svjatos...@svjatoslav.eu> wrote: > > Package: totem-video-thumbnailer > > Version: totem > > Severity: important > > X-Debbugs-Cc: svjatos...@svjatoslav.eu > > > > 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. > > > 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 -- Svjatoslav Agejenko WWW: http://svjatoslav.eu