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 334965 - dvdec crashes after a while
dvdec crashes after a while
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-03-18 09:55 UTC by Amaury Jacquot
Modified: 2006-04-27 16:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Amaury Jacquot 2006-03-18 09:55:43 UTC
(you need a super long DV file for this bug to potentially appear. been having it consistently with files longer than 50G or so)

I'm using the following pipeline to tranform the dv file into a nice ogg/theora/vorbis file

gst-launch-0.10 -v -v \
        filesrc location=$1 ! decodebin name=demux \
        \
        demux. ! \
        queue ! ffmpegcolorspace ! 'video/x-raw-yuv,format=(fourcc)I420' ! \
        ffvideoscale ! 'video/x-raw-yuv,width=384,height=288' ! \
        queue ! theoraenc keyframe-force=8 ! mux. \
        \
        demux. ! queue ! audioconvert ! vorbisenc ! mux. \
        \
        oggmux name=mux ! filesink location=$2

this works for a while, but eventually crashes :

  • #0 dv_parse_ac_coeffs
    at bitstream.h line 200
  • #0 dv_parse_ac_coeffs
    at bitstream.h line 200
  • #1 dv_decode_full_frame
    at dv.c line 484
  • #2 gst_dvdec_chain
    at gstdvdec.c line 341
  • #3 gst_pad_chain
    at gstpad.c line 3215
  • #4 gst_pad_push
    at gstpad.c line 3329
  • #5 gst_queue_loop
    at gstqueue.c line 762
  • #6 gst_task_func
    at gsttask.c line 193
  • #7 g_thread_pool_thread_proxy
    at gthreadpool.c line 158
  • #8 g_thread_create_proxy
    at gthread.c line 582
  • #9 start_thread
    from /lib/libpthread.so.0
  • #10 clone
    from /lib/libc.so.6

at this point, frame #2 has the following information :
(gdb) print dvdec->decoder
$1 = (dv_decoder_t *) 0x81afa00
(gdb) print inframe
$2 = (guint8 *) 0xb5758d80 <Address 0xb5758d80 out of bounds>
(gdb) print outframe_pitches
$3 = {1440, 288, 288}

which seems to point to a bug somewhere prior to getting into this function (demuxer maybe).
here's the buffer passed to the function :
(gdb) print buf
$7 = (GstBuffer *) 0x81c34b0
(gdb) print *buf
$8 = {mini_object = {instance = {g_class = 0x8064638}, refcount = 1, flags = 1, _gst_reserved = 0x0},
  data = 0xb5758d80 <Address 0xb5758d80 out of bounds>, size = 144000, timestamp = 3737560000000,
  duration = 40000000, caps = 0x824acc0, offset = 93439, offset_end = 93440, malloc_data = 0x0,
  _gst_reserved = {0x0, 0x0, 0x0, 0x0}}

in which the data is broken already
Comment 1 Amaury Jacquot 2006-03-18 09:59:10 UTC
PS: I have the 84Mb core file available on request ;D
Comment 2 Wim Taymans 2006-03-21 15:35:42 UTC
this could be a bug in filesrc where it does not send proper data. can you retry with gnomevfssrc?
Comment 3 Tim-Philipp Müller 2006-04-10 16:40:10 UTC
Ping?
Comment 4 Tim-Philipp Müller 2006-04-27 16:21:55 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!