Bug 986124

Summary: [abrt] evolution-data-server-3.6.4-4.fc18: g_thread_create_full: Process /usr/libexec/evolution-addressbook-factory was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Mladen Gogala <mgogala>
Component: evolution-data-serverAssignee: Matthew Barnes <mbarnes>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: mbarnes, mcrha
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:07597d4d754bf2e9f36f30c1e31b7bf152ebc38e
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-19 07:01:16 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: open_fds
none
File: proc_pid_status none

Description Mladen Gogala 2013-07-19 02:39:13 UTC
Version-Release number of selected component:
evolution-data-server-3.6.4-4.fc18

Additional info:
reporter:       libreport-2.1.5
backtrace_rating: 4
cmdline:        /usr/libexec/evolution-addressbook-factory
crash_function: g_thread_create_full
executable:     /usr/libexec/evolution-addressbook-factory
kernel:         3.9.9-201.fc18.x86_64
runlevel:       N 5
uid:            1000
var_log_messages: Jul 18 22:25:31 medo abrt[29275]: Saved core dump of pid 27556 (/usr/libexec/evolution-addressbook-factory) to /var/tmp/abrt/ccpp-2013-07-18-22:25:31-27556 (152993792 bytes)
xsession_errors: 

Truncated backtrace:
Thread no. 1 (9 frames)
 #0 g_thread_create_full at deprecated/gthread-deprecated.c:377
 #1 g_thread_create at deprecated/gthread-deprecated.c:342
 #2 ews_active_job_done at e-ews-connection.c:466
 #3 ews_response_cb at e-ews-connection.c:585
 #4 process_queue_item at soup-session-async.c:274
 #5 run_queue at soup-session-async.c:310
 #6 idle_run_queue at soup-session-async.c:343
 #12 e_ews_soup_thread at e-ews-connection.c:1424
 #13 g_thread_proxy at gthread.c:797

Comment 1 Mladen Gogala 2013-07-19 02:39:16 UTC
Created attachment 775604 [details]
File: backtrace

Comment 2 Mladen Gogala 2013-07-19 02:39:19 UTC
Created attachment 775605 [details]
File: cgroup

Comment 3 Mladen Gogala 2013-07-19 02:39:21 UTC
Created attachment 775606 [details]
File: core_backtrace

Comment 4 Mladen Gogala 2013-07-19 02:39:24 UTC
Created attachment 775607 [details]
File: dso_list

Comment 5 Mladen Gogala 2013-07-19 02:39:27 UTC
Created attachment 775608 [details]
File: environ

Comment 6 Mladen Gogala 2013-07-19 02:39:29 UTC
Created attachment 775609 [details]
File: limits

Comment 7 Mladen Gogala 2013-07-19 02:39:32 UTC
Created attachment 775610 [details]
File: maps

Comment 8 Mladen Gogala 2013-07-19 02:39:35 UTC
Created attachment 775611 [details]
File: open_fds

Comment 9 Mladen Gogala 2013-07-19 02:39:37 UTC
Created attachment 775612 [details]
File: proc_pid_status

Comment 10 Milan Crha 2013-07-19 07:01:16 UTC
Thanks for a bug report. It seems to me that you've got out of memory, or there occurred an error when creating a new thread, because the 'thread' variable is NULL:

Thread 1 (Thread 0x7fef05d4a700 (LWP 27569)):
#0  g_thread_create_full (func=<optimized out>, data=<optimized out>, stack_size=stack_size@entry=0, joinable=0, bound=bound@entry=0, priority=priority@entry=G_THREAD_PRIORITY_LOW, error=0x0) at deprecated/gthread-deprecated.c:377
        thread = 0x0
#1  0x000000382a41c9a7 in g_thread_create (func=<optimized out>, data=<optimized out>, joinable=<optimized out>, error=<optimized out>) at deprecated/gthread-deprecated.c:342
No locals.
#2  0x00007fef15e2494b in ews_active_job_done (ews_node=0x7feee8005fb0, cnc=0x7feef4024000) at e-ews-connection.c:466
No locals.

while this crashes when dereferencing it:

#0  g_thread_create_full (func=<optimized out>, data=<optimized out>, stack_size=stack_size@entry=0, joinable=0, bound=bound@entry=0, priority=priority@entry=G_THREAD_PRIORITY_LOW, error=0x0) at deprecated/gthread-deprecated.c:377
377	      thread->joinable = FALSE;

while the structure is created from
   g_thread_new_internal () call.

I'd say this is a GLib issue, because it doesn't check for errors before accessing the code:

>  GThread *thread;
>
>  thread = g_thread_new_internal (NULL, g_deprecated_thread_proxy,
>                                  func, data, stack_size, error);
>
>  if (!joinable)
>    {
>      thread->joinable = FALSE;
>      g_thread_unref (thread);
>    }
>
>  return thread;

I'm moving this part upstream [1], for better visibility. Please see it for any further updates.

The other question is why this happened. Are you able to reproduce it anyhow, please? If it's like "when I have evolution running for long-enough time (X hours)", then it can be due to some memory leaks. In any case, it would be good to retest with 3.8.3, which is currently part of Fedora 19.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=704523

Comment 11 Mladen Gogala 2013-07-19 18:57:39 UTC
Unfortunately, I will skip F19 and go directly to F20. I upgrade approximately once a year.