[gstreamer-bugs] [Bug 315385] New: SIGFPE in gst_ffmpegdec_chain/gst_ffmpeg_time_gst_to_ff

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Tue Sep 6 11:39:07 PDT 2005


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=315385
 GStreamer | gst-ffmpeg | Ver: HEAD CVS

           Summary: SIGFPE in gst_ffmpegdec_chain/gst_ffmpeg_time_gst_to_ff
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-ffmpeg
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: ed at catmur.co.uk
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: all-bugs at bugzilla.gnome.org


Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1215312976 (LWP 31964)]
0xb7b9e327 in __divdi3 (u=340077777, v=0)
    at /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/gcc/libgcc2.c:883
883     /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/gcc/libgcc2.c: No such file
or directory.
        in /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/gcc/libgcc2.c
(gdb) bt
#0  0xb7b9e327 in __divdi3 (u=340077777, v=0)
    at /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/gcc/libgcc2.c:883
#1  0xb79aed99 in av_rescale_rnd (a=340077777, b=1, c=0, rnd=AV_ROUND_ZERO)
    at utils.c:969
#2  0xb79af09c in av_rescale_q (a=The value of variable 'a' is distributed
across several
locations, and GDB cannot access its value.

) at utils.c:987
#3  0xb795cda5 in gst_ffmpegdec_chain (pad=0x1, _data=0x14452cd1)
    at gstffmpegcodecmap.h:162
#4  0xb7e1027f in gst_pad_call_chain_function (pad=0x80cb8e0, data=0x8067230)
    at gstpad.c:4539

Crash is inside inline gst_ffmpeg_time_gst_to_ff.

Problem is that ffmpegdec->context->time_base is {num: 0, den: 1} (the initial
value) so when passed to av_rescale_q as quotient we get division by zero.

Easy fix: make test in gst_ffmpegdec_connect() check for num == 0 as well as den
== 0.

------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list