GNOME Bugzilla – Bug 478038
Tried to create a meeting on the Exchange server, and Evo crashed when adding an address
Last modified: 2010-07-02 02:00:11 UTC
Steps to reproduce: 1. Select a time in the Evo calendar 2. Right click, use "New Meeting" to create a meeting 3. Click "Attendees" button to get the attendees dialog 4. Change the address book to "Global Address List" 5. Enter a name; in my case it was a mailing list name. 6. In the "Contacts" list select the name and add it to the "Optional Participants" list. Strangely, it showed up with <?> as the email address even though I can send normal email to that address 7. Click "Close". Core dump Stack trace: (gdb) bt
+ Trace 163751
(gdb) p uri $2 = 0x0 Whoops!! Other information: This is reproducible. I've built the latest versions on the branches/gnome-2-20 branch in SVN for Evo and all components (libsoup, gtkhtml, e-d-s, evo, evo-exchange, evo-webcal) as of the end of the day on 17 Sep 2007.
is this still an issue?
Yes, this still happens with a build from the SVN trunk as of about 8pm tonight (03 Jan 2008). Not on every address, but there's at least one where it happens consistently. Exact same symptoms as above. I include a new stack trace but the problem is the same (NULL uri being passed to g_str_equal()): (gdb) bt
+ Trace 184005
$1 = 0x0
Paul, can you do a *b and *b->priv on gdb and paste the o/p here? Also what are the books you have for autocompletion?
Sure: Core was generated by `/opt/evo/bin/evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 186309
$1 = {parent = {g_type_instance = {g_class = 0x87a6218}, ref_count = 2, qdata = 0x9469a60}, priv = 0x94df760} (gdb) p *b->priv $2 = {cap = 0x0, cap_queried = 0, writable = 0, connected = 1, listener = 0x94df260, comp_listener = 0x9489e20, corba_book = 0x94596a0, load_state = E_BOOK_SOURCE_LOADED, pending_idles = 0x0, id_to_op = 0x946b9c0, current_op_id = 7, mutex = 0x9458888, uri = 0x9470e38 "gal://psmith;auth=NTLM@webmail.mycorp.com/gal", source = 0x93e1ad0, listener_signal = 35636, died_signal = 35637, writable_idle_id = 0, connection_idle_id = 0, auth_idle_id = 0} (gdb) I have the Exchange global address list, the Exchange contacts list, and my personal (local) contacts list enabled for autocompletion. Does it matter what I have selected for this? When I'm using the Attendees dialog it has me select a specific book (note this core does NOT happen if you add attendees directly to the meeting; you have to click the Attendees button to get the attendees dialog).
can you do a p *uri , *contact *contact->priv . Sorry to bug you much.
Well, (see above) uri is NULL (that's why we have a core) so *uri doesn't do much :-) (gdb) p contact $1 = (EContact *) 0x8e69a60 (gdb) p *contact $2 = {parent = {parent = {g_type_instance = {g_class = 0x8879b78}, ref_count = 2, qdata = 0x0}, priv = 0x946a018}, priv = 0x94bcc00} (gdb) p *contact->priv $3 = {cached_strings = {0x0, 0x949c2e0 "CN=ADDR,CN=Users,DC=mycorp,DC=com", 0x94df970 "ADDR", 0x0 <repeats 116 times>}} (gdb) p uri $4 = 0x0 where ADDR is the "short name" of the mailing list I'm adding to the attendees list.
Hmm, that says why it was crashing. Thx paul. I'll see if I can reproduce it.
I cannot reproduce it, and I do not know why. I tried what I thought it would help with reproducibility, but no way. Paul, do you remember from which address book you get the contact. I tried creating a contact list on the Exchange calendar, but no luck. And doing same on local address book doesn't cause a crash. From the code itself, it uses a contact's value E_CONTACT_BOOK_URI, and similar code can be found in evolution/calendar/gui/dialogs/memo-page.c , but these are only two places using this value. Same as in EDS, this values sets only groupwise backend, so it's obvious why it came to be NULL. (I checked for direct usages of this values, I doubt there is any indirect usage).
NEEDINFO, awaiting a response on comment#8 Paul, could you please try against evolution 2.28.3 or evolution 2.30.0 and report back, thanks.
Paul, could you address questions raised in comment #8?
Please feel free to reopen the bug if the problem still occurs with a newer version of GNOME 2.30.2 or later, thanks.