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 634422 - Evolution using exchange plugin, just hangs getting email
Evolution using exchange plugin, just hangs getting email
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: HTTP Transport
2.32.x
Other Linux
: Normal critical
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2010-11-09 15:14 UTC by Milan Crha
Modified: 2010-12-05 16:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed ls patch (756 bytes, patch)
2010-11-23 10:18 UTC, Milan Crha
none Details | Review
SoupSessionSync: fix messages getting stuck forever (5.98 KB, patch)
2010-11-23 18:09 UTC, Dan Winship
none Details | Review

Description Milan Crha 2010-11-09 15:14:56 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=650203

When starting up exchange, it will start looking for
new mail, somtimes goes to 100% and then does nothing.  


Version-Release number of selected component (if applicable): 2-32


How reproducible: Start up evolution


Steps to Reproduce:
1. Connect to an exchange email system
2. Let it start to get mail
3. Watch it just sit there and do nothing

Actual results:
Not Able to use Evolution instead of outlook

Expected results:
Able to use Evolution instead of outlook.

Additional info:
This is an upgrade of Fedora 13 to Fedora 14.  Fedora 13 exchange still working
fine.  Have tried gdb debugging and loading in terminal.  Shows nothing
helpful.  Just stops, still shows like it is trying.

Thread 3 (Thread 0x9ddfab70 (LWP 5923))

  • #0 __kernel_vsyscall
  • #1 pthread_cond_wait
    at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S line 169
  • #2 process_queue_item
    at soup-session-sync.c line 280
  • #3 send_message
    at soup-session-sync.c line 365
  • #4 soup_session_send_message
    at soup-session.c line 1575
  • #5 e2k_context_send_message
    at e2k-context.c line 930
  • #6 search_fetch
    at e2k-context.c line 1922
  • #7 iter_fetch
    at e2k-result.c line 471
  • #8 e2k_result_iter_new
    at e2k-result.c line 526
  • #9 e2k_context_search_start
    at e2k-context.c line 1995
  • #10 e_folder_exchange_search_start
    at e-folder-exchange.c line 729
  • #11 get_folder_contents_online
    at camel-exchange-utils.c line 921
  • #12 get_folder_contents_online_func
    at camel-exchange-utils.c line 1103
  • #13 g_thread_create_proxy
    at gthread.c line 1897
  • #14 start_thread
    at pthread_create.c line 301
  • #15 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Comment 1 Bojan Smojver 2010-11-23 01:22:47 UTC
Any ideas when can this be addressed? I think I must have open/closed Evo 20 times this morning alone... :-(
Comment 2 Milan Crha 2010-11-23 10:18:50 UTC
Created attachment 175099 [details] [review]
proposed ls patch

for libsoup;

I'm not sure, but I would use the timed wait on the priv->cond, to test the connection itself again in some time manner - I chose 250 ms. From what I saw in the code, the priv->cond is signalled only from cancel_message function, and nowhere else. I though to add signalling on various other places, especially where the item's state is changed, but then I realized (though it's possible I overlooked something) that the process_queue_item cannot be called simultaneously for one item, thus the timed wait was my option.
Comment 3 Dan Winship 2010-11-23 18:09:11 UTC
Created attachment 175118 [details] [review]
SoupSessionSync: fix messages getting stuck forever

> but then I realized (though it's possible I
> overlooked something) that the process_queue_item cannot be called
> simultaneously for one item

It doesn't matter; the cond is per-session, not per-item, so it will
finish waiting when some other item signals it.

This should fix it. I'm building f14 packages with this patch now to
test, and I'll add a pointer to the RH bug when they're ready
Comment 4 Bojan Smojver 2010-11-24 22:22:07 UTC
Can't hang Evo here any more, after about 24 hrs of mistreatment of it. So, looks like this fixed it.
Comment 5 Dan Winship 2010-12-05 16:18:26 UTC
forgot to close this; fixed in 2.32.2