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 778094 - invalid read and writes
invalid read and writes
Status: RESOLVED OBSOLETE
Product: libgda
Classification: Other
Component: general
5.2.x
Other Linux
: Normal normal
: ---
Assigned To: malerba
gnome-db Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-02-02 18:37 UTC by Emilio Pozuelo Monfort
Modified: 2018-09-21 13:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Emilio Pozuelo Monfort 2017-02-02 18:37:50 UTC
Original bug: https://bugs.debian.org/839444

Looks like libgda 5.2.4 has some invalid memory/object management. This can be triggered when running some tests in a loop. From:

https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=839444;filename=vgdump.txt.gz;msg=83

Interesting part follows:

==27399== Invalid read of size 8
==27399==    at 0x4F08F95: vcontext_object_weak_notify_cb (gda-vconnection-data-model.c:607)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E90A8F: apply_filter_statement (gda-data-proxy.c:3133)
==27399==    by 0x4E965C8: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3265)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B7EC: do_test_common_read (check_data_proxy.c:752)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Address 0xbc23c10 is 16 bytes inside a block of size 24 free'd
==27399==    at 0x4C2BDDB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x5405BF7: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4F08F94: vcontext_object_weak_notify_cb (gda-vconnection-data-model.c:606)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E90A8F: apply_filter_statement (gda-data-proxy.c:3133)
==27399==    by 0x4E965C8: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3265)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B7EC: do_test_common_read (check_data_proxy.c:752)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Block was alloc'd at
==27399==    at 0x4C2CBC5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x541CE60: g_malloc0 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4F09DC9: _gda_vconnection_change_working_obj (gda-vconnection-data-model.c:689)
==27399==    by 0x4F076D8: _gda_sqlite_recordset_new (gda-sqlite-recordset.c:298)
==27399==    by 0x4F014A6: gda_sqlite_provider_statement_execute (gda-sqlite-provider.c:3406)
==27399==    by 0x4F0CB3E: gda_vprovider_data_model_statement_execute (gda-vprovider-data-model.c:453)
==27399==    by 0x4E7681F: gda_connection_statement_execute_v (gda-connection.c:3544)
==27399==    by 0x4E7823F: gda_connection_statement_execute_select (gda-connection.c:3830)
==27399==    by 0x4E90A66: apply_filter_statement (gda-data-proxy.c:3120)
==27399==    by 0x4E965C8: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3265)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B7EC: do_test_common_read (check_data_proxy.c:752)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399== 
==27399== Invalid write of size 8
==27399==    at 0x544BD65: g_nullify_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E96671: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3262)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B888: do_test_common_read (check_data_proxy.c:769)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Address 0xbc214e0 is 0 bytes inside a block of size 8 free'd
==27399==    at 0x4C2BDDB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x4EF060C: gda_pstmt_finalize (gda-pstmt.c:122)
==27399==    by 0x518EC79: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x5405BF7: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4E6E210: statement_weak_notify_cb (gda-connection.c:6421)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E96671: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3262)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B888: do_test_common_read (check_data_proxy.c:769)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Block was alloc'd at
==27399==    at 0x4C2CBC5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x541CE60: g_malloc0 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4EF07D9: gda_pstmt_init (gda-pstmt.c:86)
==27399==    by 0x51AD30E: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518F1FA: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x5190C0C: g_object_newv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x51913C3: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4F062B4: _gda_sqlite_pstmt_new (gda-sqlite-pstmt.c:108)
==27399==    by 0x4F00055: real_prepare (gda-sqlite-provider.c:2601)
==27399==    by 0x4F00415: gda_sqlite_provider_statement_prepare (gda-sqlite-provider.c:2401)
==27399==    by 0x4F019A4: gda_sqlite_provider_statement_execute (gda-sqlite-provider.c:2976)
==27399==    by 0x4F0CB3E: gda_vprovider_data_model_statement_execute (gda-vprovider-data-model.c:453)
==27399==    by 0x4E7681F: gda_connection_statement_execute_v (gda-connection.c:3544)
==27399==    by 0x4E7823F: gda_connection_statement_execute_select (gda-connection.c:3830)
==27399==    by 0x4E90A66: apply_filter_statement (gda-data-proxy.c:3120)
==27399==    by 0x4E965C8: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3265)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B7EC: do_test_common_read (check_data_proxy.c:752)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399== 
==27399== Invalid write of size 8
==27399==    at 0x544BD65: g_nullify_pointer (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E965B1: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3218)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B9B8: do_test_common_read (check_data_proxy.c:811)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Address 0xbc85060 is 0 bytes inside a block of size 8 free'd
==27399==    at 0x4C2BDDB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x4EF060C: gda_pstmt_finalize (gda-pstmt.c:122)
==27399==    by 0x518EC79: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x5405BF7: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4E6E210: statement_weak_notify_cb (gda-connection.c:6421)
==27399==    by 0x518DB0E: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518EC04: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4E965B1: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3218)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B9B8: do_test_common_read (check_data_proxy.c:811)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
==27399==  Block was alloc'd at
==27399==    at 0x4C2CBC5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27399==    by 0x541CE60: g_malloc0 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5000.2)
==27399==    by 0x4EF07D9: gda_pstmt_init (gda-pstmt.c:86)
==27399==    by 0x51AD30E: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x518F1FA: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x5190C0C: g_object_newv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x51913C3: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5000.2)
==27399==    by 0x4F062B4: _gda_sqlite_pstmt_new (gda-sqlite-pstmt.c:108)
==27399==    by 0x4F00055: real_prepare (gda-sqlite-provider.c:2601)
==27399==    by 0x4F00415: gda_sqlite_provider_statement_prepare (gda-sqlite-provider.c:2401)
==27399==    by 0x4F019A4: gda_sqlite_provider_statement_execute (gda-sqlite-provider.c:2976)
==27399==    by 0x4F0CB3E: gda_vprovider_data_model_statement_execute (gda-vprovider-data-model.c:453)
==27399==    by 0x4E7681F: gda_connection_statement_execute_v (gda-connection.c:3544)
==27399==    by 0x4E7823F: gda_connection_statement_execute_select (gda-connection.c:3830)
==27399==    by 0x4E90A66: apply_filter_statement (gda-data-proxy.c:3120)
==27399==    by 0x4E965C8: gda_data_proxy_set_filter_expr (gda-data-proxy.c:3265)
==27399==    by 0x10AF1D: check_proxy_set_filter (check_data_proxy.c:1577)
==27399==    by 0x10B888: do_test_common_read (check_data_proxy.c:769)
==27399==    by 0x10A369: main (check_data_proxy.c:119)
Comment 1 GNOME Infrastructure Team 2018-09-21 13:57:30 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/libgda/issues/127.