After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 315385 - SIGFPE in gst_ffmpegdec_chain/gst_ffmpeg_time_gst_to_ff
SIGFPE in gst_ffmpegdec_chain/gst_ffmpeg_time_gst_to_ff
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal major
: 0.8.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-09-06 18:39 UTC by Ed Catmur
Modified: 2005-09-17 13:38 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12


Attachments
gst-plugins-ffmpeg-0.8.6-sigfpe.patch (543 bytes, patch)
2005-09-06 18:42 UTC, Ed Catmur
none Details | Review

Description Ed Catmur 2005-09-06 18:39:06 UTC
Program received signal SIGFPE, Arithmetic exception.

Thread NaN (LWP 31964)

  • #0 __divdi3
    at /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/gcc/libgcc2.c line 883
  • #1 av_rescale_rnd
    at utils.c line 969
  • #2 av_rescale_q
    at utils.c line 987
  • #3 gst_ffmpegdec_chain
    at gstffmpegcodecmap.h line 162
  • #4 gst_pad_call_chain_function
    at gstpad.c line 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.
Comment 1 Ed Catmur 2005-09-06 18:42:37 UTC
Created attachment 51882 [details] [review]
gst-plugins-ffmpeg-0.8.6-sigfpe.patch
Comment 2 Luca Ognibene 2005-09-17 10:52:50 UTC
A similar patch already exists in 0.8 cvs, thanks anyway :)