Server disconnects, "fb_data_add_message: assertion 'FB_IS_DATA(fata)' failed"
Closed this issue · 5 comments
Recently I've been unable to use bitlbee-facebook properly. After connecting to the bitlbee server, my Facebook account is logged in and unread messages are fetched and displayed in their own channels (since I have show_unread
on). Shortly after, however, I get disconnected from the bitlbee server. I get reconnected soon after, logging me in to my accounts and repeating the whole process.
There's not much warning in the &bitlbee
channel:
23:56 <@root> facebook - Logging in: Connecting
23:56 <@root> facebook - Logging in: Logged in
23:56 -- irc: disconnected from server
The bitlbee service itself logs these lines as I get disconnected:
Aug 22 23:56:47 rivendell bitlbee[19031]: fb_data_add_message: assertion 'FB_IS_DATA(fata)' failed
Aug 22 23:56:47 rivendell bitlbee[19031]: fb_data_add_message: assertion 'FB_IS_DATA(fata)' failed
Preceding paste was from journalctl, but I observed the same logs when running sudo bitlbee -F -n
manually as well.
Looks like a crash, see https://wiki.bitlbee.org/DebuggingCrashes
Backtrace (pastebinned, 2740 lines): http://ix.io/1kZO
Notes:
- Interestingly, I couldn't get the crash to reproduce with the flags
-Dnv
as stated in the wiki (Incidentally this may be the workaround I'm hoping for). My service uses-F -n
and so I was able to reproduce the crash with flags-Fnv
for the gdb invocation. - Passwords and secrets have been changed to
REDACTED
, as well as 4 instances of JSON detailing my Facebook contacts.
Bitlbee version output:
12:07 -- CTCP query to root: VERSION
12:07 -- CTCP reply from root: VERSION BitlBee 3.5.1
Distro: Arch Linux
How it was installed:
- bitlbee is installed from official repos
- bitlbee-facebook is installed from the AUR
List of plugins installed or protocols used:
- XMPP (with OTR support)
- MQTT via bitlbee-facebook
That doesn't have a backtrace. The idea of using -D instead of -F is that with the latter a child process is created and gdb doesn't debug that one.
Given that you use arch linux, the coredumpctl method detailed in the same wiki page might be easier.
Otherwise, gdb -p <pid of child process>
, wait for the crash and then type bt.
My bad. With coredumpctl: http://ix.io/1l0t
Closing because I've been using bitlbee-facebook without this issue for a quite a while now again.