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 664639 - [IMAPX] Doesn't quit gracefully on account disable
[IMAPX] Doesn't quit gracefully on account disable
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.4.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 664670 665979 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-11-23 12:38 UTC by Akhil Laddha
Modified: 2013-09-14 16:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (752 bytes, patch)
2012-04-27 09:23 UTC, Milan Crha
committed Details | Review

Description Akhil Laddha 2011-11-23 12:38:14 UTC
Evolution 3.3.3

1. Disable imapx account
2. Quit evolution
3. Status bar says 'Disconnecting IMAP server ... '
4. Even after waiting for 10 minutes, evolution didn't quit

gdb trace of evolution

(evolution:14966): camel-CRITICAL **: camel_folder_get_parent_store: assertion `CAMEL_IS_FOLDER (folder)' failed

(evolution:14966): camel-CRITICAL **: camel_service_get_session: assertion `CAMEL_IS_SERVICE (service)' failed

(evolution:14966): camel-CRITICAL **: camel_folder_get_parent_store: assertion `CAMEL_IS_FOLDER (folder)' failed

(evolution:14966): camel-CRITICAL **: camel_service_get_session: assertion `CAMEL_IS_SERVICE (service)' failed

(evolution:14966): camel-CRITICAL **: camel_folder_get_parent_store: assertion `CAMEL_IS_FOLDER (folder)' failed

(evolution:14966): camel-CRITICAL **: camel_service_get_session: assertion `CAMEL_IS_SERVICE (service)' failed

(evolution:14966): camel-CRITICAL **: camel_folder_get_parent_store: assertion `CAMEL_IS_FOLDER (folder)' failed

(evolution:14966): camel-CRITICAL **: camel_service_get_session: assertion `CAMEL_IS_SERVICE (service)' failed
^C
Program received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:170
170	../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(gdb) t a a bt

Thread 2 (Thread 0xb5e4ab70 (LWP 14967))

  • #0 read
    at ../sysdeps/unix/syscall-template.S line 82
  • #1 read
    at /usr/include/bits/unistd.h line 45
  • #2 unix_signal_helper_thread
    at gmain.c line 4551
  • #3 g_thread_create_proxy
    at gthread.c line 1962
  • #4 start_thread
    at pthread_create.c line 301
  • #5 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Thread 1 (Thread 0xb6125890 (LWP 14966))

  • #0 pthread_cond_wait
    at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S line 170
  • #1 sync_push_request
    at camel-db.c line 154
  • #2 camel_sqlite3_file_xClose
    at camel-db.c line 245
  • #3 ??
    from /usr/lib/libsqlite3.so.0
  • #4 ??
    from /usr/lib/libsqlite3.so.0
  • #5 ??
    from /usr/lib/libsqlite3.so.0
  • #6 ??
    from /usr/lib/libsqlite3.so.0
  • #7 ??
    from /usr/lib/libsqlite3.so.0
  • #8 ??
    from /usr/lib/libsqlite3.so.0
  • #9 ??
    from /usr/lib/libsqlite3.so.0
  • #10 ??
    from /usr/lib/libsqlite3.so.0
  • #11 sqlite3_step
    from /usr/lib/libsqlite3.so.0
  • #12 sqlite3_exec
    from /usr/lib/libsqlite3.so.0
  • #13 cdb_sql_exec
    at camel-db.c line 408
  • #14 camel_db_end_transaction
    at camel-db.c line 662
  • #15 vee_folder_dispose
    at camel-vee-folder.c line 951
  • #16 g_object_unref
    at gobject.c line 2709
  • #17 signal_data_free
    at camel-store.c line 120
  • #18 g_source_callback_unref
    at gmain.c line 1324
  • #19 g_source_callback_unref
    at gmain.c line 1316
  • #20 g_source_destroy_internal
    at gmain.c line 993
  • #21 g_main_dispatch
    at gmain.c line 2450
  • #22 g_main_context_dispatch
    at gmain.c line 2995
  • #23 g_main_context_iterate
    at gmain.c line 3073
  • #24 g_main_loop_run
    at gmain.c line 3281
  • #25 gtk_main
    at gtkmain.c line 1362
  • #26 main
    at main.c line 675

Comment 1 Akhil Laddha 2011-11-23 12:39:07 UTC
Similar case happened again.

Thread 2 (Thread 0xb5e4ab70 (LWP 12825))

  • #0 read
    at ../sysdeps/unix/syscall-template.S line 82
  • #1 read
    at /usr/include/bits/unistd.h line 45
  • #2 unix_signal_helper_thread
    at gmain.c line 4551
  • #3 g_thread_create_proxy
    at gthread.c line 1962
  • #4 start_thread
    at pthread_create.c line 301
  • #5 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Comment 2 Akhil Laddha 2011-11-23 12:41:03 UTC
gdb trace for critical warnings

(gdb) bt
  • #0 g_logv
    at gmessages.c line 456
  • #1 g_log
    at gmessages.c line 591
  • #2 g_return_if_fail_warning
  • #3 camel_folder_get_parent_store
    at camel-folder.c line 1917
  • #4 cfs_try_release_memory
    at camel-folder-summary.c line 1962
  • #5 g_timeout_dispatch
    at gmain.c line 3891
  • #6 g_main_dispatch
    at gmain.c line 2425
  • #7 g_main_context_dispatch
    at gmain.c line 2995
  • #8 g_main_context_iterate
    at gmain.c line 3073
  • #9 g_main_loop_run
    at gmain.c line 3281
  • #10 gtk_main
    at gtkmain.c line 1362
  • #11 main
    at main.c line 675
  • #0 g_logv
    at gmessages.c line 456
  • #1 g_log
    at gmessages.c line 591
  • #2 g_return_if_fail_warning
  • #3 camel_service_get_session
    at camel-service.c line 978
  • #4 cfs_try_release_memory
    at camel-folder-summary.c line 1963
  • #5 g_timeout_dispatch
    at gmain.c line 3891
  • #6 g_main_dispatch
    at gmain.c line 2425
  • #7 g_main_context_dispatch
    at gmain.c line 2995
  • #8 g_main_context_iterate
    at gmain.c line 3073
  • #9 g_main_loop_run
    at gmain.c line 3281
  • #10 gtk_main
    at gtkmain.c line 1362
  • #11 main
    at main.c line 675
  • #0 g_logv
    at gmessages.c line 456
  • #1 g_log
    at gmessages.c line 591
  • #2 g_return_if_fail_warning
  • #3 camel_session_submit_job
    at camel-session.c line 1337
  • #4 cfs_try_release_memory
    at camel-folder-summary.c line 1968
  • #5 g_timeout_dispatch
    at gmain.c line 3891
  • #6 g_main_dispatch
    at gmain.c line 2425
  • #7 g_main_context_dispatch
    at gmain.c line 2995
  • #8 g_main_context_iterate
    at gmain.c line 3073
  • #9 g_main_loop_run
    at gmain.c line 3281
  • #10 gtk_main
    at gtkmain.c line 1362
  • #11 main
    at main.c line 675
Continuing.

(evolution:14966): camel-CRITICAL **: camel_session_submit_job: assertion `CAMEL_IS_SESSION (session)' failed
Comment 3 Matthew Barnes 2011-11-24 16:39:29 UTC
*** Bug 664670 has been marked as a duplicate of this bug. ***
Comment 4 Milan Crha 2012-02-17 10:10:03 UTC
*** Bug 665979 has been marked as a duplicate of this bug. ***
Comment 5 Milan Crha 2012-04-27 09:23:37 UTC
Created attachment 212940 [details] [review]
eds patch

for evolution-data-server;

This fixed it for me, the activity is run for couple seconds, but then it finally finishes and imapx threads are gone.
Comment 6 Milan Crha 2012-04-27 09:25:06 UTC
Created commit 0660a48 in eds master (3.5.1+)
Comment 8 Milan Crha 2012-06-11 20:07:25 UTC
I backported all three changes in one commit to stable too, in a hope that it'll help with suspend/resume:

Created commit b2dde29 in eds gnome-3-4 (3.4.3+)