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 772459 - Aborts with ERROR:girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
Aborts with ERROR:girepository/girparser.c:343:state_switch: assertion failed...
Status: RESOLVED OBSOLETE
Product: gobject-introspection
Classification: Platform
Component: g-ir-compiler
1.48.x
Other Linux
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2016-10-05 15:55 UTC by Milan Crha
Modified: 2018-02-08 12:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Camel-1.2.gir.xz (100.22 KB, application/x-xz)
2016-10-05 15:55 UTC, Milan Crha
Details

Description Milan Crha 2016-10-05 15:55:41 UTC
Created attachment 336996 [details]
Camel-1.2.gir.xz

Using gobject-introspection-1.48.0-1.fc24.x86_64 and passing to it the attached Camel-1.2.gir causes a crash of:

   $ g-ir-compiler --includedir=. --debug --verbose Camel-1.2.gir \
        -o Camel-1.2.typelib

with error:

ERROR:girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)

with no hint what's going on. The command is run in the camel/ folder of the evolution-data-server checkout [1].

I'd like to fix the .gir file, or better the sources to not generate a .gir file which confuses the g-ir-compiler, but as there is absolutely no hint on the place, it's really hard to do it.

Note that building vala bindings from the same .gir file works.

[1] https://git.gnome.org/browse/evolution-data-server/tree/camel/
Comment 1 Milan Crha 2016-12-09 10:08:10 UTC
Just for the record, the problem was with this definitions:

struct _CamelCipherValidity {
	GQueue children;

	struct {
		CamelCipherValiditySign status;
		gchar *description;
		GQueue signers;	/* CamelCipherCertInfo's */
	} sign;

	struct {
		CamelCipherValidityEncrypt status;
		gchar *description;
		GQueue encrypters;	/* CamelCipherCertInfo's */
	} encrypt;
};

when I name the two inner structures (as _sign and _encrypt respectively), then it creates the typelib properly. Some better debugging for line numbers and such would be useful.
Comment 2 GNOME Infrastructure Team 2018-02-08 12:43:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/164.