GNOME Bugzilla – Bug 351308
[netbuffer] build fails with gkt-doc critical warnings
Last modified: 2006-08-21 10:33:42 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 :)
confirmed it occurs on my machine
what "element" is it trying to inspect then?
Zaheer has reproduced it. Please tackle the problem with him ;-)
Could you please paste the entire 'make' output for the directory where it fails?
I cannot reproduce it anymore, it seems fixed.
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
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.
+ Trace 70754
Thread NaN (LWP 12331)
$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.
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.