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 596800 - Hang on contacts merging
Hang on contacts merging
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Contacts
2.26.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Milan Crha
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2009-09-30 02:35 UTC by Ben Roberts
Modified: 2009-09-30 08:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample address books and backtrace log (6.25 KB, application/x-bzip)
2009-09-30 02:35 UTC, Ben Roberts
  Details
proposed evo patch (2.52 KB, patch)
2009-09-30 08:48 UTC, Milan Crha
committed Details | Review

Description Ben Roberts 2009-09-30 02:35:42 UTC
Created attachment 144335 [details]
Sample address books and backtrace log

I am trying to merge two address books, which between them contain more than
one instance of the same person, so Evolution comes up with a merge dialog.

Most of the time, merging just works. However, if the contacts in question have
different numbers of email addresses (e.g., one contact has two email addresses
and the other has none), when I click the Merge button, the CPU shoots up to
100% and Evolution stops responding. Even the Merge button keeps its "pressed
in" appearance, while the background Evolution window darkens (as is typical
for an unresponsive window in Ubuntu, which I'm currently running).

For your convenience, I've attached the following:

 * test01.tar.bz2 and test02.tar.bz2. These are sample address books which
illustrate the problem; each contains one dummy record. Direction of merge is
from test01 to test02. Interestingly enough, the problem does not happen in the
reverse direction with these particular records.

 * Backtraces produced using gdb on separate runs. One for evolution itself;
the other for the evolution-data-server.
Comment 1 Ben Roberts 2009-09-30 02:36:15 UTC
On rereading, test01 and test02 are inside the main compressed archive, and are not themselves compressed. Sorry for any misdirection.
Comment 2 Milan Crha 2009-09-30 08:48:59 UTC
Created attachment 144364 [details] [review]
proposed evo patch

for evolution;

I was unable to use your addressbook.db files, but from your description I was able to reproduce the "freeze". The above patch fixes it.
Comment 3 Milan Crha 2009-09-30 08:50:15 UTC
Created commit ade4775 in evo master (2.29.1+)
Created commit 66a8cb5 in evo gnome-2-28 (2.28.1+)