Bug#825431: vlc: SIGFPE (divide by zero) while transcoding in line 551 of modules/stream_out/transcode/video.c (transcode_video_encoder_init)

Will Aoki waoki at umnh.utah.edu
Thu May 26 20:58:29 UTC 2016


Package: vlc
Version: 2.2.1-1~deb8u1
Severity: normal
Tags: patch

We run VLC as a daemon to transcode an MJPEG stream from a StarDot camera and
pipe it into another program. After upgrading from wheezy to jessie, VLC began
to crash with SIGFPE.

Although the root cause may be elsewhere in VLC, the patch at
https://patches.videolan.org/patch/10246/ resolves the problem.

This report in the OpenSUSE Bugzilla is probably the same problem:
https://bugzilla.opensuse.org/show_bug.cgi?id=978282


Details on my installation:

VLC is invoked as follows:

/usr/bin/vlc -I dummy --repeat --sout-keep --http-reconnect http://ip-redacted/nph-mjpeg.cgi --sout '#transcode{venc=x264{keyint=60,profile=baseline,level=3.0,nocabac},vcodec=x264,vb=500,scale=1,acodec=none,threads=6}:rtp{dst=127.0.0.1,port=10000,mux=ts}' --syslog

Data from core dump:

$ gdb /usr/bin/vlc ~/core
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/vlc...Reading symbols from /usr/lib/debug/.build-id/59/71b866af7e3d3a228ce9bed06f5dbcd2f65181.debug...done.
done.
[New LWP 15816]
[New LWP 15814]
[New LWP 15809]
[New LWP 15824]
[New LWP 15806]
[New LWP 15812]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/vlc -I dummy --repeat --sout-keep --http-reconnect http://172.18.51.40'.
Program terminated with signal SIGFPE, Arithmetic exception.
#0  0x00007fd3467855b0 in transcode_video_encoder_init (p_stream=0x7fd338008738,
    id=0x7fd3340008c0) at transcode/video.c:551
551         id->i_input_frame_interval  = id->p_decoder->fmt_out.video.i_frame_rate_base * CLOCK_FREQ / id->p_decoder->fmt_out.video.i_frame_rate;
(gdb) print id->p_decoder->fmt_out.video.i_frame_rate
$1 = 0
(gdb) print id->p_decoder->fmt_out.video.i_frame_rate_base
$2 = 0
(gdb) bt
#0  0x00007fd3467855b0 in transcode_video_encoder_init (p_stream=0x7fd338008738,
    id=0x7fd3340008c0) at transcode/video.c:551
#1  0x00007fd346785ebf in transcode_video_process (p_stream=0x7fd338008738,
    id=0x7fd3340008c0, in=0x7fd338c353d0, out=0x7fd346787db3,
    out at entry=0x7fd3471d6e10) at transcode/video.c:884
#2  0x00007fd34678143b in Send (p_stream=0x7fd338008738, id=0x7fd3340008c0,
    p_buffer=<optimized out>) at transcode/transcode.c:661
#3  0x00007fd35933d118 in sout_InputSendBuffer (p_input=0x7fd3340009a0,
    p_buffer=p_buffer at entry=0x7fd338c353d0) at stream_output/stream_output.c:233
#4  0x00007fd3592ca994 in DecoderPlaySout (p_sout_block=0x7fd338c353d0,
    p_dec=0x7fd338c20018) at input/decoder.c:1501
#5  DecoderProcessSout (p_block=0x0, p_dec=<optimized out>) at input/decoder.c:1556
#6  DecoderProcess (p_block=<optimized out>, p_dec=<optimized out>)
    at input/decoder.c:1787
#7  DecoderThread (p_data=0x7fd338c20018) at input/decoder.c:909
#8  0x00007fd359b440a4 in start_thread (arg=0x7fd3471d7700) at pthread_create.c:309
#9  0x00007fd35967587d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)

-- System Information:
Debian Release: 8.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/3 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages vlc depends on:
ii  fonts-freefont-ttf          20120503-4
ii  libaa1                      1.4p5-43
ii  libavcodec56                6:11.6-1~deb8u1
ii  libavutil54                 6:11.6-1~deb8u1
ii  libc6                       2.19-18+deb8u4
ii  libcaca0                    0.99.beta19-2
ii  libegl1-mesa [libegl1-x11]  10.3.2-1+deb8u1
ii  libfreerdp-cache1.1         1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-client1.1        1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-codec1.1         1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-core1.1          1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-crypto1.1        1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-gdi1.1           1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-locale1.1        1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-rail1.1          1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreerdp-utils1.1         1.1.0~git20140921.1.440916e+dfsg1-4
ii  libfreetype6                2.5.2-3+deb8u1
ii  libfribidi0                 0.19.6-3
ii  libgcc1                     1:4.9.2-10
ii  libgl1-mesa-glx [libgl1]    10.3.2-1+deb8u1
ii  libgles1-mesa [libgles1]    10.3.2-1+deb8u1
ii  libgles2-mesa [libgles2]    10.3.2-1+deb8u1
ii  libice6                     2:1.0.9-1+b1
ii  libpulse0                   5.0-13
ii  libqtcore4                  4:4.8.6+git64-g5dc8b2b+dfsg-3+deb8u1
ii  libqtgui4                   4:4.8.6+git64-g5dc8b2b+dfsg-3+deb8u1
ii  libsdl-image1.2             1.2.12-5+b5
ii  libsdl1.2debian             1.2.15-10+b1
ii  libsm6                      2:1.2.2-1+b1
ii  libstdc++6                  4.9.2-10
ii  libva-drm1                  1.4.1-1
ii  libva-x11-1                 1.4.1-1
ii  libva1                      1.4.1-1
ii  libvlccore8                 2.2.1-1~deb8u1
ii  libvncclient0               0.9.9+dfsg2-6.1+deb8u1
ii  libwinpr-rpc0.1             1.1.0~git20140921.1.440916e+dfsg1-4
ii  libwinpr-sspi0.1            1.1.0~git20140921.1.440916e+dfsg1-4
ii  libwinpr-utils0.1           1.1.0~git20140921.1.440916e+dfsg1-4
ii  libx11-6                    2:1.6.2-3
ii  libxcb-composite0           1.10-3+b1
ii  libxcb-keysyms1             0.4.0-1
ii  libxcb-randr0               1.10-3+b1
ii  libxcb-render0              1.10-3+b1
ii  libxcb-shape0               1.10-3+b1
ii  libxcb-shm0                 1.10-3+b1
ii  libxcb-xfixes0              1.10-3+b1
ii  libxcb-xv0                  1.10-3+b1
ii  libxcb1                     1.10-3+b1
ii  libxext6                    2:1.3.3-1
ii  libxinerama1                2:1.1.3-1+b1
ii  libxpm4                     1:3.5.11-1+b1
ii  vlc-nox                     2.2.1-1~deb8u1
ii  zlib1g                      1:1.2.8.dfsg-2+b1

Versions of packages vlc recommends:
pn  vlc-plugin-notify  <none>
ii  vlc-plugin-samba   2.2.1-1~deb8u1
pn  xdg-utils          <none>

Versions of packages vlc suggests:
pn  videolan-doc  <none>

-- no debconf information



More information about the pkg-multimedia-maintainers mailing list