GNOME Bugzilla – Bug 620234
Invalid writes during free/busy
Last modified: 2010-12-06 15:31:32 UTC
evolution 2.31.3 While scheduling the meeting, i see invalid writes under valgrind after clicking on free/busy button. (evolution:10403): Gdk-CRITICAL **: gdk_window_set_cursor: assertion `GDK_IS_WINDOW (window)' failed ==10403== Invalid write of size 4 ==10403== at 0x62D67B2: ??? (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==10403== by 0x582EF1A: g_logv (gmessages.c:519) ==10403== by 0x582F296: g_log (gmessages.c:569) ==10403== by 0x69750F7: e_meeting_time_selector_refresh_free_busy (e-meeting-time-sel.c:1491) ==10403== by 0x69E10C0: schedule_page_update_free_busy (schedule-page.c:459) ==10403== by 0x69CC036: create_schedule_page (event-editor.c:148) ==10403== by 0x69CC170: action_free_busy_cb (event-editor.c:181) ==10403== by 0x57A5FFB: g_cclosure_marshal_VOID__VOID (gmarshal.c:77) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248) ==10403== by 0x57AE280: g_signal_emit_valist (gsignal.c:2981) ==10403== by 0x57AE716: g_signal_emit (gsignal.c:3038) ==10403== Address 0xf3da4c8 is 0 bytes after a block of size 64 alloc'd ==10403== at 0x4026FCB: calloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==10403== by 0x582D409: g_malloc0 (gmem.c:152) ==10403== by 0x62D67A1: ??? (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==10403== by 0x582EF1A: g_logv (gmessages.c:519) ==10403== by 0x582F296: g_log (gmessages.c:569) ==10403== by 0x69750F7: e_meeting_time_selector_refresh_free_busy (e-meeting-time-sel.c:1491) ==10403== by 0x69E10C0: schedule_page_update_free_busy (schedule-page.c:459) ==10403== by 0x69CC036: create_schedule_page (event-editor.c:148) ==10403== by 0x69CC170: action_free_busy_cb (event-editor.c:181) ==10403== by 0x57A5FFB: g_cclosure_marshal_VOID__VOID (gmarshal.c:77) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248)
It's common across providers because i have seen it with owa connector as well as with mapi.
Some more ==10403== Invalid read of size 1 ==10403== at 0x4028F47: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==10403== by 0x584A172: g_str_equal (gstring.c:116) ==10403== by 0x581535D: g_hash_table_lookup (ghash.c:327) ==10403== by 0x696F8D8: refresh_busy_periods (e-meeting-store.c:1314) ==10403== by 0x58228EF: g_idle_dispatch (gmain.c:4065) ==10403== by 0x582487D: g_main_context_dispatch (gmain.c:1960) ==10403== by 0x58285B7: g_main_context_iterate (gmain.c:2591) ==10403== by 0x5828AC6: g_main_loop_run (gmain.c:2799) ==10403== by 0x510A408: gtk_main (gtkmain.c:1219) ==10403== by 0x804B0ED: main (main.c:609) ==10403== Address 0x12cf0eb0 is 8 bytes inside a block of size 24 free'd ==10403== at 0x40278A6: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==10403== by 0x582D285: g_free (gmem.c:191) ==10403== by 0x696A597: attendee_edited_cb (e-meeting-list-view.c:422) ==10403== by 0x4485C22: e_marshal_VOID__STRING_POINTER_POINTER (e-marshal.c:2147) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248) ==10403== by 0x57AE280: g_signal_emit_valist (gsignal.c:2981) ==10403== by 0x57AE716: g_signal_emit (gsignal.c:3038) ==10403== by 0x57A5FFB: g_cclosure_marshal_VOID__VOID (gmarshal.c:77) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248) ==10403== by 0x57AE280: g_signal_emit_valist (gsignal.c:2981) ==10403== ==10403== Thread 6: ==10403== Invalid read of size 1 ==10403== at 0x4028F2B: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==10403== by 0x584A172: g_str_equal (gstring.c:116) ==10403== by 0x581535D: g_hash_table_lookup (ghash.c:327) ==10403== by 0x696D745: refresh_queue_remove (e-meeting-store.c:528) ==10403== by 0x696EE67: process_callbacks (e-meeting-store.c:1026) ==10403== by 0x696F835: freebusy_async (e-meeting-store.c:1286) ==10403== by 0x584F843: g_thread_create_proxy (gthread.c:1893) ==10403== by 0x4DA0B24: start_thread (in /lib/libpthread-2.11.2.so) ==10403== by 0x599847D: clone (in /lib/libc-2.11.2.so) ==10403== Address 0x12cf0eaf is 7 bytes inside a block of size 24 free'd ==10403== at 0x40278A6: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==10403== by 0x582D285: g_free (gmem.c:191) ==10403== by 0x696A597: attendee_edited_cb (e-meeting-list-view.c:422) ==10403== by 0x4485C22: e_marshal_VOID__STRING_POINTER_POINTER (e-marshal.c:2147) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248) ==10403== by 0x57AE280: g_signal_emit_valist (gsignal.c:2981) ==10403== by 0x57AE716: g_signal_emit (gsignal.c:3038) ==10403== by 0x57A5FFB: g_cclosure_marshal_VOID__VOID (gmarshal.c:77) ==10403== by 0x5798251: g_closure_invoke (gclosure.c:767) ==10403== by 0x57ACCC9: signal_emit_unlocked_R (gsignal.c:3248) ==10403== by 0x57AE280: g_signal_emit_valist (gsignal.c:2981)
Created attachment 175925 [details] [review] evo patch for evolution; I can reproduce the second, but I cannot reproduce the first. It might be because I do not have that critical warning. Seeing place of the g_log call, maybe an older glib or gtk issue while printing the string, which is probably fixed now.
Created commit 750abd6 in evo master (2.91.4+)