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 574957 - soup-session-sync doesn't unlock mutex on proxy error
soup-session-sync doesn't unlock mutex on proxy error
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: HTTP Transport
2.25.x
Other Linux
: Normal critical
: ---
Assigned To: Milan Crha
Ximian Connector QA
: 579140 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-03-11 15:52 UTC by Pedro Villavicencio
Modified: 2009-04-21 12:49 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
proposed ls patch (1006 bytes, patch)
2009-03-25 17:41 UTC, Milan Crha
none Details | Review

Description Pedro Villavicencio 2009-03-11 15:52:03 UTC
this report has been filed here:

https://bugs.edge.launchpad.net/ubuntu/+source/evolution-exchange/+bug/340785

"When I start evolution 2.25.92-0ubuntu2 from Jaunty, unless I use --disable-eplugin on the command line, it crashes immediately. Upon startup with --disable-eplugin, I can't retrieve my email from the server (MS Exchange, using evolution-exchange-storage). Also, it killed the GNOME keyring daemon when attempting to connect to Exchange after asking for my password."

".

Thread 1 (process 31505)

  • #0 IA__g_logv
  • #1 IA__g_log
  • #2 g_mutex_free_posix_impl
    at /build/buildd/glib2.0-2.19.10/gthread/gthread-posix.c line 171
  • #3 finalize
    at soup-session-sync.c line 72
  • #4 IA__g_object_unref
    at /build/buildd/glib2.0-2.19.10/gobject/gobject.c line 2421
  • #5 dispose
    at e2k-context.c line 211
  • #6 IA__g_object_unref
    at /build/buildd/glib2.0-2.19.10/gobject/gobject.c line 2393
  • #7 e2k_autoconfig_get_context
    at e2k-autoconfig.c line 611
  • #8 exchange_account_connect
    at exchange-account.c line 1451
  • #9 open_calendar
    at e-cal-backend-exchange.c line 419
  • #10 open_calendar
    at e-cal-backend-exchange-calendar.c line 583
  • #11 e_cal_backend_sync_open
    at e-cal-backend-sync.c line 186
  • #12 _e_cal_backend_open
    at e-cal-backend-sync.c line 706
  • #13 e_cal_backend_open
    at e-cal-backend.c line 613
  • #14 impl_Cal_open
    at e-data-cal.c line 80
  • #15 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_open
    at Evolution-DataServer-Calendar-common.c line 44
  • #16 ORBit_POAObject_invoke
    at poa.c line 1148
  • #17 ORBit_OAObject_invoke
    at orbit-adaptor.c line 340
  • #18 ORBit_small_invoke_adaptor
    at orbit-small.c line 846
  • #19 ORBit_POAObject_handle_request
    at poa.c line 1357
  • #20 ORBit_POAObject_invoke_incoming_request
    at poa.c line 1427
  • #21 giop_thread_queue_process
    at giop.c line 792
  • #22 giop_request_handler_thread
    at giop.c line 502
  • #23 g_thread_pool_thread_proxy
    at /build/buildd/glib2.0-2.19.10/glib/gthreadpool.c line 265
  • #24 g_thread_create_proxy
    at /build/buildd/glib2.0-2.19.10/glib/gthread.c line 635
  • #25 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #26 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 130

Comment 1 Akhil Laddha 2009-03-12 10:11:36 UTC
could be related to bug 544110
Comment 2 Milan Crha 2009-03-25 17:37:49 UTC
(In reply to comment #1)
> could be related to bug 544110
> 

This bug is crashing in libsoup, yours in eex itself. Both because the mutex is locked at the moment of the object finalization, which means someone uses it.

I see from the trace that the messages' status was 3, which is SOUP_STATUS_CANT_RESOLVE_PROXY and looking into the code, the libsoup has there a bug. See the patch below.
Comment 3 Milan Crha 2009-03-25 17:41:07 UTC
Created attachment 131358 [details] [review]
proposed ls patch

for libsoup;

Just a typo in the code, I would say.
Comment 4 Milan Crha 2009-03-25 17:47:14 UTC
*** Bug 515158 has been marked as a duplicate of this bug. ***
Comment 5 Dan Winship 2009-03-25 18:03:28 UTC
Oops. Yes, the patch is basically correct. But flip the two lines around so that it unlocks before cancelling. (Cancellation might trigger callbacks which might try to make other SoupSession calls). Please commit it with that change. Thanks.
Comment 6 Milan Crha 2009-03-26 09:23:03 UTC
Slightly modified committed to trunk. Committed revision 1254.

I do not know whether you branched already or not, thus only to trunk.
Comment 7 Anton Keks 2009-04-21 12:49:21 UTC
*** Bug 579140 has been marked as a duplicate of this bug. ***