Invalid read of size 4 in folks_potential_match_potential_match
Steps to reproduce:
- start gnome-contacts in valgrind using
$ G_DEBUG=gc-friendly G_SLICE=always-malloc,debug-blocks /usr/bin/valgrind --track-origins=yes --vgdb=full --vgdb-error=0 /usr/bin/gnome-contacts
- attach gdb to it using
$ gdb /usr/bin/gnome-contacts
- in gdb, attach to vgdb by executing
(gdb) target remote | vgdb
followed by(gdb) continue
- wait for the gnome-contacts window to appear
- click any contact
What happens:
==20356== Invalid read of size 4
==20356== at 0x48C2003: _folks_potential_match_matches (potential-match.c:2168)
==20356== by 0x48C2003: _folks_potential_match_jaro_dist (potential-match.c:1890)
==20356== by 0x48C268E: _folks_potential_match_look_alike_or_identical (potential-match.c:1715)
==20356== by 0x48C318F: _folks_potential_match_name_similarity (potential-match.c:685)
==20356== by 0x48C318F: folks_potential_match_potential_match (potential-match.c:516)
==20356== by 0x48B60A6: folks_individual_aggregator_get_potential_matches (individual-aggregator.c:2244)
==20356== by 0x1366AF: contacts_contact_pane_show_contact_sheet (contacts-contact-pane.vala:128)
==20356== by 0x149A24: contacts_window_set_shown_contact (contacts-window.vala:281)
==20356== by 0x14A114: contacts_window_list_pane_selection_changed_cb (contacts-window.vala:362)
==20356== by 0x14A114: _contacts_window_list_pane_selection_changed_cb_contacts_list_pane_selection_changed (contacts-window.vala:168)
==20356== by 0x49D73DC: g_closure_invoke (gclosure.c:810)
==20356== by 0x49EA982: signal_emit_unlocked_R (gsignal.c:3635)
==20356== by 0x49F3AA9: g_signal_emit_valist (gsignal.c:3391)
==20356== by 0x49F40A2: g_signal_emit (gsignal.c:3447)
==20356== by 0x49D73DC: g_closure_invoke (gclosure.c:810)
==20356== Address 0x2017aff4 is 0 bytes after a block of size 68 alloc'd
==20356== at 0x483AB1A: calloc (vg_replace_malloc.c:762)
==20356== by 0x4A70E1D: g_malloc0 (gmem.c:129)
==20356== by 0x48C23EF: _folks_potential_match_strip_string (potential-match.c:2078)
==20356== by 0x48C265F: _folks_potential_match_look_alike_or_identical (potential-match.c:1702)
==20356== by 0x48C318F: _folks_potential_match_name_similarity (potential-match.c:685)
==20356== by 0x48C318F: folks_potential_match_potential_match (potential-match.c:516)
==20356== by 0x48B60A6: folks_individual_aggregator_get_potential_matches (individual-aggregator.c:2244)
==20356== by 0x1366AF: contacts_contact_pane_show_contact_sheet (contacts-contact-pane.vala:128)
==20356== by 0x149A24: contacts_window_set_shown_contact (contacts-window.vala:281)
==20356== by 0x14A114: contacts_window_list_pane_selection_changed_cb (contacts-window.vala:362)
==20356== by 0x14A114: _contacts_window_list_pane_selection_changed_cb_contacts_list_pane_selection_changed (contacts-window.vala:168)
==20356== by 0x49D73DC: g_closure_invoke (gclosure.c:810)
==20356== by 0x49EA982: signal_emit_unlocked_R (gsignal.c:3635)
==20356== by 0x49F3AA9: g_signal_emit_valist (gsignal.c:3391)
See also the attached backtrace generated from (gdb) bt
and (gdb) t a a bt full
.
What should happen: No "Invalid read of size 4".
Additional information: This issue happens several times in a row with the same backtrace.
Installed software versions: folks-0.11.4-8.fc29.x86_64 gnome-contacts-3.30.2-1.fc29.x86_64 glib2-2.58.3-1.fc29.x86_64
Edited by Christian Stadelmann