GNOME Bugzilla – Bug 612261
Memory leaks in message fetching
Last modified: 2010-09-27 05:42:07 UTC
evolution-mapi 0.29.92 Attached file has valgrind logs for message fetching and offline sync.
Hmm, looks like bugzilla doesn't allow such big attachment. I will paste a few logs here it self. =7946== Thread 11: ==7946== Invalid read of size 4 ==7946== at 0xF665FC6: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:132) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0xaae3c20 is 7 bytes after a block of size 137 alloc'd ==7946== at 0x4025C8C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==7946== by 0x8E8DD7F: __talloc (talloc.c:405) ==7946== by 0x8E8E039: _talloc_named_const (talloc.c:516) ==7946== by 0x8E8F196: _talloc_realloc (talloc.c:1160) ==7946== by 0x8E90434: _talloc_realloc_array (talloc.c:1871) ==7946== by 0x8E83044: iconv_talloc (charcnv.c:188) ==7946== by 0x8E835E7: convert_string_talloc_convenience (charcnv.c:343) ==7946== by 0x8D47A0B: ndr_pull_string (ndr_string.c:244) ==7946== by 0x7C931F6: pull_emsmdb_property (emsmdb.c:626) ==7946== by 0x7C93A42: emsmdb_get_SPropValue (emsmdb.c:734) ==7946== by 0x7C7BA18: GetProps (IMAPIProp.c:152) ==7946== by 0x7C35BC0: exchange_mapi_connection_fetch_items (exchange-mapi-connection.c:1345) ==7946== by 0x6B44DF6: camel_mapi_folder_fetch_summary (camel-mapi-folder.c:1022) ==7946== by 0x6B45118: mapi_refresh_folder (camel-mapi-folder.c:1129) ==7946== by 0x6B42E9C: mapi_refresh_info (camel-mapi-folder.c:166) ==7946== by 0x43DBD8C: camel_folder_refresh_info (camel-folder.c:338) ==7946== by 0x65D544F: refresh_folder_exec (mail-ops.c:1694) ==7946== by 0x65D1142: mail_msg_proxy (mail-mt.c:471) ==7946== by 0x580D716: g_thread_pool_thread_proxy (gthreadpool.c:265) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== ==7946== ==7946== 1 errors in context 3 of 24645: ==7946== Invalid read of size 4 ==7946== at 0x5783D7A: g_type_check_instance_is_a (gtype.c:3690) ==7946== by 0xF665DD4: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:94) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0xfc85548 is not stack'd, malloc'd or (recently) free'd ==7946== ==7946== ==7946== 1 errors in context 4 of 24645: ==7946== Invalid read of size 4 ==7946== at 0x522A1A3: gtk_widget_destroy (in /usr/lib/libgtk-x11-2.0.so.0.1800.6) ==7946== by 0xF665DD4: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:94) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0xfc85548 is not stack'd, malloc'd or (recently) free'd ==7946== ==7946== ==7946== 1 errors in context 5 of 24645: ==7946== Invalid read of size 4 ==7946== at 0xF665DCA: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:94) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0xaae3c24 is 11 bytes after a block of size 137 alloc'd ==7946== at 0x4025C8C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==7946== by 0x8E8DD7F: __talloc (talloc.c:405) ==7946== by 0x8E8E039: _talloc_named_const (talloc.c:516) ==7946== by 0x8E8F196: _talloc_realloc (talloc.c:1160) ==7946== by 0x8E90434: _talloc_realloc_array (talloc.c:1871) ==7946== by 0x8E83044: iconv_talloc (charcnv.c:188) ==7946== by 0x8E835E7: convert_string_talloc_convenience (charcnv.c:343) ==7946== by 0x8D47A0B: ndr_pull_string (ndr_string.c:244) ==7946== by 0x7C931F6: pull_emsmdb_property (emsmdb.c:626) ==7946== by 0x7C93A42: emsmdb_get_SPropValue (emsmdb.c:734) ==7946== by 0x7C7BA18: GetProps (IMAPIProp.c:152) ==7946== by 0x7C35BC0: exchange_mapi_connection_fetch_items (exchange-mapi-connection.c:1345) ==7946== by 0x6B44DF6: camel_mapi_folder_fetch_summary (camel-mapi-folder.c:1022) ==7946== by 0x6B45118: mapi_refresh_folder (camel-mapi-folder.c:1129) ==7946== by 0x6B42E9C: mapi_refresh_info (camel-mapi-folder.c:166) ==7946== by 0x43DBD8C: camel_folder_refresh_info (camel-folder.c:338) ==7946== by 0x65D544F: refresh_folder_exec (mail-ops.c:1694) ==7946== by 0x65D1142: mail_msg_proxy (mail-mt.c:471) ==7946== by 0x580D716: g_thread_pool_thread_proxy (gthreadpool.c:265) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== ==7946== ==7946== 1 errors in context 6 of 24645: ==7946== Invalid write of size 4 ==7946== at 0x622B7B2: ??? (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==7946== by 0x57EB33A: g_logv (gmessages.c:519) ==7946== by 0x57EB6B6: g_log (gmessages.c:569) ==7946== by 0xF665DC6: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:93) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0x192ba310 is 0 bytes after a block of size 64 alloc'd ==7946== at 0x4024FCB: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==7946== by 0x57E9969: g_malloc0 (gmem.c:151) ==7946== by 0x622B7A1: ??? (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==7946== by 0x57EB33A: g_logv (gmessages.c:519) ==7946== by 0x57EB6B6: g_log (gmessages.c:569) ==7946== by 0xF665DC6: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:93) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== ==7946== ==7946== 1 errors in context 7 of 24645: ==7946== Invalid read of size 4 ==7946== at 0xF665DBC: mapi_settings_get_folder_size (exchange-mapi-account-settings.c:93) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== Address 0xaae3c28 is 15 bytes after a block of size 137 alloc'd ==7946== at 0x4025C8C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==7946== by 0x8E8DD7F: __talloc (talloc.c:405) ==7946== by 0x8E8E039: _talloc_named_const (talloc.c:516) ==7946== by 0x8E8F196: _talloc_realloc (talloc.c:1160) ==7946== by 0x8E90434: _talloc_realloc_array (talloc.c:1871) ==7946== by 0x8E83044: iconv_talloc (charcnv.c:188) ==7946== by 0x8E835E7: convert_string_talloc_convenience (charcnv.c:343) ==7946== by 0x8D47A0B: ndr_pull_string (ndr_string.c:244) ==7946== by 0x7C931F6: pull_emsmdb_property (emsmdb.c:626) ==7946== by 0x7C93A42: emsmdb_get_SPropValue (emsmdb.c:734) ==7946== by 0x7C7BA18: GetProps (IMAPIProp.c:152) ==7946== by 0x7C35BC0: exchange_mapi_connection_fetch_items (exchange-mapi-connection.c:1345) ==7946== by 0x6B44DF6: camel_mapi_folder_fetch_summary (camel-mapi-folder.c:1022) ==7946== by 0x6B45118: mapi_refresh_folder (camel-mapi-folder.c:1129) ==7946== by 0x6B42E9C: mapi_refresh_info (camel-mapi-folder.c:166) ==7946== by 0x43DBD8C: camel_folder_refresh_info (camel-folder.c:338) ==7946== by 0x65D544F: refresh_folder_exec (mail-ops.c:1694) ==7946== by 0x65D1142: mail_msg_proxy (mail-mt.c:471) ==7946== by 0x580D716: g_thread_pool_thread_proxy (gthreadpool.c:265) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946== ==7946== ==7946== 2 errors in context 8 of 24645: ==7946== Thread 1: ==7946== Conditional jump or move depends on uninitialised value(s) ==7946== at 0x4016CA9: ??? (in /lib/ld-2.10.1.so) ==7946== ==7946== ==7946== 3 errors in context 9 of 24645: ==7946== Thread 12: ==7946== Conditional jump or move depends on uninitialised value(s) ==7946== at 0x7C9448E: emsmdb_transaction (emsmdb.c:354) ==7946== by 0x7C89B1B: Release (IUnknown.c:149) ==7946== by 0x7C8E83B: mapi_object_release (mapi_object.c:99) ==7946== by 0x7C342EE: exchange_mapi_util_get_attachments (exchange-mapi-connection.c:763) ==7946== by 0x7C363B1: exchange_mapi_connection_fetch_item (exchange-mapi-connection.c:1514) ==7946== by 0x6B46DDB: mapi_folder_get_message (camel-mapi-folder.c:1907) ==7946== by 0x43DD185: camel_folder_get_message (camel-folder.c:1114) ==7946== by 0x43E5FF8: offline_downsync_sync (camel-offline-folder.c:114) ==7946== by 0x43F5274: session_thread_proxy (camel-session.c:590) ==7946== by 0x580D716: g_thread_pool_thread_proxy (gthreadpool.c:265) ==7946== by 0x580C093: g_thread_create_proxy (gthread.c:635) ==7946== by 0x4D9255B: start_thread (in /lib/libpthread-2.10.1.so) ==7946== by 0x4D9248F: ??? (in /lib/libpthread-2.10.1.so) ==7946==
This bug is not reproducible in master. The error producing code has been changed and working good.