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 594209 - Need to be able to call custom initialization code before g_irepository_dump()
Need to be able to call custom initialization code before g_irepository_dump()
Status: RESOLVED DUPLICATE of bug 605778
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal major
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks: 594206 594351 594352
 
 
Reported: 2009-09-05 09:00 UTC by Sebastian Dröge (slomo)
Modified: 2015-02-07 16:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2009-09-05 09:00:14 UTC
Hi,
while adding gobject-introspection support for the GStreamer CDDA library I noticed that it's impossible add custom code before g_irepository_dump() is called from the autogenerated dump application.

For the case of GStreamer I need to be able to call gst_init() before any other GStreamer function.

Without this the dump application segfaults because it accesses uninitialized stuff.
Comment 1 Sebastian Dröge (slomo) 2009-09-05 09:01:28 UTC
Just for completeness, the backtrace of the dump application (gst_value_table is initialized by gst_init()):

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff620c2ff in gst_value_deserialize (dest=0x7fffffffc2c8, 
    src=0x608614 "BYTE_ORDER") at gstvalue.c:3419
3419	    len = gst_value_table->len;
(gdb) print gst_value_table
$1 = (GArray *) 0x0
(gdb) bt
  • #0 gst_value_deserialize
    at gstvalue.c line 3419
  • #1 gst_structure_parse_value
    at gststructure.c line 1984
  • #2 gst_structure_parse_field
  • #3 gst_structure_from_string
  • #4 gst_caps_from_string_inplace
    at gstcaps.c line 2016
  • #5 gst_static_caps_get
    at gstcaps.c line 474
  • #6 gst_static_pad_template_get
    at gstpadtemplate.c line 320
  • #7 gst_cdda_base_src_base_init
    at gstcddabasesrc.c line 184
  • #8 type_class_init_Wm
    at /tmp/buildd/glib2.0-2.21.6/gobject/gtype.c line 1925
  • #9 IA__g_type_class_ref
    at /tmp/buildd/glib2.0-2.21.6/gobject/gtype.c line 2660
  • #10 ??
    from /usr/lib/libgirepository-1.0.so.0
  • #11 g_irepository_dump
    from /usr/lib/libgirepository-1.0.so.0
  • #12 ??
    from /usr/lib/libgirepository-1.0.so.0
  • #13 parse_arg
    at /tmp/buildd/glib2.0-2.21.6/glib/goption.c line 1293
  • #14 parse_long_option
    at /tmp/buildd/glib2.0-2.21.6/glib/goption.c line 1527
  • #15 IA__g_option_context_parse
    at /tmp/buildd/glib2.0-2.21.6/glib/goption.c line 1802
  • #16 main

Comment 2 Colin Walters 2010-01-05 18:53:40 UTC

*** This bug has been marked as a duplicate of bug 605778 ***
Comment 3 André Klapper 2015-02-07 16:52:58 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]