Bug 1250671

Summary: [abrt] evolution: strchr(): evolution killed by SIGSEGV
Product: [Fedora] Fedora Reporter: John Stebbins <stebbins>
Component: evolution-data-serverAssignee: Milan Crha <mcrha>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: lucilanga, mbarnes, mcrha, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/d3dfd57b4e91bcd21650500168a55895c8ba8913
Whiteboard: abrt_hash:e30d8cb87b8be3019cd0b722dac712b9e231cf03
Fixed In Version: evolution-data-server-3.16.5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-07 05:30:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: mountinfo
none
File: namespaces
none
File: open_fds
none
File: proc_pid_status
none
Debug log none

Description John Stebbins 2015-08-05 18:19:41 UTC
Description of problem:
Evolution crashes at or very shortly after (1 to 2 seconds) startup.  

Sometimes I see the window open and inbox updates before it crashes.

I restarted evolution today after a system update, and this crash started occurring.  However, evolution was not amogst the packages that were updated.

Version-Release number of selected component:
evolution-3.16.4-2.fc22

Additional info:
reporter:       libreport-2.6.2
backtrace_rating: 4
cmdline:        evolution
crash_function: strchr
executable:     /usr/bin/evolution
global_pid:     4478
kernel:         4.1.3-200.fc22.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 strchr at ../sysdeps/x86_64/strchr.S:32
 #1 g_strsplit at gstrfuncs.c:2284
 #2 imapx_parse_uids at camel-imapx-utils.c:2117
 #3 imapx_parse_status_copyuid at camel-imapx-utils.c:2200
 #4 imapx_parse_status at camel-imapx-utils.c:2429
 #5 imapx_completion at camel-imapx-server.c:3427
 #6 imapx_step at camel-imapx-server.c:3491
 #7 imapx_ready_to_read at camel-imapx-server.c:7813
 #12 imapx_parser_thread at camel-imapx-server.c:7931
 #13 g_thread_proxy at gthread.c:764

Comment 1 John Stebbins 2015-08-05 18:19:43 UTC
Created attachment 1059582 [details]
File: backtrace

Comment 2 John Stebbins 2015-08-05 18:19:44 UTC
Created attachment 1059583 [details]
File: cgroup

Comment 3 John Stebbins 2015-08-05 18:19:45 UTC
Created attachment 1059584 [details]
File: core_backtrace

Comment 4 John Stebbins 2015-08-05 18:19:45 UTC
Created attachment 1059585 [details]
File: dso_list

Comment 5 John Stebbins 2015-08-05 18:19:46 UTC
Created attachment 1059586 [details]
File: environ

Comment 6 John Stebbins 2015-08-05 18:19:46 UTC
Created attachment 1059587 [details]
File: limits

Comment 7 John Stebbins 2015-08-05 18:19:47 UTC
Created attachment 1059588 [details]
File: maps

Comment 8 John Stebbins 2015-08-05 18:19:48 UTC
Created attachment 1059589 [details]
File: mountinfo

Comment 9 John Stebbins 2015-08-05 18:19:49 UTC
Created attachment 1059590 [details]
File: namespaces

Comment 10 John Stebbins 2015-08-05 18:19:49 UTC
Created attachment 1059591 [details]
File: open_fds

Comment 11 John Stebbins 2015-08-05 18:19:50 UTC
Created attachment 1059592 [details]
File: proc_pid_status

Comment 12 Milan Crha 2015-08-06 09:07:17 UTC
Thanks for a bug report. The backtrace shows the crash happened when parsing a "copy message" response. I guess it's one of your message filters which moves/copies received messages into another folder, because evolution (IMAPx) doesn't copy messages on its own.

If it's reproducible on start, could you run evolution from a terminal like this, please:

   $ CAMEL_DEBUG=imapx:io,imapx:conman evolution &>log.txt

which will log all the communication between the server and the evolution, for all configured IMAP accounts (it would be good to disable all other IMAP accounts you might have configured, thus the log contains only the relevant information). There is not needed to see whole log, which may contain quite some private information, including downloaded message contents, but only the end of the log, like the last 50-100 lines. That will show what the server returned.

Comment 13 John Stebbins 2015-08-06 16:44:17 UTC
Created attachment 1060042 [details]
Debug log

Here are the last lines of the log after message downloads.  

The only filters I have are for "Search" folders.  I set up a search folder that combines all my inboxes into one unified inbox.

Comment 14 Milan Crha 2015-08-07 05:30:18 UTC
Thanks for the update. I see it's a real Trash folder setting, which copies a deleted message into there.

> [imapx:A] I/O: 'A00028 UID COPY 21498 Trash'
> [imapx:A] I/O: 'A00028 OK [COPYUID 13411  ] COPY completed.'

The server response looks incomplete, truncated, as it doesn't follow [1].

I made some workarounds on this server issue for the next release of the evolution-data-server:

Created commit e0c53f2 in eds master (3.17.90+) [2]
Created commit ec63895 in eds gnome-3-16 (3.16.5+)

[1] https://tools.ietf.org/html/rfc2359#section-4.3
[2] https://git.gnome.org/browse/evolution-data-server/commit/?id=e0c53f2