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 633502 - crash in playing (likely) malformed mp4 file
crash in playing (likely) malformed mp4 file
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-29 20:48 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2010-11-01 20:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stefan Sauer (gstreamer, gtkdoc dev) 2010-10-29 20:48:04 UTC


  • #0 vfprintf
    from /lib/libc.so.6
  • #1 __vasprintf_chk
    from /lib/libc.so.6
  • #2 vasprintf
    at /usr/include/bits/stdio2.h line 199
  • #3 IA__g_vasprintf
    at gprintf.c line 315
  • #4 IA__g_strdup_vprintf
    at gstrfuncs.c line 244
  • #5 IA__g_strdup_printf
    at gstrfuncs.c line 270
  • #6 gst_object_set_name_default
    at gstobject.c line 641
  • #7 gst_object_set_name
    at gstobject.c line 700
  • #8 gst_object_set_property
    at gstobject.c line 1073
  • #9 object_set_property
    at gobject.c line 973
  • #10 g_object_constructor
    at gobject.c line 1410
  • #11 IA__g_object_newv
    at gobject.c line 1261
  • #12 IA__g_object_new_valist
    at gobject.c line 1377
  • #13 IA__g_object_new
    at gobject.c line 1095
  • #14 gst_decode_pad_new
    at gstdecodebin2.c line 3412
  • #15 analyze_new_pad
    at gstdecodebin2.c line 1369
  • #16 pad_added_cb
    at gstdecodebin2.c line 2021
  • #6 gst_object_set_name_default
    at gstobject.c line 641
$1 = 28315
(gdb) print q
$2 = <value optimized out>
(gdb) print type_name
$3 = (const gchar *) 0xb0c7a532 "DecodePad"

Not sure why it segfaults. The scary thing from looking at the debug log is that this is counting up in a look until it dies:

0:00:03.223707104  6438  0x8335fe8 INFO        GST_ELEMENT_PADS gstpad.c:1733:gst_pad_unlink: unlinked aacparse595:src and decodepad1195:proxypad1197
0:00:03.223722630  6438  0x8335fe8 INFO                GST_PADS gstpad.c:1916:gst_pad_link_prepare: trying to link aacparse595:src and decodepad1195:proxypad1197
0:00:03.223730211  6438  0x8335fe8 INFO                GST_PADS gstpad.c:2099:gst_pad_link_full: linked aacparse595:src and decodepad1195:proxypad1197, successful
0:00:03.223745836  6438  0x8335fe8 INFO        GST_ELEMENT_PADS gstpad.c:1690:gst_pad_unlink: unlinking aacparse595:src(0xb4458a60) and decodepad1195:proxypad1197

The file has been created in attempt to 'save' a rtsp stream:

gst-launch-0.10 rtspsrc location=rtsp://stream.yle.mobi/yle/areena/MEDIA_E0326797_p3_veryhigh.mp4 protocols="tcp" name=s mp4mux name=m ! filesink location=2010.10.25.mp4 s. ! gstrtpjitterbuffer ! rtpmp4adepay ! aacparse ! progressreport ! m. s. ! gstrtpjitterbuffer ! rtph264depay byte-stream=false ! h264parse output-format=sample ! m.

The exact rtsp uris expire after some time, but one can use any uri from e.g.:
http://m.yle.fi/w/areena/tv/ohjelmat/?l=15&o=0

Unfortunately you still need to apply the first hack from bug #625825 to allow inserting aacparse in the above pipeline.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2010-10-29 20:51:04 UTC
forgot to mention, it would crash using playbin2 or discoverer, e.g.:

> GST_DEBUG="*:2" gst-discoverer ./2010.10.25.mp4 
Analyzing file:///.../2010.10.25.mp4
0:00:00.040022114  6586  0x82b9d58 WARN                 qtdemux qtdemux_types.c:170:qtdemux_type_get: unknown QuickTime node type avc1
0:00:00.040063263  6586  0x82b9d58 WARN                 qtdemux qtdemux_types.c:170:qtdemux_type_get: unknown QuickTime node type avcC
0:00:00.050061932  6586  0x82b9d58 WARN                 qtdemux qtdemux.c:5851:qtdemux_parse_trak:<qtdemux0> unknown version 00000000
Comment 2 Thiago Sousa Santos 2010-10-29 21:35:56 UTC
I can't access the urls, could you attach a gdp dump of it?
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2010-11-01 20:01:39 UTC
I have uploaded one file to:
http://www.hora-obscura.de/~ensonic/2010.10.25.mp4
It is almost 60Mb.
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2010-11-01 20:26:59 UTC
This happended, because aacparse got recursively plugged. I really need to fix the aac depayloader instead. Sorry for the noise.