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 741291 - gobject pointer gets converted into integer in the bindings
gobject pointer gets converted into integer in the bindings
Status: RESOLVED OBSOLETE
Product: pygobject
Classification: Bindings
Component: introspection
3.14.x
Other Linux
: Normal major
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2014-12-09 13:09 UTC by Alexia Death
Modified: 2018-01-10 20:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Build log from the build bot (597.13 KB, text/plain)
2014-12-09 13:49 UTC, Alexia Death
Details
test-case (378 bytes, text/x-python)
2015-06-09 17:01 UTC, Massimo
Details

Description Alexia Death 2014-12-09 13:09:53 UTC
One of GEGL python bindings tests that passes just fine on 3.12.0 and 3.12.2 fails on 3.14.0 version of gi and debugging indcates that a pointer to a gobject returned by a function gets turned into integer, ruining it for further use.

Here is the debugging code in git that shows the problem:

https://git.gnome.org/browse/gegl/tree/tests/python/test-gegl-format.py?h=debugging-jenkins-tests#n52

And here is the build log at the end of witch is the fail along with the debug output.
https://build.gimp.org/job/gegl-master-build-debuging/7/console
Comment 1 Alexia Death 2014-12-09 13:49:10 UTC
Created attachment 292386 [details]
Build log from the build bot

Adding the build log in case it gets removed from the build server.
Comment 2 Simon Feltman 2014-12-09 16:33:36 UTC
I'm having a bit of trouble debugging this due to the gegl build failing with introspection enabled building with jhbuild.

jhbuild config:
...
moduleset = "gnome-world-3.14"
module_autogenargs['gegl'] = '--enable-introspection'
...

This pulls in the gegl branch "gegl-0-2". I then get errors when building:

gegl/tmp-introspectq9Mh6z/Gegl-0.2.c:61:7: error: stray ‘\’ in program
       g_critical ("failed to write to iochannel: %s", error->message);


Any ideas?
Comment 3 Christoph Reiter (lazka) 2014-12-09 17:04:42 UTC
Afair only master has introspection support.

jhbuildrc:

branches = {"gegl": "master"}
Comment 4 Alexia Death 2014-12-09 19:32:36 UTC
Indeed, the test in question is only relevant for master.
Comment 5 Simon Feltman 2014-12-19 07:01:20 UTC
I attempted to build Gegl master and hit the following problems when building with introspection:

...gegl/gegl/tmp-introspectY8Erbl/Gegl-0.3.o:(.data+0x8): undefined reference to `gegl_access_mode_get_type'
...gegl/tmp-introspectY8Erbl/Gegl-0.3.o:(.data+0x10): undefined reference to `gegl_orientation_get_type'

any other pointers for building this?
Comment 6 Massimo 2015-06-09 17:01:50 UTC
Created attachment 304882 [details]
test-case

With pygobject3-base from fedora 22 (3.16.1), GEGL make check fails because the
workaround (Skip the test for gi.__version__ == 3.14) is no longer sufficient.

So trying to help I ran git bisect which ends at:

https://git.gnome.org/browse/pygobject/commit/?id=b0236d6fde137e0b2ecf7f5556ad5d53c22874bc

After checking out that tree, building and installing it the attached
test case prints:

<type 'int'>
<type 'int'>

whereas after checking out, building and installing the parent tree (HEAD^)
the test case prints:

<type 'NoneType'>
<type 'gobject.GPointer'>
Comment 7 GNOME Infrastructure Team 2018-01-10 20:48:28 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/pygobject/issues/93.