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 692373 - [abrt] Crash when using finalizing connection
[abrt] Crash when using finalizing connection
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Mail
3.6.x
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2013-01-23 10:58 UTC by Milan Crha
Modified: 2013-02-04 18:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ema patch (25.85 KB, patch)
2013-02-04 18:50 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2013-01-23 10:58:36 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=903051

Description of problem:
I was moving around folders when evolution crashed

Version-Release number of selected component:
evolution-3.6.2-3.fc18

Additional info:
backtrace_rating: 4
cmdline:        /usr/bin/evolution
crash_function: g_thread_abort
executable:     /usr/bin/evolution
kernel:         3.7.2-204.fc18.x86_64

Core was generated by `/usr/bin/evolution'.
Program terminated with signal 6, Aborted.

Thread 11 (Thread 0x7f532ee74700 (LWP 26995))

  • #0 _int_free
    at malloc.c line 3928
  • #1 _talloc_free_internal
    at ../talloc.c line 876
  • #2 _talloc_free_children_internal
    at ../talloc.c line 1255
  • #3 _talloc_free_internal
    at ../talloc.c line 846
  • #4 _talloc_free_children_internal
    at ../talloc.c line 1255
  • #5 _talloc_free_internal
    at ../talloc.c line 846
  • #6 _talloc_free_children_internal
    at ../talloc.c line 1255
  • #7 _talloc_free_internal
    at ../talloc.c line 846
  • #8 _talloc_free_children_internal
    at ../talloc.c line 1255
  • #9 _talloc_free_internal
    at ../talloc.c line 846
  • #10 _talloc_free_children_internal
    at ../talloc.c line 1255
  • #11 _talloc_free_internal
    at ../talloc.c line 846
  • #12 e_mapi_utils_destroy_mapi_context
    at e-mapi-utils.c line 1134
  • #13 e_mapi_connection_finalize
    at e-mapi-connection.c line 434
  • #14 g_object_unref
    at gobject.c line 3023
  • #15 mapi_disconnect_sync
    at camel-mapi-store.c line 2219
  • #16 service_disconnect_thread
    at camel-service.c line 824
  • #17 run_in_thread
    at gsimpleasyncresult.c line 869
  • #18 io_job_thread
    at gioscheduler.c line 162
  • #19 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #20 g_thread_proxy
    at gthread.c line 797
  • #21 start_thread
    at pthread_create.c line 308
  • #22 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 114

Thread 1 (Thread 0x7f532e673700 (LWP 26984))

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 63
  • #1 __GI_abort
    at abort.c line 90
  • #2 g_thread_abort
    at gthread-posix.c line 76
  • #3 g_mutex_lock
    at gthread-posix.c line 211
  • #4 e_mapi_cancellable_rec_mutex_lock
    at e-mapi-utils.c line 96
  • #5 e_mapi_connection_open_personal_folder
    at e-mapi-connection.c line 1122
  • #6 cmf_open_folder
    at camel-mapi-folder.c line 81
  • #7 mapi_folder_synchronize_sync
    at camel-mapi-folder.c line 1702
  • #8 mapi_refresh_folder
    at camel-mapi-folder.c line 915
  • #9 camel_folder_refresh_info_sync
    at camel-folder.c line 3991
  • #10 refresh_folders_exec
    at mail-send-recv.c line 1049
  • #11 mail_msg_proxy
    at mail-mt.c line 423
  • #12 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #13 g_thread_proxy
    at gthread.c line 797
  • #14 start_thread
    at pthread_create.c line 308
  • #15 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 114

Comment 1 Milan Crha 2013-01-23 10:59:38 UTC
The problem is that the Thread 1 is using a connection which is in its e_mapi_connection_finalize() in Thread 11.
Comment 2 Milan Crha 2013-02-04 18:50:50 UTC
Created attachment 235161 [details] [review]
ema patch

for evolution-mapi;

This should make it. Basically ref the connection object before using it, thus it'll not disappear in a different thread while being used.
Comment 3 Milan Crha 2013-02-04 18:52:48 UTC
Created commit e44c8c0 in ema master (3.7.90+)
Created commit da62a92 in ema gnome-3-6 (3.6.4+)