Bug 1031252

Summary: [abrt] empathy-3.10.2-1.fc20: _g_log_abort: Process /usr/libexec/empathy-chat was killed by signal 6 (SIGABRT)
Product: [Fedora] Fedora Reporter: Victor Costan <costan>
Component: folksAssignee: Brian Pepple <bdpepple>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact: Brian Pepple <bdpepple>
Priority: unspecified    
Version: 20CC: awilliam, bdpepple, debarshir, mclasen, philip, pschindl, tomeu, twaugh, uraeus
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/872a1ad1aba39700176f2bcb383da5a21b5b907c
Whiteboard: abrt_hash:4fc8bf5c257c6999534ffb829165351001c2bdc0
Fixed In Version: folks-0.9.6-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-24 04:05:46 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
File: var_log_messages
none
folks-inspect.txt
none
output of empathy-chat none

Description Victor Costan 2013-11-16 06:43:03 UTC
Description of problem:
Was on #blink and #chromium on freenode. I was working in Vim and Empathy crashed on its own.

Version-Release number of selected component:
empathy-3.10.2-1.fc20

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

Truncated backtrace:
Thread no. 1 (10 frames)
 #2 _g_log_abort at gmessages.c:255
 #5 _folks_individual_persona_notify_cb at individual.c:3421
 #6 __folks_individual_persona_notify_cb_g_object_notify at individual.c:5650
 #12 g_object_notify_by_spec_internal at gobject.c:1141
 #13 g_object_notify at gobject.c:1183
 #14 _tpf_persona_contact_notify_contact_info at tpf-persona.c:2559
 #20 g_object_notify_by_spec_internal at gobject.c:1141
 #21 g_object_notify at gobject.c:1183
 #22 contact_maybe_set_info at contact.c:3208
 #23 tp_contact_set_attributes at contact.c:3928

Comment 1 Victor Costan 2013-11-16 06:43:10 UTC
Created attachment 824824 [details]
File: backtrace

Comment 2 Victor Costan 2013-11-16 06:43:12 UTC
Created attachment 824825 [details]
File: cgroup

Comment 3 Victor Costan 2013-11-16 06:43:15 UTC
Created attachment 824826 [details]
File: core_backtrace

Comment 4 Victor Costan 2013-11-16 06:43:18 UTC
Created attachment 824827 [details]
File: dso_list

Comment 5 Victor Costan 2013-11-16 06:43:21 UTC
Created attachment 824828 [details]
File: environ

Comment 6 Victor Costan 2013-11-16 06:43:24 UTC
Created attachment 824829 [details]
File: limits

Comment 7 Victor Costan 2013-11-16 06:43:27 UTC
Created attachment 824830 [details]
File: maps

Comment 8 Victor Costan 2013-11-16 06:43:30 UTC
Created attachment 824831 [details]
File: open_fds

Comment 9 Victor Costan 2013-11-16 06:43:32 UTC
Created attachment 824832 [details]
File: proc_pid_status

Comment 10 Victor Costan 2013-11-16 06:43:35 UTC
Created attachment 824833 [details]
File: var_log_messages

Comment 11 Petr Schindler 2013-11-18 08:31:18 UTC
This crash occures whenever empathy tries to connect to chat rooms on irc (or it seems so). When it tries to connect (automatically after start or after I choose to join some room from menu) the window with rooms disappears and then appears again with new rooms opened.

Sometimes it happens that the window with rooms disappears suddenly and appears again but with less amount of rooms (some are close).

reporter:       libreport-2.1.9
backtrace_rating: 4
cmdline:        /usr/libexec/empathy-chat
crash_function: _g_log_abort
executable:     /usr/libexec/empathy-chat
kernel:         3.11.8-300.fc20.x86_64
package:        empathy-3.10.2-1.fc20
reason:         Process /usr/libexec/empathy-chat was killed by signal 6 (SIGABRT)
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 12 Petr Schindler 2013-11-18 08:34:48 UTC
Proposing as final freeze exception. This bug makes use of irc chat impossible.

Comment 13 Tomeu Vizoso 2013-11-18 08:42:36 UTC
Don't see it mentioned yet, so I'm adding the assertion message:

folks:ERROR:individual.c:3421:_folks_individual_persona_notify_cb: assertion failed: (ps.name == "individual" || (obj as Persona).individual == this)

It indeed is a major regression at least for me.

Comment 14 Tim Waugh 2013-11-18 10:05:07 UTC
Downgrading to empathy-3.10.1-2.fc20 seems to work around the issue.

Comment 15 Tim Waugh 2013-11-18 10:14:42 UTC
No, spoke to soon. empathy-3.10.1-2.fc20 still exhibits the problem. Maybe it's in one of the libraries/services it uses.

Comment 16 Tomeu Vizoso 2013-11-18 10:19:55 UTC
Downgrading to folks-0.9.5-1.fc20 fixed it for me.

Comment 17 Tim Waugh 2013-11-18 10:24:42 UTC
...but not for me. I just saw it with:
empathy-3.10.1-2.fc20.x86_64
folks-0.9.5-1.fc20.x86_64

Comment 18 Tomeu Vizoso 2013-11-18 10:34:08 UTC
Can you double-check? That assertion was added in this commit, which was first released in 0.9.6:

https://git.gnome.org/browse/folks/commit/?id=dbd75fa4927537eb9723d523d08edb0e11b6ea82

Comment 19 Tim Waugh 2013-11-18 11:47:22 UTC
Ah, it looks like empathy was still running even though I'd closed the contact list.

After killing off empathy and empathy-chat it works fine now with the packages listed in comment #17.

Comment 20 Petr Schindler 2013-11-18 12:41:59 UTC
It works for me too with folks-0.9.5-1.fc20.x86_64

Comment 21 Philip Withnall 2013-11-18 13:28:32 UTC
(In reply to Tomeu Vizoso from comment #13)
> Don't see it mentioned yet, so I'm adding the assertion message:
> 
> folks:ERROR:individual.c:3421:_folks_individual_persona_notify_cb: assertion
> failed: (ps.name == "individual" || (obj as Persona).individual == this)
> 
> It indeed is a major regression at least for me.

For the time being, you can just remove that assertion and things should work fine — the other changes in commit dbd75fa4927537eb9723d523d08edb0e11b6ea82 should be completely functionally equivalent to the old code.

(I added the assertion to smcv’s commit.)

I’ll investigate the root cause of the assertion failure, since it really shouldn’t be failing, and suggests there’s a bug in how the Telepathy backend handles IRC. Fixing that is less urgent, however, since this bug has obviously been present for a while.

Comment 22 Brian Pepple 2013-11-18 15:13:56 UTC
I've built a folks scratch build with the assert patched out, but don't have an F20 machine handy to test that it fixes this crash. If someone could test the build it would be most appreciated. Thanks!

https://koji.fedoraproject.org/koji/taskinfo?taskID=6193734

Comment 23 Petr Schindler 2013-11-18 16:07:11 UTC
I updated to folks-0.9.6-2.fc20.x86_64 and it seems to work properly. I haven't seen any problem so far. Thanks.

Comment 24 Brian Pepple 2013-11-18 16:13:43 UTC
(In reply to Petr Schindler from comment #23)
> I updated to folks-0.9.6-2.fc20.x86_64 and it seems to work properly. I
> haven't seen any problem so far. Thanks.

Ok, I'll go and build this, then push an update so it can get some wider testing. Thanks!

Comment 25 Fedora Update System 2013-11-18 16:52:20 UTC
folks-0.9.6-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/folks-0.9.6-2.fc20

Comment 26 Fedora Update System 2013-11-18 20:20:05 UTC
Package folks-0.9.6-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing folks-0.9.6-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-21632/folks-0.9.6-2.fc20
then log in and leave karma (feedback).

Comment 27 Philip Withnall 2013-11-20 13:26:35 UTC
(In reply to Philip Withnall from comment #21)
> I’ll investigate the root cause of the assertion failure, since it really
> shouldn’t be failing, and suggests there’s a bug in how the Telepathy
> backend handles IRC. Fixing that is less urgent, however, since this bug has
> obviously been present for a while.

I can’t actually reproduce this myself (I’m still on Fedora 19, but using Empathy, folks and telepathy-idle from master doesn’t help). The problem is definitely not related to IRC, as telepathy-idle doesn’t implement the Telepathy ContactList interface, which means libfolks ignores it entirely, and never creates a single Persona for any IRC handle.

I’ve made the following two commits which should fix the problem. The first downgrades the assertion to a debug statement, as on reflection the assertion is not quite valid (see the comment I added to the code). The second tweaks the code slightly so the assertion should be valid again, but changes it back to a warning rather than assertion, because the penalty for me being wrong (again) is too high.
 • https://git.gnome.org/browse/folks/commit/?id=c7318f12dede2d56c64b7e9cddc5a26b77c2c89ahttps://git.gnome.org/browse/folks/commit/?id=f00534294d7d52ac7e37dfaa075e3465b7755483

In order to debug this further and be more sure of the fixes, I’d need some logs gathered with:
    G_MESSAGES_DEBUG=all FOLKS_DEBUG=all folks-inspect
when reproducing the crash with folks-inspect (which I believe should be possible).

Comment 28 Tim Waugh 2013-11-20 17:09:27 UTC
Created attachment 826762 [details]
folks-inspect.txt

Output from:

G_MESSAGES_DEBUG=all FOLKS_DEBUG=all folks-inspect

folks-0.9.6-1.fc20.x86_64
folks-tools-0.9.6-1.fc20.x86_64
empathy-3.10.2-1.fc20.x86_64

Comment 29 Adam Williamson 2013-11-20 19:08:36 UTC
Discussed at 2013-11-20 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-11-20/f20-blocker-review.2013-11-20-17.00.log.txt . The update to fix this is already pending stable push and we're not frozen, so there's really no need to consider FE status. It can always be re-proposed if, for some odd reason, it needs to be after freeze.

Comment 30 Philip Withnall 2013-11-21 12:19:13 UTC
(In reply to Tim Waugh from comment #28)
> Created attachment 826762 [details]
> folks-inspect.txt
> 
> Output from:
> 
> G_MESSAGES_DEBUG=all FOLKS_DEBUG=all folks-inspect
> 
> folks-0.9.6-1.fc20.x86_64
> folks-tools-0.9.6-1.fc20.x86_64
> empathy-3.10.2-1.fc20.x86_64

Did you actually reproduce the crash when you got those logs? I’m seeing nothing in the logs which I can relate to the conditions which cause the crash.

Comment 31 Tim Waugh 2013-11-21 12:34:12 UTC
I did, twice as I recall.

Comment 32 Philip Withnall 2013-11-21 13:02:09 UTC
(In reply to Tim Waugh from comment #31)
> I did, twice as I recall.

That’s odd. The logs don’t show any Tpf.Persona objects being created, but the crash is through a property notification emitted by a Tpf.Persona object.

Could you provide a backtrace from folks-inspect crashing please? If possible, could you please print out the contents of whichever FolksPersona struct appears in the interesting frames? (Please do redact any personal data as you did before.)

Thanks.

Comment 33 Tim Waugh 2013-11-21 13:50:01 UTC
folks-inspect didn't crash... but I saw the same symptom as before. The chat window disappeared and then came back. Then disappeared again, then came back.

I think empathy is crashing, not folks.

Comment 34 Philip Withnall 2013-11-21 15:38:42 UTC
(In reply to Tim Waugh from comment #33)
> folks-inspect didn't crash... but I saw the same symptom as before. The chat
> window disappeared and then came back. Then disappeared again, then came
> back.
> 
> I think empathy is crashing, not folks.

Could you run empathy-chat with the debug envars then please?

killall empathy-chat && G_MESSAGES_DEBUG=all FOLKS_DEBUG=all /usr/libexec/empathy-chat

Comment 35 Tim Waugh 2013-11-21 17:39:23 UTC
Created attachment 827392 [details]
output of empathy-chat

Comment 36 Philip Withnall 2013-11-21 19:33:54 UTC
Great, thanks. I think I’ve tracked it down to a bug in Empathy, which there’s now a patch for here: https://bugzilla.gnome.org/show_bug.cgi?id=712839

I can’t be 100% sure though, since I still can’t reproduce it myself.

Comment 37 Fedora Update System 2013-11-24 04:05:46 UTC
folks-0.9.6-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.