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 784705 - Getting "CRITICAL **: gee_iterable_iterator: assertion 'self != NULL' failed" when running valadoc
Getting "CRITICAL **: gee_iterable_iterator: assertion 'self != NULL' failed"...
Status: RESOLVED FIXED
Product: vala
Classification: Core
Component: Valadoc
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Vala maintainers
Vala maintainers
Depends on:
Blocks:
 
 
Reported: 2017-07-08 20:13 UTC by David Lechner
Modified: 2017-11-22 21:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
valadoc: fix CRITICAL when property is not a GType property (1.37 KB, patch)
2017-07-08 20:13 UTC, David Lechner
none Details | Review
valadoc: Acknowledge possible fake properties in structs (8.90 KB, patch)
2017-11-21 08:10 UTC, Rico Tzschichholz
committed Details | Review

Description David Lechner 2017-07-08 20:13:54 UTC
Created attachment 355183 [details] [review]
valadoc: fix CRITICAL when property is not a GType property

When I run valadoc on a vapi I created, I see a bunch of this...

** (valadoc:19818): CRITICAL **: gee_iterator_next: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterable_iterator: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterator_next: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterable_iterator: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterator_next: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterable_iterator: assertion 'self != NULL' failed

** (valadoc:19818): CRITICAL **: gee_iterator_next: assertion 'self != NULL' failed

---

Running with gdb, I traced it down to Valadoc.CTypeResolver.visit_property(). It is apparent there that the foreach loops can run without the iterator variables being initialized.
Comment 1 Rico Tzschichholz 2017-07-09 06:55:08 UTC
Adding a guard for this case seems reasonable to do.

Nonetheless the root-cause of this issue should be treated as well. Could you apply the patch of https://bugzilla.gnome.org/show_bug.cgi?id=693932 and compile your source.
Comment 2 David Lechner 2017-07-10 15:40:06 UTC
I removed my patch and applied the patch from #693932, but I could not see a difference - I still got the CRITICAL messages.

FWIW, I am using a .vapi that has many compact classes where I am using "properties" as a shortcut for getter methods, but there are not real GObject properties.
Comment 3 Rico Tzschichholz 2017-11-21 08:10:55 UTC
Created attachment 364100 [details] [review]
valadoc: Acknowledge possible fake properties in structs