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 581279 - MP3 file causes crash in Banshee/Rhythmbox is GStreamer library
MP3 file causes crash in Banshee/Rhythmbox is GStreamer library
Status: RESOLVED DUPLICATE of bug 545370
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.22
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-05-04 09:08 UTC by Alex Bennée
Modified: 2009-05-07 13:50 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Alex Bennée 2009-05-04 09:08:10 UTC
Whenever I try and access this file in Banshee or Rhythmbox I get a crash with the following backtrace:

(gdb) info frame
Stack level 2, frame at 0x424d8040:
 rip = 0x2aaab5990934 in gst_structure_set_field (gststructure.c:622); saved rip 0x2aaab59918d1
 called by frame at 0x424d8100, caller of frame at 0x424d8020
 source language c.
 Arglist at 0x424d8020, args: structure=<value optimized out>, field=0x424d80a0
 Locals at 0x424d8020, Previous frame's sp is 0x424d8040
 Saved registers:
  rbx at 0x424d8028, rbp at 0x424d8030, rip at 0x424d8038
(gdb) l
617       guint i;
618
619       for (i = 0; i < structure->fields->len; i++) {
620         f = GST_STRUCTURE_FIELD (structure, i);
621
622         if (f->name == field->name) {
623           g_value_unset (&f->value);
624           memcpy (f, field, sizeof (GstStructureField));
625           return;
626         }
(gdb) p structure
$1 = <value optimized out>
(gdb) p f
$2 = (GstStructureField *) 0x1
(gdb) p i
$3 = 70127120
(gdb) bt
  • #0 g_type_value_table_peek
    from /usr/lib/libgobject-2.0.so.0
  • #1 g_value_unset
    from /usr/lib/libgobject-2.0.so.0
  • #2 gst_structure_set_field
    at gststructure.c line 622
  • #3 gst_structure_id_set_valist
    at gststructure.c line 602
  • #4 gst_structure_id_set
    at gststructure.c line 560
  • #5 gst_query_set_duration
    at gstquery.c line 508
  • #6 gst_base_src_default_query
    at gstbasesrc.c line 787
  • #7 gst_base_src_query
    at gstbasesrc.c line 926
  • #8 gst_proxy_pad_do_query
    at gstghostpad.c line 154
  • #9 gst_type_find_handle_src_query
    at gsttypefindelement.c line 353
  • #10 ??
    from /usr/lib/libgsttag-0.10.so.0
  • #11 gst_pad_query_duration
    at gstutils.c line 2724
  • #12 gst_pad_query_peer_duration
    at gstutils.c line 2759
  • #13 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so
  • #14 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so
  • #15 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so
  • #16 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so
  • #17 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so
  • #18 ??
    from /usr/lib64/gstreamer-0.10/libgstmpegaudioparse.so

The back trace continues in libgstmpegaudioparse for ever so I suspect
the library has gone into a loop of death while parsing.

Are there any command lines I can run to test the tag parser on this
file and perhaps supply more useful debug output?
Comment 1 Sebastian Dröge (slomo) 2009-05-07 13:50:20 UTC
Thanks for taking the time to report this bug.
This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade.


*** This bug has been marked as a duplicate of 545370 ***