Bug#984639: totem-video-thumbnailer: segfault in totem-video-thumbnailer
Svjatoslav Agejenko
svjatoslav at svjatoslav.eu
Sun May 12 13:34:09 BST 2024
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
> <svjatoslav at svjatoslav.eu> wrote:
> > Package: totem-video-thumbnailer
> > Version: totem
> > Severity: important
> > X-Debbugs-Cc: svjatoslav at 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
More information about the pkg-gnome-maintainers
mailing list