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 351308 - [netbuffer] build fails with gkt-doc critical warnings
[netbuffer] build fails with gkt-doc critical warnings
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.10
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-08-14 15:34 UTC by Wouter Bolsterlee (uws)
Modified: 2006-08-21 10:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Wouter Bolsterlee (uws) 2006-08-14 15:34:02 UTC
When compiling gstreamer and plugins using G_DEBUG=fatalcriticals, the build fails with this error when running gtk-doc:

(<unknown>:18591): GLib-GObject-CRITICAL **: g_object_class_list_properties: assertion `G_IS_OBJECT_CLASS (class)' failed

I'm not sure how to diagnose the problem, but zaheerm asked me to file a bug anyway :)
Comment 1 Zaheer Abbas Merali 2006-08-14 15:35:11 UTC
confirmed it occurs on my machine
Comment 2 Wim Taymans 2006-08-16 10:37:38 UTC
what "element" is it trying to inspect then?
Comment 3 Wouter Bolsterlee (uws) 2006-08-17 08:14:23 UTC
Zaheer has reproduced it. Please tackle the problem with him ;-)
Comment 4 Tim-Philipp Müller 2006-08-18 12:26:36 UTC
Could you please paste the entire 'make' output for the directory where it fails?
Comment 5 Wouter Bolsterlee (uws) 2006-08-18 14:00:47 UTC
I cannot reproduce it anymore, it seems fixed.
Comment 6 Wouter Bolsterlee (uws) 2006-08-20 16:37:31 UTC
Reopening...

Making all in docs
make[2]: Entering directory `/opt/gnome-2-16/src/gst-plugins-base/docs'
Making all in libs
make[3]: Entering directory `/opt/gnome-2-16/src/gst-plugins-base/docs/libs'
*** Scanning header files ***
if grep -l '^..*$' ./gst-plugins-base-libs.types > /dev/null;   \
        then                                                            \
            if test x"." != x. ; then                           \
                cp ./gst-plugins-base-libs.types . ;                    \
                chmod u+w gst-plugins-base-libs.types ;                         \
            fi ;                                                        \
            GST_PLUGIN_SYSTEM_PATH=`cd ../.. && pwd`            \
            GST_PLUGIN_PATH=                                            \
            CC="/bin/sh ../../libtool --mode=compile gcc" LD="/bin/sh ../../libtool --mode=link gcc"                    \
            CFLAGS="-pthread -I/opt/gnome-2-16/include/gstreamer-0.10 -I/opt/gnome-2-16/include/glib-2.0 -I/opt/gnome-2-16/lib/glib-2.0/include -I/opt/gnome-2-16/include/libxml2   -I../.. -I../../gst-libs -I../../gst-libs" LDFLAGS="../../gst-libs/gst/interfaces/libgstinterfaces-0.10.la ../../gst-libs/gst/audio/libgstaudio-0.10.la ../../gst-libs/gst/cdda/libgstcdda-0.10.la ../../gst-libs/gst/netbuffer/libgstnetbuffer-0.10.la ../../gst-libs/gst/rtp/libgstrtp-0.10.la ../../gst-libs/gst/tag/libgsttag-0.10.la ../../gst-libs/gst/video/libgstvideo-0.10.la -Wl,--export-dynamic -pthread -L/opt/gnome-2-16/lib -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lxml2 -lz -lm -lglib-2.0  "               \
            gtkdoc-scangobj --type-init-func="gst_init(NULL,NULL)"      \
                --module=gst-plugins-base-libs ;                                \
        else                                                            \
            cd . ;                                              \
            for i in gst-plugins-base-libs.args gst-plugins-base-libs.hierarchy gst-plugins-base-libs.interfaces gst-plugins-base-libs.prerequisites .libs/gst-plugins-base-libs-scan.o gst-plugins-base-libs.signals ; do                           \
               test -f $i || touch $i ;                         \
            done                                                        \
        fi
gtk-doc: Compiling scanner
 gcc -pthread -I/opt/gnome-2-16/include/gstreamer-0.10 -I/opt/gnome-2-16/include/glib-2.0 -I/opt/gnome-2-16/lib/glib-2.0/include -I/opt/gnome-2-16/include/libxml2 -I../.. -I../../gst-libs -I../../gst-libs -c gst-plugins-base-libs-scan.c  -fPIC -DPIC -o .libs/gst-plugins-base-libs-scan.o
gtk-doc: Linking scanner
gcc -o .libs/gst-plugins-base-libs-scan .libs/gst-plugins-base-libs-scan.o -Wl,--export-dynamic -pthread  ../../gst-libs/gst/interfaces/.libs/libgstinterfaces-0.10.so ../../gst-libs/gst/audio/.libs/libgstaudio-0.10.so ../../gst-libs/gst/cdda/.libs/libgstcdda-0.10.so ../../gst-libs/gst/netbuffer/.libs/libgstnetbuffer-0.10.so ../../gst-libs/gst/rtp/.libs/libgstrtp-0.10.so ../../gst-libs/gst/tag/.libs/libgsttag-0.10.so ../../gst-libs/gst/video/.libs/libgstvideo-0.10.so -L/opt/gnome-2-16/lib /opt/gnome-2-16/lib/libgstbase-0.10.so /opt/gnome-2-16/lib/libgstreamer-0.10.so /opt/gnome-2-16/lib/libgobject-2.0.so /opt/gnome-2-16/lib/libgmodule-2.0.so -ldl /opt/gnome-2-16/lib/libgthread-2.0.so /opt/gnome-2-16/lib/libxml2.so -lz -lm /opt/gnome-2-16/lib/libglib-2.0.so -Wl,--rpath -Wl,/opt/gnome-2-16/lib
creating gst-plugins-base-libs-scan
gtk-doc: Running scanner gst-plugins-base-libs-scan

GLib-GObject-CRITICAL **: g_object_class_list_properties: assertion `G_IS_OBJECT_CLASS (class)' failed
aborting...
Scan failed: 
make[3]: *** [scan-build.stamp] Error 255
make[3]: Leaving directory `/opt/gnome-2-16/src/gst-plugins-base/docs/libs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/gnome-2-16/src/gst-plugins-base/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/gnome-2-16/src/gst-plugins-base'
make: *** [all] Error 2
Comment 7 Tim-Philipp Müller 2006-08-20 17:50:43 UTC
Can reproduce:

~/gst-plugins-base/docs/libs$ G_DEBUG=fatal_warnings gdb ./.libs/lt-gst-plugins-base-libs-scan
(gdb) run
Starting program: /home/tim/gst-plugins-base/docs/libs/.libs/lt-gst-plugins-base-libs-scan
[Thread debugging using libthread_db enabled]

GLib-GObject-CRITICAL **: g_object_class_list_properties: assertion `G_IS_OBJECT_CLASS (class)' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread NaN (LWP 12331)

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #2 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #3 IA__g_logv
    at gmessages.c line 497
  • #4 IA__g_log
    at gmessages.c line 517
  • #5 IA__g_return_if_fail_warning
    at gmessages.c line 532
  • #6 IA__g_object_class_list_properties
    at gobject.c line 444
  • #7 output_object_args
  • #8 output_args
  • #9 main
  • #6 IA__g_object_class_list_properties
    at gobject.c line 444
$1 = (GObjectClass *) 0x810ffe0
(gdb) print *class
$2 = {g_type_class = {g_type = 135325976}, construct_properties = 0xb7f529d7, constructor = 0xb7f5298a <gst_netbuffer_finalize>, set_property = 0,
  get_property = 0, dispose = 0, finalize = 0, dispatch_properties_changed = 0, notify = 0, pdummy = {0x121, 0x8083a98, 0x8051140, 0xb7e53a80, 0xb7f4f225,
    0xb7f4f2de, 0xb7ebe3a2, 0xb7f4e100}}
(gdb) call g_type_name (135325976)
$3 = 134736056
(gdb) print (gchar*) $3
$4 = 0x807e8b8 "GstNetBuffer"

GstNetBuffer derives from GstMiniObject not GObject. Should probably not be scanned.
Comment 8 Wim Taymans 2006-08-21 10:33:42 UTC
This should fix it but might reveal the next error. Works fine for me, though, but I did not get the netbuffer error either.

        * docs/libs/Makefile.am:
        * docs/libs/gst-plugins-base-libs-sections.txt:
        * docs/libs/gst-plugins-base-libs.types:
        Don't try to GObject scan the netbuffer as it's not a GObject.
        Fixes #351308.

        * gst-libs/gst/netbuffer/gstnetbuffer.c:
        * gst-libs/gst/netbuffer/gstnetbuffer.h:
        Document GstNetBuffer.