GNOME Bugzilla – Bug 667751
vala_code_node_get_attribute_string: assertion `self != NULL' failed in totem
Last modified: 2014-01-04 12:09:02 UTC
Thank you for fixing my bug 667687. Now valac progresses further, but still asserts. I am trying to build totem git master via JHBuild on Fedora 16. I am using vala git master [1]. The error is: Making all in rotation make[4]: Entering directory `/home/oxyde/gnome/totem/src/plugins/rotation' /opt/gnome/bin/valac --girdir=../../../src --pkg Totem-1.0 --pkg Peas-1.0 --pkg GtkClutter-1.0 --pkg clutter-1.0 --pkg gtk+-3.0 -C totem-rotation-plugin.vala Peas-1.0.gir:165.7-165.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name <virtual-method name="load_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^ Peas-1.0.gir:175.7-175.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name <virtual-method name="unload_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_add_symbol_to_container: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_add_symbol_to_container: assertion `sym != NULL' failed CoglPango-1.0.gir:63.61-63.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:78.61-78.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:93.61-93.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:109.61-109.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:132.61-132.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:151.61-151.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ Compilation failed: 6 error(s), 2 warning(s) make[4]: *** [librotation_la_vala.stamp] Error 1 make[4]: Leaving directory `/home/oxyde/gnome/totem/src/plugins/rotation' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/oxyde/gnome/totem/src/plugins' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/oxyde/gnome/totem/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/oxyde/gnome/totem' make: *** [all] Error 2 [1] http://git.gnome.org/browse/vala/commit/?id=71cab952e34c3ab9649382de13b8d9bed73a8abe
What if you use the peas vapi that comes with vala instead?
(In reply to comment #1) > What if you use the peas vapi that comes with vala instead? Ok. Please give me some time to work out how to do that.
(In reply to comment #2) > Ok. Please give me some time to work out how to do that. With --pkg libpeas-1.0
(In reply to comment #3) > With --pkg libpeas-1.0 Thank you. No, still get the asserts. # cd ~/gnome/totem/src/plugins/rotation # /opt/gnome/bin/valac --version Vala 0.15.0.60-71ca # /opt/gnome/bin/valac --girdir=../../../src --pkg Totem-1.0 --pkg libpeas-1.0 --pkg GtkClutter-1.0 --pkg clutter-1.0 --pkg gtk+-3.0 -C totem-rotation-plugin.vala ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_same_gir: assertion `sym != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_add_symbol_to_container: assertion `sym != NULL' failed CoglPango-1.0.gir:63.61-63.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:78.61-78.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:93.61-93.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:109.61-109.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:132.61-132.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ CoglPango-1.0.gir:151.61-151.61: error: The type name `FontMap' could not be found <type name="FontMap" c:type="CoglPangoFontMap*"/> ^ Compilation failed: 6 error(s), 0 warning(s)
vapigen --library totem --pkg gio-2.0 --pkg gtk+-3.0 Totem-1.0.gir --girdir ./ works fine here. The --girdir ./ is due TotemPlParser-1.0.gir being in ./ vapigen is from vala master.
Sorry forget what I said, I just noticed the gtkclutter. Let me retry.
Ok looks like adding --pkg cogl-pango-1.0 fixes it. The errors are very unfriendly though, the cause is the missing metadata. Leaving the bug opened for this reason.
(In reply to comment #7) > Ok looks like adding --pkg cogl-pango-1.0 fixes it. Add '--pkg cogl-pango-1.0' to the valac or to the vapigen? Adding to valac, I get: /opt/gnome/bin/valac --girdir=../../../src --pkg Totem-1.0 --pkg Peas-1.0 --pkg GtkClutter-1.0 --pkg clutter-1.0 --pkg gtk+-3.0 --pkg cogl-pango-1.0 -C totem-rotation-plugin.vala Peas-1.0.gir:165.7-165.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name <virtual-method name="load_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^ Peas-1.0.gir:175.7-175.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name <virtual-method name="unload_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_set_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_code_node_get_attribute_string: assertion `self != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_is_container: assertion `sym != NULL' failed ** CRITICAL **: vala_gir_parser_add_symbol_to_container: assertion `sym != NULL' failed TotemPlParser-1.0.gir:26.57-26.57: error: too few type arguments <type name="GLib.HashTable" c:type="GHashTable"/> ^ Compilation failed: 1 error(s), 2 warning(s)
You forgot comment #3 along the way, did you? Use --pkg libpeas-1.0 instead of --pkg Peas-1.0 .
(In reply to comment #9) > You forgot comment #3 along the way, did you? Use --pkg libpeas-1.0 instead of > --pkg Peas-1.0 . Ahh, yes. Thank you. No more vala asserts.
*** Bug 669957 has been marked as a duplicate of this bug. ***
we get this in NetworkManager too... see bug 701793. Any suggestions?
(In reply to comment #12) > we get this in NetworkManager too... see bug 701793. Any suggestions? Since it's calling method with null as this what's a backtrace with G_DEBUG=fatal_criticals?
+ Trace 232984
Created attachment 265244 [details] [review] handle delegate callbacks in vala girparser Can you please apply this patch to vala and check whether your vapi is ok and usable? This was a different bug though than the original :-)
That fixes the warning. I have no idea if the vapi is "ok and usable", but it looks like it makes sense. danw@laptop:vapi (master)> diff -U0 libnm-glib.vapi{.orig,}|more --- libnm-glib.vapi.orig 2014-01-03 14:47:02.108951421 -0500 +++ libnm-glib.vapi 2014-01-03 14:47:05.018951579 -0500 @@ -1 +1 @@ -/* libnm-glib.vapi generated by vapigen-0.22, do not modify. */ +/* libnm-glib.vapi generated by vapigen-0.24, do not modify. */ @@ -1081,0 +1082,4 @@ + [CCode (cheader_filename = "nm-remote-connection.h", instance_pos = 2.9)] + public delegate void RemoteConnectionCommitFunc (RemoteConnection connection, GLib.Error error); + [CCode (cheader_filename = "nm-remote-connection.h", instance_pos = 2.9)] + public delegate void RemoteConnectionDeleteFunc (NM.RemoteConnection connection, GLib.Error error); @@ -1084,2 +1088,2 @@ - [CCode (cheader_filename = "NMClient-1.0.h", instance_pos = 2.9)] - public delegate void RemoteConnectionResultFunc (NM.RemoteConnection connection, GLib.Error error); + [CCode (cheader_filename = "nm-remote-connection.h", instance_pos = 2.9)] + public delegate void RemoteConnectionResultFunc (RemoteConnection connection, GLib.Error error); The switch between "RemoteConnection" and "NM.RemoteConnection" might be cause for alarm? Although both versions are used elsewhere already...
Yes I'm currently trying to understand why RemoteConnection has not NM. before, mysteries...
commit 23cc3054f8069da9679d50084be8262bc944c071 Author: Luca Bruno <lucabru@src.gnome.org> Date: Fri Jan 3 20:04:05 2014 +0100 girparser: Handle delegate aliases Fixes bug 667751 This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report. Please open new bugs even if the warnings you see may seem related to this bug.