Bug 664453

Summary: Evolution freezes when displaying my own contact info
Product: [Fedora] Fedora Reporter: John Keller <bugs>
Component: evolutionAssignee: Matthew Barnes <mbarnes>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: lucilanga, mbarnes, mcrha
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-05 14:33:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
backtrace with functional Evolution
none
backtrace with frozen Evolution
none
backtrace with functional Evolution
none
backtrace with frozen Evolution (second set) none

Description John Keller 2010-12-20 13:46:16 UTC
I've upgraded to Evolution from existing data (Evo 2.28 on Mandriva 2010.0 to Evo 2.32 on F14). I mention that first in case there's any bearing on this bug.

I usually browse my contacts in "Classic View" with the contact preview enabled, address books in the column on the left, contacts in a list above, and the contact preview below. Aside from a custom view that I've defined (to show three email addresses, home and mobile phones), I haven't made any customizations.

When I click on contacts in the list, contact details appear in the preview. Double-clicking in the list opens a dialog box as expected.

But when I click on my own contact info, Evo's interface freezes (I can't test double-clicks because the freeze is immediate). Stranger still, when I click on widgets in my top panel (workspace switcher, main menu, etc), I don't get any response. In fact, I can't even use the mouse in another application in the same workspace (e.g. Firefox, when I was filing this report). I also can't click on Evo's window decorations (e.g. the close button to force a quit).

However, if I switch away from Evo with Alt-Tab, then I can use another application. And if I switch to another workspace and back using the Ctrl-Alt-arrow combination, then my panel widgets start working again and I can click within other applications in the same workspace as Evolution. Nonetheless, Evo remains locked up during this time (and, upon my switching back to its workspace, doesn't repaint the client area). But at least after this little dance, I can click on Evo's close button to force quit (obviously, I can use the system monitor's list or "kill" at the command line, but this at least shows that Evo's window decorations start to work again).

I can use the clock's calendar an see my calendar items within it for any month (that is, once I've moved to another workspace as detailed above). So EDS seems to continue to work during this time.


I'm not certain if this bug has been present since I first upgraded to F14 + Evo 2.32, if it's since I've added e.g. an icon for myself via Gnome's "About Me" capplet, or since some other upgrade or operation.

(N.B. Despite having it in my Mandriva install - and the data that came from it - my contact icon didn't show up in Gnome's screen lock until I reselected it from within the capplet. But this may be a red herring, for two reasons: 1) the "About Me" capplet presumably sets the icon in more than one place, besides via EDS, and 2) my upgrade method was to rename my old home directory, install F14 with an empty home directory, and move my old data in piece-by-piece. I preferred upgrading this way because I upgraded hard drive at the same time and didn't want to move all my data over.)


I can duplicate this bug every time I try, whether the list has a search filter or not, whether the list uses my custom view (list view with different columns) or a built-in view (I've tested list view and card view).

Comment 1 Milan Crha 2010-12-21 10:10:27 UTC
Thanks for a bug report. What was the image type you assigned to your contact, please? (jpeg, png, ...)

The reason why the mouse stops responding is that the double click locks it (and I think it locks it because it thinks you would want to drag&drop, not only double click, but anyway). You can alternatively right click above the contact and choose "Open".

Could you get a backtrace of a frozen evolution, please? You can do that by this command:
   $ gdb --batch --ex "t a a bt" -pid=PID &>evo.txt
where PID is a process ID of the running evolution. The evo.txt file will contain the captured backtrace. Please make sure you'll have installed debug info packages for evolution-data-server, evolution and gtkhtml3. Thanks in advance.

Comment 2 John Keller 2010-12-21 15:08:14 UTC
Hi, Milan. Thanks for the fast reply! Answering your questions in order...

The image is just one from the standard Gnome selection, a JEPG image:
  /usr/share/pixmaps/faces/lightning.jpg


I'm not sure that the mouse stops because of a double-click capture. Even a single click gave me the same result (and I confirmed again today). Right clicking gives the same result, but even worse: because the menu appears, but the system no longer recognizes the mouse clicks, I can't click to dismiss the menu. Nor could I use Ctrl-Alt-arrow to go to another workspace, or use Ctrl-Alt-Fx to go to a text console. And since I leave Ctrl-Alt-Backspace disabled, I had to do a hard reset on my computer to reboot...

I'll attach the backtrace next. I installed evolution-data-server-debuginfo, evolution-debuginfo, and gtkhtml3-debuginfo - all version 2.32.1-1.fc14, the same as the normal packages. There still seem to be some undefined symbols (if that's the right term, I only know enough to be dangerous), so please let me know if you'd like me to install any other debuginfo packages and do another backtrace.

Note that I'm actually going to attach two backtraces: one reight before, and one right after the freeze. The only difference is that I clicked on my own contact between the two.

Comment 3 John Keller 2010-12-21 15:09:38 UTC
Created attachment 469996 [details]
backtrace with functional Evolution

At the moment of this backtrace, I was viewing the contact list and the contact immediately above mine was selected. Evo was responsive and usable.

Comment 4 John Keller 2010-12-21 15:11:02 UTC
Created attachment 469997 [details]
backtrace with frozen Evolution

Right after the previous backtrace, I clicked on my contact info within the contact list. Evo duly froze, I went to another workspace so I could click with my mouse again, and made this backtrace.

Comment 5 John Keller 2010-12-21 15:13:10 UTC
(In reply to comment #2)
> The image is just one from the standard Gnome selection, a JEPG image:
>   /usr/share/pixmaps/faces/lightning.jpg

Bah, I mean "a JPEG image". But maybe Evo froze because it expected a JEPG image. :-D

Comment 6 John Keller 2010-12-22 10:08:42 UTC
I've just been able to reproduce the same freeze with another contact, only this time there isn't an image involved. At least, there shouldn't be (I don't use images for any contacts other than my own, and that's only a side effect of my having picked one in the Gnome "About Me" capplet).

However, looking at the diff between the "good" and "frozen" backtraces for this contact, there seems to be the same problem as with my own contact info: image functions (for example, one in libgdk_pixbuf) are being called. Strange, considering as I mentioned that this contact doesn't have an associated image...

Comment 7 John Keller 2010-12-22 10:10:34 UTC
Created attachment 470174 [details]
backtrace with functional Evolution

As before, this is the first of a pair of backtraces. Here, I've filtered the contact list to include only the contact that causes the freeze and two other contacts with the same last name.

Comment 8 John Keller 2010-12-22 10:12:38 UTC
Created attachment 470175 [details]
backtrace with frozen Evolution (second set)

As before, this is the second of a pair of backtraces. Here, I've clicked on a contact in a filtered list of three. Just as with my own contact info, clicking on this item immediately causes a freeze (before the list item is even displayed as selected).

Comment 9 John Keller 2010-12-27 23:13:31 UTC
Eureka! Well, at least I think so...

Going through addresses for holiday cards, I ran into a few other contacts where selecting them in the contact list would freeze Evolution. And they're disparate - contacts from my wife to friends with essentially full vcards to friends with minimal info. There didn't seem to be a pattern.

Except... I use Pidgin and the Evolution Integration plugin. For every contact I have in Pidgin from a random selection (i.e. I didn't test everyone), selecting their info in the Evo contact list will freeze Evo.

This would explain the crash when selecting my own contact, too: I store my own chat IDs in Evo contact fields, and have a test MSN account besides my main MSN account. The test account refers to my main MSN account and vice-versa (so that I can see my presence in account "A" from account "B", and the other way around).

Neither disabling (via Pidgin) nor removing (the RPM, via yum) the Pidgin Evolution plugin made a difference within Evolution. I'm guessing that some information was written back into the EDS data store that is persistent. That makes sense, since Evo crashed in the earlier tests even when I wasn't running Pidgin.

I'm guessing that Pidgin has written the chat avatar image to the EDS data store, or at least some flag which indicates that there's an image even if one isn't saved. That would make sense, since the two pairs of backtraces I attached both indicate a freeze in getting some graphic info.

Please let me know if there are any tests I could do that would help you zero in on the source, so that we know if it's a bug that needs to be fixed in Evolution ("strict in what you write, flexible in what you read"?) or in Pidgin ("stop writing unexpected values"), or both...

Comment 10 Milan Crha 2011-01-05 14:33:31 UTC
Thanks for the update. I believe it's the same issue as the upstream bug [1]. Please CC yourself there, maybe the developers will ask for a backtrace of evolution with gtk2, glib2 and gdk-pixbuf debug-info packages installed. It'll be great if you could write there your versions of these packages too. Thanks in advance.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=473862