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:
runlevel: N 5
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
Created attachment 824824 [details]
Created attachment 824825 [details]
Created attachment 824826 [details]
Created attachment 824827 [details]
Created attachment 824828 [details]
Created attachment 824829 [details]
Created attachment 824830 [details]
Created attachment 824831 [details]
Created attachment 824832 [details]
Created attachment 824833 [details]
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).
reason: Process /usr/libexec/empathy-chat was killed by signal 6 (SIGABRT)
runlevel: N 5
Proposing as final freeze exception. This bug makes use of irc chat impossible.
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.
Downgrading to empathy-3.10.1-2.fc20 seems to work around the issue.
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.
Downgrading to folks-0.9.5-1.fc20 fixed it for me.
...but not for me. I just saw it with:
Can you double-check? That assertion was added in this commit, which was first released in 0.9.6:
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.
It works for me too with folks-0.9.5-1.fc20.x86_64
(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.
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!
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.
(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!
folks-0.9.6-2.fc20 has been submitted as an update for Fedora 20.
* 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:
then log in and leave karma (feedback).
(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.
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).
Created attachment 826762 [details]
G_MESSAGES_DEBUG=all FOLKS_DEBUG=all folks-inspect
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.
(In reply to Tim Waugh from comment #28)
> Created attachment 826762 [details]
> Output from:
> G_MESSAGES_DEBUG=all FOLKS_DEBUG=all folks-inspect
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.
I did, twice as I recall.
(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.)
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.
(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
> 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
Created attachment 827392 [details]
output of empathy-chat
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.
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.