Bug 1344888

Summary: [abrt] Crash under e_mail_folder_find_duplicate_messages_sync()
Product: [Fedora] Fedora Reporter: Niki Guldbrand <niki.guldbrand>
Component: evolutionAssignee: Milan Crha <mcrha>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: lucilanga, mbarnes, mcrha, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/19c42609280d12e4ccad970b3141f27f12073580
Whiteboard: abrt_hash:f842807e4ada240728dce26fd047ea9ad1fedbb6;VARIANT_ID=workstation;
Fixed In Version: evolution-3.20.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-13 10:39:48 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: exploitable
none
File: limits
none
File: maps
none
File: mountinfo
none
File: namespaces
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages none

Description Niki Guldbrand 2016-06-12 07:48:42 UTC
Description of problem:
I just added a new filter rule, and marked all messages in my inbox,  then executed "Apply filters" on them.

Version-Release number of selected component:
evolution-3.20.2-1.fc24

Additional info:
reporter:       libreport-2.7.1
backtrace_rating: 4
cmdline:        evolution
crash_function: camel_message_info_ptr
executable:     /usr/bin/evolution
global_pid:     21617
kernel:         4.5.5-300.fc24.x86_64
pkg_fingerprint: 73BD E983 81B4 6521
pkg_vendor:     Fedora Project
reproducible:   Not sure how to reproduce the problem
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (7 frames)
 #0 camel_message_info_ptr at camel-folder-summary.c:4620
 #1 e_mail_folder_find_duplicate_messages_sync at e-mail-folder-utils.c:796
 #2 mail_folder_find_duplicate_messages_thread at e-mail-folder-utils.c:660
 #3 run_in_thread at gsimpleasyncresult.c:898
 #4 io_job_thread at gioscheduler.c:85
 #5 g_task_thread_pool_thread at gtask.c:1288
 #7 g_thread_proxy at gthread.c:780

Comment 1 Niki Guldbrand 2016-06-12 07:48:48 UTC
Created attachment 1167089 [details]
File: backtrace

Comment 2 Niki Guldbrand 2016-06-12 07:48:49 UTC
Created attachment 1167090 [details]
File: cgroup

Comment 3 Niki Guldbrand 2016-06-12 07:48:51 UTC
Created attachment 1167091 [details]
File: core_backtrace

Comment 4 Niki Guldbrand 2016-06-12 07:48:53 UTC
Created attachment 1167092 [details]
File: dso_list

Comment 5 Niki Guldbrand 2016-06-12 07:48:54 UTC
Created attachment 1167093 [details]
File: environ

Comment 6 Niki Guldbrand 2016-06-12 07:48:56 UTC
Created attachment 1167094 [details]
File: exploitable

Comment 7 Niki Guldbrand 2016-06-12 07:48:58 UTC
Created attachment 1167095 [details]
File: limits

Comment 8 Niki Guldbrand 2016-06-12 07:49:00 UTC
Created attachment 1167096 [details]
File: maps

Comment 9 Niki Guldbrand 2016-06-12 07:49:02 UTC
Created attachment 1167097 [details]
File: mountinfo

Comment 10 Niki Guldbrand 2016-06-12 07:49:03 UTC
Created attachment 1167098 [details]
File: namespaces

Comment 11 Niki Guldbrand 2016-06-12 07:49:05 UTC
Created attachment 1167099 [details]
File: open_fds

Comment 12 Niki Guldbrand 2016-06-12 07:49:06 UTC
Created attachment 1167100 [details]
File: proc_pid_status

Comment 13 Niki Guldbrand 2016-06-12 07:49:08 UTC
Created attachment 1167101 [details]
File: var_log_messages

Comment 14 Milan Crha 2016-06-13 10:39:48 UTC
Thanks for a bug report. It seems to me that you execute "Remove duplicates" on a set of messages, then you executed "Apply filters" on the same set, while this duplicates removal was still processing, when some messages had been moved to a different folder by a filter. The "Remove duplicates" code didn't count with such possibility, which led to the crash.

I'm updating the code to verify that the returned message info structure is a valid pointer, not a NULL, like in the case of this crash report.

Created commit 44743d4 in evo master (3.21.3+) [1]
Created commit a59c0a5 in evo gnome-3-20 (3.20.4+)

[1] https://git.gnome.org/browse/evolution/commit/?id=44743d4