#571513 segfault in get_folder_info_offline

Package:
evolution
Source:
evolution
Description:
groupware suite with mail client and organizer
Submitter:
Sławomir Domagała
Date:
2010-06-21 06:00:03 UTC
Severity:
important
#571513#5
Date:
2010-02-25 18:39:20 UTC
From:
To:
After change settings evolution doesn't start. When I have wrotten in console "valgring evolution", I got:

19:11[godlark@debian]$ valgrind evolution
==11509== Memcheck, a memory error detector
==11509== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==11509== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==11509== Command: evolution
==11509==
** (evolution:11509): DEBUG: mailto URL command: evolution %s
** (evolution:11509): DEBUG: mailto URL program: evolution
==11509== Conditional jump or move depends on uninitialised value(s)
==11509==    at 0xFD11290: inflateReset2 (inflate.c:157)
==11509==    by 0xFD1137F: inflateInit2_ (inflate.c:193)
==11509==    by 0xFD0AC86: gz_open (gzio.c:186)
==11509==    by 0xD5570B5: xmlGzfileOpen (xmlIO.c:1192)
==11509==    by 0xD556AA7: __xmlParserInputBufferCreateFilename (xmlIO.c:2499)
==11509==    by 0xD52C0DC: xmlNewInputFromFile (parserInternals.c:1549)
==11509==    by 0xD530455: xmlCreateURLParserCtxt (parser.c:13357)
==11509==    by 0xBD30D2D: bonobo_ui_node_from_file (in /usr/lib/libbonoboui-2.so.0.0.0)
==11509==    by 0xBD3E952: bonobo_ui_util_new_ui (in /usr/lib/libbonoboui-2.so.0.0.0)
==11509==    by 0xBD3EB40: bonobo_ui_util_set_ui (in /usr/lib/libbonoboui-2.so.0.0.0)
==11509==    by 0x412E92: e_shell_window_new (e-shell-window.c:1011)
==11509==    by 0x40DDD2: e_shell_create_window (e-shell.c:935)
==11509==
==11509== Conditional jump or move depends on uninitialised value(s)
==11509==    at 0xFD11290: inflateReset2 (inflate.c:157)
==11509==    by 0xFD1137F: inflateInit2_ (inflate.c:193)
==11509==    by 0x15E00FF3: png_create_read_struct_2 (in /lib/libpng12.so.0.42.0)
==11509==    by 0x25268267: gdk_pixbuf__png_image_load (io-png.c:263)
==11509==    by 0xEC69B72: _gdk_pixbuf_generic_image_load (gdk-pixbuf-io.c:1065)
==11509==    by 0xEC6A88B: gdk_pixbuf_new_from_file (gdk-pixbuf-io.c:1177)
==11509==    by 0x6C36D6F: e_icon_factory_get_icon (e-icon-factory.c:102)
==11509==    by 0x4E30FCA: e_pixmaps_update (evolution-shell-component-utils.c:57)
==11509==    by 0x4118D6: e_shell_window_commands_setup (e-shell-window-commands.c:1470)
==11509==    by 0x412EA4: e_shell_window_new (e-shell-window.c:1017)
==11509==    by 0x40DDD2: e_shell_create_window (e-shell.c:935)
==11509==    by 0x416839: idle_cb (main.c:377)
==11509==
==11509== Thread 6:
==11509== Invalid read of size 8
==11509==    at 0x25EA29D6: get_folder_info_offline (camel-imap-store.c:2812)
==11509==    by 0x25EA2B9B: get_folder_info (camel-imap-store.c:2778)
==11509==    by 0x6EA80D6: camel_store_get_folder_info (camel-store.c:895)
==11509==    by 0x1B32D2E7: get_folderinfo_exec (mail-ops.c:1076)
==11509==    by 0x1B330D60: mail_msg_proxy (mail-mt.c:522)
==11509==    by 0x10600BA1: g_thread_pool_thread_proxy (gthreadpool.c:265)
==11509==    by 0x105FF5A3: g_thread_create_proxy (gthread.c:635)
==11509==    by 0x9E07739: start_thread (pthread_create.c:300)
==11509==    by 0x1092C69C: clone (clone.S:112)
==11509==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
==11509==
==11509==
==11509== Process terminating with default action of signal 11 (SIGSEGV)
==11509==  Access not within mapped region at address 0x8
==11509==    at 0x25EA29D6: get_folder_info_offline (camel-imap-store.c:2812)
==11509==    by 0x25EA2B9B: get_folder_info (camel-imap-store.c:2778)
==11509==    by 0x6EA80D6: camel_store_get_folder_info (camel-store.c:895)
==11509==    by 0x1B32D2E7: get_folderinfo_exec (mail-ops.c:1076)
==11509==    by 0x1B330D60: mail_msg_proxy (mail-mt.c:522)
==11509==    by 0x10600BA1: g_thread_pool_thread_proxy (gthreadpool.c:265)
==11509==    by 0x105FF5A3: g_thread_create_proxy (gthread.c:635)
==11509==    by 0x9E07739: start_thread (pthread_create.c:300)
==11509==    by 0x1092C69C: clone (clone.S:112)
==11509==  If you believe this happened as a result of a stack
==11509==  overflow in your program's main thread (unlikely but
==11509==  possible), you can try to increase the size of the
==11509==  main thread stack using the --main-stacksize= flag.
==11509==  The main thread stack size used in this run was 8388608.
==11509==
==11509== HEAP SUMMARY:
==11509==     in use at exit: 2,562,235 bytes in 21,997 blocks
==11509==   total heap usage: 122,253 allocs, 100,256 frees, 15,534,125 bytes allocated
==11509==
==11509== LEAK SUMMARY:
==11509==    definitely lost: 826 bytes in 17 blocks
==11509==    indirectly lost: 240 bytes in 10 blocks
==11509==      possibly lost: 1,691,118 bytes in 14,963 blocks
==11509==    still reachable: 832,755 bytes in 6,612 blocks
==11509==         suppressed: 37,296 bytes in 395 blocks
==11509== Rerun with --leak-check=full to see details of leaked memory
==11509==
==11509== For counts of detected and suppressed errors, rerun with: -v
==11509== Use --track-origins=yes to see where uninitialised values come from
==11509== ERROR SUMMARY: 17 errors from 3 contexts (suppressed: 157 from 7)
Unicestwiony

#571513#10
Date:
2010-02-25 18:59:33 UTC
From:
To:
I don't see how that can be helpful, though. Please report directly
upstream, but provide a backtrace using gdb, I don't think valgrind will
be interesting at that point.

Cheers,

#571513#15
Date:
2010-02-25 22:36:07 UTC
From:
To:
Starting program: /usr/bin/evolution
[Thread debugging using libthread_db enabled]
** (evolution:2981): DEBUG: mailto URL command: evolution %s
** (evolution:2981): DEBUG: mailto URL program: evolution
[New Thread 0x7fffde07e910 (LWP 2998)]
[Thread 0x7fffde07e910 (LWP 2998) exited]
[New Thread 0x7fffde07e910 (LWP 2999)]
[Thread 0x7fffde07e910 (LWP 2999) exited]
[New Thread 0x7fffde07e910 (LWP 3000)]
[New Thread 0x7fffd41ae910 (LWP 3001)]
[New Thread 0x7fffd39ad910 (LWP 3002)]
[New Thread 0x7fffd31ac910 (LWP 3003)]
[New Thread 0x7fffd29ab910 (LWP 3004)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd29ab910 (LWP 3004)]
0x00007fffdc5bf9d6 in get_folder_info_offline (store=0x77f730,
    top=0x7fffdc5c843d "", flags=7, ex=<value optimized out>)
    at camel-imap-store.c:2812
2812 camel-imap-store.c: Nie ma takiego pliku ani katalogu.
in camel-imap-store.c

#571513#20
Date:
2010-03-19 22:54:23 UTC
From:
To:
Maybe the crash I just started getting is related?

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd8c75910 (LWP 31232)]
0x00007ffff1b307e0 in g_str_hash () from /lib/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff1b307e0 in g_str_hash () from /lib/libglib-2.0.so.0
#1  0x00007ffff1afffd5 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007ffff76f3baf in camel_db_get_folder_uids_flags (
    db=<value optimized out>, folder_name=<value optimized out>,
    sort_by=<value optimized out>, collate=<value optimized out>,
    summary=0x7fffd2241660, table=0x7fffd1c08e30, ex=0x7fffd8c74d00)
    at camel-db.c:916
#3  0x00007ffff0e05fe0 in camel_folder_summary_load_from_db (s=0x7fffe245d490,
    ex=0x7fffd8c74d50) at camel-folder-summary.c:1085
#4  0x00007fffe6ca3843 in camel_imap_summary_new (folder=0x7fffe1c42990,
    filename=0x7fffd21ca9e0 "/home/kov/.evolution/mail/imap/debian@kov.eti.br/folders/Project/summary") at camel-imap-summary.c:209
#5  0x00007fffe6c974e0 in camel_imap_folder_new (parent=<value optimized out>,
    folder_name=0x7fffd218e1d1 "Project",
    folder_dir=0x7fffd20b4a30 "/home/kov/.evolution/mail/imap/debian@kov.eti.br/folders/Project", ex=<value optimized out>) at camel-imap-folder.c:290
#6  0x00007fffe6ca1789 in get_folder_offline (store=0x4cad10,
    folder_name=0x7fffd218e1d1 "Project", flags=<value optimized out>,
    ex=<value optimized out>) at camel-imap-store.c:2071
#7  get_folder (store=0x4cad10, folder_name=0x7fffd218e1d1 "Project",
    flags=<value optimized out>, ex=<value optimized out>)
    at camel-imap-store.c:1837
#8  0x00007ffff0e2583f in camel_store_get_folder (store=0x4cad10,
    folder_name=0x7fffd218e1d1 "Project", flags=0, ex=0x7fffd8c74f10)
    at camel-store.c:345
#9  0x00007fffe99d646e in mail_tool_uri_to_folder (uri=<value optimized out>,
    flags=0, ex=0x7fffd8c74f10) at ../../mail/mail-tools.c:334
#10 0x00007fffe99d34f4 in refresh_folders_exec (m=0xd9d0c0)
    at ../../mail/mail-send-recv.c:886
#11 0x00007fffe99ccab8 in mail_msg_proxy (msg=0xd9d0c0)
    at ../../mail/mail-mt.c:471
#12 0x00007ffff1b38ba2 in ?? () from /lib/libglib-2.0.so.0
#13 0x00007ffff1b375a4 in ?? () from /lib/libglib-2.0.so.0
#14 0x00007ffff547173a in start_thread (arg=<value optimized out>)
    at pthread_create.c:300
#15 0x00007ffff184a69d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

#571513#25
Date:
2010-03-19 23:00:45 UTC
From:
To:
This appears to be enough for the crash to go away:

     mv .evolution/mail/imap/debian@kov.eti.br/folders.db /tmp/

Thanks,

#571513#30
Date:
2010-03-19 23:19:09 UTC
From:
To:
Please report all crashes directly upstream (especially on development
releases).

Cheers,

#571513#37
Date:
2010-06-21 05:55:52 UTC
From:
To:
Hey,

does the problem still happens in evolution 2.30+ ?

Cheers,