On Thu, Sep 8, 2011 at 14:33, Murray Cumming <[email protected]> wrote: > When using the Python gi.repository.Gda API, I'm seeing some nonsense > strings in the Gda's Numeric.number field. This valgrind warning shows > that something is wrong at that point. I suspect that the whole > GdaNumeric has already been freed. I got the Numeric from a call to > datamodel.get_value_at(). > > Does anyone have any idea what might be wrong?
datamodel.get_value_at() appears in the .gir as returning (transfer: full) when it should be (trasnfer: none) instead? Otherwise, it could be the field stuff not being stable enough, though we do have some test coverage about fields. Regards, Tomeu > > ==26064== Invalid read of size 4 > ==26064== at 0x51CAC5B: g_field_info_get_field (gifieldinfo.c:196) > ==26064== by 0x51A5B55: _wrap_g_field_info_get_value > (pygi-info.c:1226) > ==26064== by 0x80A2957: ??? (in /usr/bin/python2.7) > ==26064== by 0x80A4701: PyObject_CallFunction (in /usr/bin/python2.7) > ==26064== by 0x80BEF3E: ??? (in /usr/bin/python2.7) > ==26064== by 0x80DA6A7: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80DAE8A: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80E11E6: PyEval_EvalCodeEx (in /usr/bin/python2.7) > ==26064== by 0x812C476: PyEval_EvalCode (in /usr/bin/python2.7) > ==26064== by 0x813C00F: ??? (in /usr/bin/python2.7) > ==26064== by 0x80700B2: PyRun_FileExFlags (in /usr/bin/python2.7) > ==26064== by 0x8070AF8: PyRun_SimpleFileExFlags > (in /usr/bin/python2.7) > ==26064== by 0x805C068: Py_Main (in /usr/bin/python2.7) > ==26064== by 0x805B25A: main (in /usr/bin/python2.7) > > ==26064== Address 0x4674b80 is 0 bytes inside a block of size 16 free'd > ==26064== at 0x4025BF0: free (vg_replace_malloc.c:366) > ==26064== by 0x540F806: g_free (gmem.c:263) > ==26064== by 0x7DEE6A4: gda_numeric_free (gda-value.c:830) > ==26064== by 0x53A5D07: _g_type_boxed_free (gtype.c:4233) > ==26064== by 0x538046C: boxed_proxy_value_free (gboxed.c:193) > ==26064== by 0x53A8405: g_value_unset (gvalue.c:275) > ==26064== by 0x7DEF995: gda_value_reset_with_type (gda-value.c:1454) > ==26064== by 0x7DF02EE: gda_value_set_null (gda-value.c:1688) > ==26064== by 0x7DC367C: gda_row_finalize (gda-row.c:119) > ==26064== by 0x538BADA: g_object_unref (gobject.c:2746) > ==26064== by 0x7D9FCCB: free_private_shared_data > (gda-data-select.c:440) > ==26064== by 0x7D9FEA3: gda_data_select_dispose > (gda-data-select.c:485) > ==26064== by 0x7FCEE3E: gda_postgres_recordset_dispose > (gda-postgres-recordset.c:186) > ==26064== by 0x538B9D9: g_object_unref (gobject.c:2709) > ==26064== by 0x59023EF: pygobject_clear (pygobject.c:1080) > ==26064== by 0x5902086: pygobject_dealloc (pygobject.c:990) > ==26064== by 0x80CEF1E: ??? (in /usr/bin/python2.7) > ==26064== by 0x81048B0: ??? (in /usr/bin/python2.7) > ==26064== by 0x80DAEA7: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80DAE8A: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80DAE8A: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80DAE8A: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80DAE8A: PyEval_EvalFrameEx (in /usr/bin/python2.7) > ==26064== by 0x80E11E6: PyEval_EvalCodeEx (in /usr/bin/python2.7) > ==26064== by 0x812C476: PyEval_EvalCode (in /usr/bin/python2.7) > ==26064== by 0x813C00F: ??? (in /usr/bin/python2.7) > ==26064== by 0x80700B2: PyRun_FileExFlags (in /usr/bin/python2.7) > ==26064== by 0x8070AF8: PyRun_SimpleFileExFlags > (in /usr/bin/python2.7) > ==26064== by 0x805C068: Py_Main (in /usr/bin/python2.7) > ==26064== by 0x805B25A: main (in /usr/bin/python2.7) > > > -- > [email protected] > www.murrayc.com > www.openismus.com > > > _______________________________________________ > python-hackers-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/python-hackers-list > _______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list
