Bug 1031662 - [abrt] gnome-online-accounts-3.10.2-1.fc20: g_mutex_get_impl: Process /usr/libexec/goa-daemon was killed by signal 11 (SIGSEGV)
Summary: [abrt] gnome-online-accounts-3.10.2-1.fc20: g_mutex_get_impl: Process /usr/li...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-online-accounts
Version: 22
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Debarshi Ray
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:bbe31dfcb74919d9d153130a8c4...
: 975821 976379 982989 1048506 1059748 1073636 1081232 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-18 13:34 UTC by Stanislav Graf
Modified: 2016-07-19 10:36 UTC (History)
73 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-19 10:36:31 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (29.82 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: cgroup (159 bytes, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: core_backtrace (22.47 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: dso_list (11.82 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: environ (1.04 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: exploitable (82 bytes, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: limits (1.29 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: maps (58.50 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: open_fds (1.24 KB, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: proc_pid_status (931 bytes, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details
File: var_log_messages (313 bytes, text/plain)
2013-11-18 13:34 UTC, Stanislav Graf
no flags Details

Description Stanislav Graf 2013-11-18 13:34:10 UTC
Description of problem:
Error occured after resume from hybrid-sleep (hibernation in this case).

Version-Release number of selected component:
gnome-online-accounts-3.10.2-1.fc20

Additional info:
reporter:       libreport-2.1.9
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.11.8-300.fc20.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 g_mutex_get_impl at gthread-posix.c:124
 #1 g_mutex_lock at gthread-posix.c:213
 #2 g_source_ref at gmain.c:1952
 #3 on_cancelled at goaalarm.c:259
 #4 _g_closure_invoke_va at gclosure.c:840
 #7 g_cancellable_cancel at gcancellable.c:503
 #8 goa_alarm_set_time at goaalarm.c:595
 #9 set_alarm at goakerberosidentity.c:789
 #10 reset_alarms at goakerberosidentity.c:875
 #11 goa_kerberos_identity_update at goakerberosidentity.c:1310

Comment 1 Stanislav Graf 2013-11-18 13:34:17 UTC
Created attachment 825626 [details]
File: backtrace

Comment 2 Stanislav Graf 2013-11-18 13:34:21 UTC
Created attachment 825627 [details]
File: cgroup

Comment 3 Stanislav Graf 2013-11-18 13:34:24 UTC
Created attachment 825628 [details]
File: core_backtrace

Comment 4 Stanislav Graf 2013-11-18 13:34:27 UTC
Created attachment 825629 [details]
File: dso_list

Comment 5 Stanislav Graf 2013-11-18 13:34:31 UTC
Created attachment 825630 [details]
File: environ

Comment 6 Stanislav Graf 2013-11-18 13:34:34 UTC
Created attachment 825631 [details]
File: exploitable

Comment 7 Stanislav Graf 2013-11-18 13:34:37 UTC
Created attachment 825632 [details]
File: limits

Comment 8 Stanislav Graf 2013-11-18 13:34:41 UTC
Created attachment 825633 [details]
File: maps

Comment 9 Stanislav Graf 2013-11-18 13:34:44 UTC
Created attachment 825634 [details]
File: open_fds

Comment 10 Stanislav Graf 2013-11-18 13:34:47 UTC
Created attachment 825635 [details]
File: proc_pid_status

Comment 11 Stanislav Graf 2013-11-18 13:34:50 UTC
Created attachment 825636 [details]
File: var_log_messages

Comment 13 Adam Williamson 2013-11-26 18:30:58 UTC
Seen this one here too, just popped up while I was using the system, not directly doing anything GOA-related myself.

Comment 14 Tim Waugh 2013-12-02 09:27:06 UTC
It happened when I signed in to a Kerberos account using System Settings->Online Accounts.

reporter:       libreport-2.1.9
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.11.9-300.fc20.x86_64
package:        gnome-online-accounts-3.10.2-1.fc20
reason:         Process /usr/libexec/goa-daemon was killed by signal 11 (SIGSEGV)
runlevel:       N 5
type:           CCpp
uid:            1001

Comment 15 Michael S. 2013-12-04 08:55:10 UTC
same here, just ran kinit

Comment 16 Adam Williamson 2013-12-14 17:49:32 UTC
I've got this one again a couple of times in the last few days, again on resume from sleep. I've also had a couple of bad resumes where Shell was running but invisible - I could see the Fedora splash screen, but the cursor changed shape as I moved over where windows ought to be, and 'alt-f2, r' brought Shell back as normal - and this _may_ be associated with that.

Comment 17 Martin Meyer 2013-12-18 16:01:49 UTC
I'm having frequent problems with the telepathy process dying (see bug 1025506). This g-o-a seg fault is what happens the next time I open the online accounts panel in gnome-control-center after that process dies. The end effect of this segv is that telepathy restarts and I am reconnected to all my IM services. So in a way, this segv is good for me ;-)

Anyway, this and that telepathy bug are driving me nuts, so if anyone can work with me to try to debug the situation I'd really like to help out. This sequence happens for me multiple times a day.

Comment 18 Chris Bredesen 2013-12-19 12:11:45 UTC
Had been seeing something like this on F-19. Now just encountered it on F-20 after running `kinit`.

Comment 19 Niki Guldbrand 2013-12-25 20:09:07 UTC
Seeing this at random (to me at least) times, and it has been so for about 5-6 months or something like that (both F19 & 20)
Haven't found any patterns to this

Comment 20 Josh Poimboeuf 2014-01-22 03:32:26 UTC
I was getting this on F20 every time my cron script ran kinit.  I managed to fix it with:

  mkdir -p /run/user/${UID}/krb5cc
  export KRB5CCNAME=DIR:/run/user/${UID}/krb5cc

before running kinit.

However I can't seem to remember how I came up with this solution...

Comment 21 Paul W. Frields 2014-02-05 05:46:04 UTC
This just hit me too on F20 after running kinit.

Comment 22 Brad Hubbard 2014-02-21 01:02:44 UTC
Okay, this takes a long time to reproduce and I stupidly didn't have the debuginfo installed but it looks like there are multiple (more not shown) invalid writes involving glib2. I'm going to run it again, this time with debuginfo! Should be a few days.

   896 ==9834== Invalid write of size 8
   897 ==9834==    at 0x39C2846563: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   898 ==9834==    by 0x39C282E067: g_datalist_clear (in /usr/lib64/libglib-2.0.so.0.3800.2)
   899 ==9834==    by 0x39C3814FCA: g_object_unref (in /usr/lib64/libgobject-2.0.so.0.3800.2)
   900 ==9834==    by 0x39C28461A7: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   901 ==9834==    by 0x39C28466F6: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   902 ==9834==    by 0x39C28492EF: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
   903 ==9834==    by 0x39C2849627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   904 ==9834==    by 0x39C2849A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
   905 ==9834==    by 0x409336: ??? (in /usr/libexec/goa-daemon)
   906 ==9834==    by 0x39BF021D64: (below main) (libc-start.c:285)
   907 ==9834==  Address 0x17537c58 is 56 bytes inside a block of size 104 free'd
   908 ==9834==    at 0x4A07577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   909 ==9834==    by 0x39C284EF7E: g_free (in /usr/lib64/libglib-2.0.so.0.3800.2)
   910 ==9834==    by 0x39C2846591: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   911 ==9834==    by 0x39C2849377: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
   912 ==9834==    by 0x39C2849627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   913 ==9834==    by 0x39C2849A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
   914 ==9834==    by 0x409336: ??? (in /usr/libexec/goa-daemon)
   915 ==9834==    by 0x39BF021D64: (below main) (libc-start.c:285)

Comment 23 Brad Hubbard 2014-02-23 03:54:02 UTC
Unfortunately, running with debuginfo is making is so I can't work on my laptop but I'm getting an idea from studying the addresses and a fresh core.

These messages show up in debug output just before the crash.

03:49:48.000:[31343]:[DEBUG]: GoaAlarm: timer source was unscheduled after callback was invoked, but before callback got the lock. [goaalarm.c:374, on_timer_source_ready()]
03:49:48.866:[31345]:[DEBUG]: GoaKerberosIdentityManager: Refreshing identities [goakerberosidentitymanager.c:531, refresh_identities()]
03:49:48.866:[31345]:[DEBUG]: GoaKerberosIdentityManager: refreshing identity 'lorem' [goakerberosidentitymanager.c:491, refresh_identity()]
03:49:48.867:[31343]:[DEBUG]: GoaKerberosIdentity: expiring alarm fired for signed-in identity 

That message comes from here.

352 #ifdef HAVE_TIMERFD
353 static gboolean
354 on_timer_source_ready (GObject *stream, GTask *task)
355 {
356   gint64 number_of_fires;
357   gssize bytes_read;
358   gboolean run_again = FALSE;
359   GError *error = NULL;
360   GoaAlarm *self;
361   GCancellable *cancellable;
362 
363   self = g_task_get_source_object (task);
364   cancellable = g_task_get_cancellable (task);
365 
366   g_return_val_if_fail (GOA_IS_ALARM (self), FALSE);
367 
368   g_rec_mutex_lock (&self->priv->lock);
369 
370   if (self->priv->type == GOA_ALARM_TYPE_UNSCHEDULED)
371     {
372       goa_debug ("GoaAlarm: timer source was unscheduled after "
373                  "callback was invoked, but before callback got "
374                  "the lock.");
375       goto out;
376     }


(gdb) bt
#0  0x00000039c288a2ea in g_mutex_get_impl (mutex=0x1c970ea702) at gthread-posix.c:124
#1  0x00000039c288a599 in g_mutex_lock (mutex=mutex@entry=0x1c970ea702) at gthread-posix.c:213
#2  0x00000039c2847baf in g_source_ref (source=0x7f4da1b83fb0) at gmain.c:1952
#3  0x0000000000415dbe in on_cancelled (cancellable=<optimized out>, user_data=0x20d6a80) at goaalarm.c:259
#4  0x00000039c38104c7 in _g_closure_invoke_va (closure=closure@entry=0x7f4da001c360, return_value=return_value@entry=0x0, instance=instance@entry=0x256ec50, args=args@entry=0x7f4da6d918d0, n_params=0, param_types=0x0) at gclosure.c:840
#5  0x00000039c3829749 in g_signal_emit_valist (instance=0x256ec50, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7f4da6d918d0) at gsignal.c:3238
#6  0x00000039c382a3af in g_signal_emit (instance=instance@entry=0x256ec50, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3386
#7  0x0000003e17836f65 in g_cancellable_cancel (cancellable=0x256ec50) at gcancellable.c:503
#8  0x00000000004161b3 in goa_alarm_set_time (self=self@entry=0x20d6a80, time=time@entry=0x7f4d8899e0a0, cancellable=cancellable@entry=0x256b610) at goaalarm.c:595
#9  0x0000000000410701 in set_alarm (alarm=0x20d6a80, alarm_time=alarm_time@entry=0x7f4d8899e0a0, cancellable=0x7f4da0007a60, self=0x7f4da0007a70) at goakerberosidentity.c:789
#10 0x00000000004108d9 in reset_alarms (self=self@entry=0x7f4da0007a70) at goakerberosidentity.c:875
#11 0x0000000000412038 in goa_kerberos_identity_update (self=0x7f4da0007a70, new_identity=new_identity@entry=0x7f4da1b81a00) at goakerberosidentity.c:1310
#12 0x0000000000413f5c in update_identity (new_identity=0x7f4da1b81a00, identity=0x7f4da0007a70, operation=0x7f4da1aeaaa0, self=0x20d5da0) at goakerberosidentitymanager.c:426
#13 refresh_identity (identity=0x7f4da1b81a00, refreshed_identities=0x20d4000, operation=0x7f4da1aeaaa0, self=0x20d5da0) at goakerberosidentitymanager.c:492
#14 refresh_identities (operation=0x7f4da1aeaaa0, self=0x20d5da0) at goakerberosidentitymanager.c:560
#15 on_job_scheduled (job=0x208f700, cancellable=0x20db070, self=<optimized out>) at goakerberosidentitymanager.c:1015
#16 0x0000003e1785cf36 in io_job_thread (task=<optimized out>, source_object=<optimized out>, task_data=0x208f700, cancellable=<optimized out>) at gioscheduler.c:89
#17 0x0000003e1787c865 in g_task_thread_pool_thread (thread_data=0x2093370, pool_data=<optimized out>) at gtask.c:1245
#18 0x00000039c286f406 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:309
#19 0x00000039c286ea45 in g_thread_proxy (data=0x208ac50) at gthread.c:798
#20 0x00000039bfc07f33 in start_thread (arg=0x7f4da6d92700) at pthread_create.c:309
#21 0x00000039bf0f4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

(gdb) f 0
#0  0x00000039c288a2ea in g_mutex_get_impl (mutex=0x1c970ea702) at gthread-posix.c:124
124       pthread_mutex_t *impl = g_atomic_pointer_get (&mutex->p);
(gdb) x/i $pc
=> 0x39c288a2ea <g_mutex_get_impl+10>:  mov    (%rdi),%rbx
(gdb) i r rdi
rdi            0x1c970ea702     122793404162


(gdb) f 3
#3  0x0000000000415dbe in on_cancelled (cancellable=<optimized out>, user_data=0x20d6a80) at goaalarm.c:259
259                               g_source_ref (self->priv->scheduled_wakeup_source),
(gdb) p self->priv->scheduled_wakeup_source->context
$27 = (GMainContext *) 0x1c970ea702
(gdb) p self->priv->type
$18 = GOA_ALARM_TYPE_UNSCHEDULED
(gdb) p *self->priv->scheduled_wakeup_source
$14 = {callback_data = 0x15970ea702, callback_funcs = 0x7f4da1b82710, source_funcs = 0xa970ea702, ref_count = 2713205760, context = 0x1c970ea702, priority = -1581761504, flags = 32589, source_id = 0, poll_fds = 0x35 = {
    <error reading variable>

Note the value for refcount above and also note the bad value we crashed on is the "context" field.

(gdb) p self->priv->scheduled_wakeup_source
$15 = (GSource *) 0x7f4da1b83fb0
(gdb) x/4a 0x7f4da1b83fb0
0x7f4da1b83fb0: 0x15970ea702    0x7f4da1b82710
0x7f4da1b83fc0: 0xa970ea702     0x7f4da1b83c00
(gdb) p/d 0x7f4da1b83c00
$16 = 139971402415104
(gdb) p/d 0xa1b83c00
$17 = 2713205760

So it looks as though the GSource* may have been at least partially overwritten and that ties in with the valgrind warning.

Comment 24 Debarshi Ray 2014-03-18 16:27:45 UTC
*** Bug 1048506 has been marked as a duplicate of this bug. ***

Comment 25 Debarshi Ray 2014-03-18 16:28:53 UTC
*** Bug 1059748 has been marked as a duplicate of this bug. ***

Comment 26 Debarshi Ray 2014-03-18 16:28:54 UTC
*** Bug 1073636 has been marked as a duplicate of this bug. ***

Comment 27 Debarshi Ray 2014-03-18 16:29:09 UTC
*** Bug 982989 has been marked as a duplicate of this bug. ***

Comment 28 Debarshi Ray 2014-03-18 16:30:28 UTC
*** Bug 975821 has been marked as a duplicate of this bug. ***

Comment 29 Debarshi Ray 2014-03-18 16:30:30 UTC
*** Bug 976379 has been marked as a duplicate of this bug. ***

Comment 30 Debarshi Ray 2014-04-09 15:19:46 UTC
*** Bug 1081232 has been marked as a duplicate of this bug. ***

Comment 31 Adam Williamson 2014-04-23 16:54:48 UTC
Hit this one some time after a fresh boot on an IPA client system (I didn't run kinit explicitly).

Comment 32 David Mansfield 2014-05-21 15:46:03 UTC
I get this pretty much everytime I unlock the screen after krb ticket is expired. DE is MATE. System authentication is sssd -> AD.

Comment 33 Thomas Spura 2014-05-28 06:58:59 UTC
(In reply to Adam Williamson from comment #31)
> Hit this one some time after a fresh boot on an IPA client system (I didn't
> run kinit explicitly).

I just hit this too without running kinit explicitly, but I have it enabled in gnome-online-accounts instead.

Comment 34 Tim Waugh 2014-05-28 07:14:37 UTC
I got a valgrind trace of what I think is the same bug over in bug #1101450.

==1958== Invalid read of size 8
==1958==    at 0x3391847B9E: g_source_ref (gmain.c:1949)
==1958==    by 0x415E0D: on_cancelled (goaalarm.c:259)
==1958==    by 0x33924104C6: _g_closure_invoke_va (gclosure.c:840)
==1958==    by 0x3392429748: g_signal_emit_valist (gsignal.c:3238)
==1958==    by 0x339242A3AE: g_signal_emit (gsignal.c:3386)
==1958==    by 0x3ECF836F64: g_cancellable_cancel (gcancellable.c:503)
==1958==    by 0x416202: goa_alarm_set_time (goaalarm.c:595)
==1958==    by 0x410710: set_alarm.isra.1 (goakerberosidentity.c:792)
==1958==    by 0x4108EF: reset_alarms (goakerberosidentity.c:878)
==1958==    by 0x412077: goa_kerberos_identity_update (goakerberosidentity.c:1316)
==1958==    by 0x413FAB: on_job_scheduled (goakerberosidentitymanager.c:426)
==1958==    by 0x3ECF85CF35: io_job_thread (gioscheduler.c:89)

Comment 35 Clark Williams 2014-06-07 04:35:26 UTC
Another user experienced a similar problem:

Logged into F20 system running XFCE, got report that goa-daemon crashed with SIGSEGV

reporter:       libreport-2.2.2
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.14.4-rt5+
package:        gnome-online-accounts-3.10.4-1.fc20
reason:         goa-daemon killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            5159

Comment 36 Troels Arvin 2014-06-18 06:13:58 UTC
Another user experienced a similar problem:

Unsure

reporter:       libreport-2.2.2
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.14.7-200.fc20.x86_64
package:        gnome-online-accounts-3.10.4-1.fc20
reason:         goa-daemon killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 37 Markus Duft 2014-10-15 05:07:23 UTC
Get this one when unlocking my desktop after the PC was on for the night.

Comment 38 David Juran 2015-01-09 13:48:51 UTC
Another user experienced a similar problem:

Woke my laptop from suspend

reporter:       libreport-2.2.3
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.16.4-200.fc20.x86_64
package:        gnome-online-accounts-3.10.5-1.fc20
reason:         goa-daemon killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 39 Larry O'Leary 2015-01-15 17:20:36 UTC
Another user experienced a similar problem:

It is not clear what causes this problem but I do see a strange hang in goa-daemon when my Kerberos ticket expires. Not sure if this is related or not.

It is important to note that this continues to happen every few days. Not only do I use Kerberos but also my Google accounts utilize Google's two-factor authentication.  The painful part is that when this crash occurs it leaves many of my everyday services unavailable such as email and chat.

reporter:       libreport-2.2.3
backtrace_rating: 4
cmdline:        /usr/libexec/goa-daemon
crash_function: g_mutex_get_impl
executable:     /usr/libexec/goa-daemon
kernel:         3.17.3-200.fc20.x86_64
package:        gnome-online-accounts-3.10.5-1.fc20
reason:         goa-daemon killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            1500

Comment 40 Jaroslav Reznik 2015-03-03 15:12:55 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 41 Fedora End Of Life 2016-07-19 10:36:31 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.