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 473887 - crash in camel_folder_free_message_info (info=0x0) at camel-folder.c:991
crash in camel_folder_free_message_info (info=0x0) at camel-folder.c:991
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Mailer
2.26.x (obsolete)
Other Linux
: High critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 561644 588837 593708 593990 598134 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-09-05 12:06 UTC by Akhil Laddha
Modified: 2013-08-23 18:34 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26



Description Akhil Laddha 2007-09-05 12:06:15 UTC
I clicked on folder which has 17500 mails (cache should be there as i have already  viewed the same folder before) and on terminal it was displaying same critical warning for infinite times.I waited for 5 minutes and then evolution crashed.

Gdb traces 

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

(evolution:3842): camel-CRITICAL **: camel_folder_free_message_info: assertion ` info != NULL' failed

Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb65749f0 (LWP 3842)]
0xb667e28c in _int_malloc (av=0xb6745140, bytes=129) at malloc.c:4293
4293          mark_bin(av, victim_index);

(gdb) thread apply all bt

Thread 1 (Thread 0xb65749f0 (LWP 3842))

  • #0 _int_malloc
    at malloc.c line 4293
  • #1 malloc_check
    at hooks.c line 265
  • #2 realloc_check
    at hooks.c line 329
  • #3 *__GI___libc_realloc
    at malloc.c line 3643
  • #4 IA__g_realloc
    at gmem.c line 168
  • #5 g_string_maybe_expand
    at gstring.c line 358
  • #6 IA__g_string_sized_new
    at gstring.c line 383
  • #7 IA__g_string_new
    at gstring.c line 409
  • #8 IA__g_log_default_handler
    at gmessages.c line 908
  • #9 IA__g_logv
    at gmessages.c line 474
  • #10 IA__g_log
    at gmessages.c line 517
  • #11 IA__g_return_if_fail_warning
    at gmessages.c line 532
  • #12 camel_folder_free_message_info
    at camel-folder.c line 991
  • #13 clear_info
    at message-list.c line 2363
  • #14 IA__g_hash_table_foreach
    at ghash.c line 680
  • #15 clear_tree
    at message-list.c line 2382
  • #16 message_list_set_folder
    at message-list.c line 3142
  • #17 emfv_set_folder
  • #18 emfb_set_folder
    at em-folder-browser.c line 1888
  • #19 emfv_got_folder
    at em-folder-view.c line 698
  • #20 get_folder_got
    at mail-ops.c line 1230
  • #21 mail_msgport_replied
    at mail-mt.c line 473
  • #22 g_io_unix_dispatch
    at giounix.c line 162
  • #23 IA__g_main_context_dispatch
    at gmain.c line 2061
  • #24 g_main_context_iterate
    at gmain.c line 2694
  • #25 IA__g_main_loop_run
    at gmain.c line 2898
  • #26 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #27 main
    at main.c line 594
  • #28 __libc_start_main
  • #29 _start

Comment 1 Matthew Barnes 2008-03-11 00:33:38 UTC
Bumping version to a stable release.
Comment 2 Milan Crha 2008-04-15 18:01:09 UTC
There is a very nice comment in message-list.c:add_node_diff: "we just update the hashtable key, umm, does this leak the info on the message node?" It should probably also do e_tree_memory_node_set_data or e_tree_memory_node_remove when removing items from uid_nodemap, similarly as in clear_info, but it has not much to do with this bug, though.
This bug seems to be about forgotten ids in this uid_nodemap hash table or desynchronization between uid_nodemap and ml->model, where the nodes from ml->model was removed, but keys in uid_nodemap was kept there. Or anything else.
Comment 3 Akhil Laddha 2009-05-22 07:24:38 UTC
*** Bug 561644 has been marked as a duplicate of this bug. ***
Comment 4 Akhil Laddha 2009-08-21 04:01:17 UTC
*** Bug 588837 has been marked as a duplicate of this bug. ***
Comment 5 Akhil Laddha 2009-09-03 04:33:48 UTC
*** Bug 593990 has been marked as a duplicate of this bug. ***
Comment 6 Akhil Laddha 2009-10-12 12:57:05 UTC
*** Bug 598134 has been marked as a duplicate of this bug. ***
Comment 7 Akhil Laddha 2009-12-21 04:40:43 UTC
*** Bug 593708 has been marked as a duplicate of this bug. ***
Comment 8 André Klapper 2013-08-03 09:59:08 UTC
All dup reports are from 2.24/2.26. Does this crash still happen in 3.8 or 3.6? 
Code base has changed a lot, hence asking.
Comment 9 Matthew Barnes 2013-08-23 18:34:09 UTC
Closing as OBSOLETE since the stack trace is too old to be useful now.