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 669957 - valac explodes on Peas gir
valac explodes on Peas gir
Status: RESOLVED DUPLICATE of bug 667751
Product: vala
Classification: Core
Component: GObject Introspection
unspecified
Other All
: Normal normal
: ---
Assigned To: Vala maintainers
Vala maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-13 02:47 UTC by Allison Karlitskaya (desrt)
Modified: 2012-02-13 12:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
long error log (8.77 KB, text/plain)
2012-02-13 02:47 UTC, Allison Karlitskaya (desrt)
Details

Description Allison Karlitskaya (desrt) 2012-02-13 02:47:19 UTC
Created attachment 207424 [details]
long error log

jhbuild currently has totem using gir for Peas like so:

/home/desrt/jhbuild/install/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


This causes a rather impressive explosion of warnings, compiler criticals and errors (attached).

Here's a much more minimal case:

$ echo 'void main () { }' > x.vala
$ time valac --pkg Peas-1.0 x.vala 
Peas-1.0.gir:166.7-166.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name
      <virtual-method name="load_plugin">
      ^^^^^^^^^^^^^^^^^^^^^^^
Peas-1.0.gir:176.7-176.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name
      <virtual-method name="unload_plugin">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gio-2.0.gir:44284.7-44284.47: warning: Virtual method `G.Resolver.lookup_service_async' conflicts with method of the same name
      <virtual-method name="lookup_service_async">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gio-2.0.gir:46016.7-46016.31: warning: Signal `G.Settings.change_event' conflicts with method of the same name
      <virtual-method name="change_event">
      ^^^^^^^^^^^^^^^^^^^^^^^^^

GLib-CRITICAL **: g_str_has_suffix: assertion `str != NULL' failed

** CRITICAL **: vala_gir_parser_node_lookup: assertion `name != NULL' failed
Gio-2.0.gir:58858.7-58862.24: error: `UnixSocketAddress' already contains a definition for `abstract'
Gio-2.0.gir:58730.7-58732.103: note: previous definition of `abstract' was here
Compilation failed: 1 error(s), 4 warning(s)

real	0m14.212s
user	0m14.165s
sys	0m0.020s

Note that it takes 14 seconds of 100% CPU...
Comment 1 Allison Karlitskaya (desrt) 2012-02-13 03:49:29 UTC
Peas-1.0 apparently pulls in Gio and that is what is apparently causing all the troubles.  This can be seen by using the vapi version of gio thus:

$ valac --pkg Peas-1.0 --pkg gio-2.0 x.vala
Peas-1.0.gir:166.7-166.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name
      <virtual-method name="load_plugin">
      ^^^^^^^^^^^^^^^^^^^^^^^
Peas-1.0.gir:176.7-176.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name
      <virtual-method name="unload_plugin">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation succeeded - 2 warning(s)

which only gives some warnings (and no compiler-bug-indicating criticals).
Comment 2 Luca Bruno 2012-02-13 12:36:18 UTC

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