sm00th / bitlbee-discord

Bitlbee plugin for Discord (http://discordapp.com)
GNU General Public License v2.0
290 stars 27 forks source link

Messages stopped working #14

Closed Silver-D closed 8 years ago

Silver-D commented 8 years ago

I think messages have stopped working. A friend messaged me from discord the other day, I received it just fine. But today, I was trying to connect through to bitlbee-discord and bitlbee kept crashing with SIGSERV.

I opened my discord.app @me and saw that I had a message from someone hours ago that I never received while logged in though the irc client. After reading the message, bitlbee-discord successfully connected.

May not have anything to do with it, but I pulled the latest git before I had the last message sent to me.

sm00th commented 8 years ago

Was it a private message? Was there any special about the message like mentions or urls in it, or was it just plain text?

There should be a way for discord-bitlbee to miss a message unless websocket connection is broken somehow and it reconnects as soon as it detects this there also shouldn't be any difference between a "lost" message and a message sent while you are offline. I tried to reproduce it by sending a bunch of both private and channel messages to my other account while it was offline and logged in just fine.

May not have anything to do with it, but I pulled the latest git before I had the last message sent to me.

So just to be clear: you were running latest bitlbee-discord(i.e. ae894c5) both when it lost the message and when bitlbee crashed with SIGSEGV?

Silver-D commented 8 years ago

Yes, private message. Moreover, i opened an icnognito window, opened the invite url for the discord server without logging in and sent a two letter message to myself on bitlbee. Nothing.

I tried sending a private message from bitlbee to my incognito self and it said that the user is offline. No message was received on the other end. Also i couldn't even tab-complete on my irc client to my incognito client, as if he wasn't in the channels .

Weird. I am using 3.4.1 bitlbee and 1.6.0 websocket releases without git, but pulling latest bitlbee-discord.

I have the same setup at work without your latest commit, i'll test more when i get there -- but i have been recompiling stuff a lot, could something have been compiled incorrectly?

Sent from iPhone

On 14 Jan 2016, at 12:38, Artem Savkov notifications@github.com wrote:

Was it a private message? Was there any special about the message like mentions or urls in it, or was it just plain text?

There should be a way for discord-bitlbee to miss a message unless websocket connection is broken somehow and it reconnects as soon as it detects this there also shouldn't be any difference between a "lost" message and a message sent while you are offline. I tried to reproduce it by sending a bunch of both private and channel messages to my other account while it was offline and logged in just fine.

May not have anything to do with it, but I pulled the latest git before I had the last message sent to me.

So just to be clear: you were running latest bitlbee-discord(i.e. ae894c5) both when it lost the message and when bitlbee crashed with SIGSERV?

— Reply to this email directly or view it on GitHub.

Silver-D commented 8 years ago

Also i have a crash report diagnostic if that woukd help

Sent from iPhone

On 14 Jan 2016, at 12:38, Artem Savkov notifications@github.com wrote:

Was it a private message? Was there any special about the message like mentions or urls in it, or was it just plain text?

There should be a way for discord-bitlbee to miss a message unless websocket connection is broken somehow and it reconnects as soon as it detects this there also shouldn't be any difference between a "lost" message and a message sent while you are offline. I tried to reproduce it by sending a bunch of both private and channel messages to my other account while it was offline and logged in just fine.

May not have anything to do with it, but I pulled the latest git before I had the last message sent to me.

So just to be clear: you were running latest bitlbee-discord(i.e. ae894c5) both when it lost the message and when bitlbee crashed with SIGSERV?

— Reply to this email directly or view it on GitHub.

sm00th commented 8 years ago

Ok, it is a bit more clear now. The crash you were seeing should be fixed by c09d403, I managed to trigger a crash in backlog code by deleting a channel it was sent to, It is not what happened in your case but the failure point should be the same.

The problem with incognito messages not showing up is not solved however, looks like those are handled differently from normal users, I'll look closer into this.

Silver-D commented 8 years ago

Wait. When I got to work, I couldn't login to discord AT ALL with segfaults. Then I saw your commit, and it fixed that. But wait.

Connect to your bitlebee-discord. Then ask a registered user to send you a message that has NEVER ever sent you a private message before. You should not get it. Restart bitlebee-discord and connect. You should crash. Open web browser, read message, restart bitlbee-discord. Everything is fine. From that point onwards you should receive messages from that user just fine.

I tested this with two accounts without incognito and I could not it to reproduce the bug, even when i deleted every single message from the message history of my browser user. Then I asked someone else to send me a private message, and BOOM.

On Thu, Jan 14, 2016 at 2:42 PM, Artem Savkov notifications@github.com wrote:

Ok, it is a bit more clear now. The crash you were seeing should be fixed by c09d403 https://github.com/sm00th/bitlbee-discord/commit/c09d4039520f53a4874c9ba9bb31a9989d80767a, I managed to trigger a crash in backlog code by deleting a channel it was sent to, It is not what happened in your case but the failure point should be the same.

The problem with incognito messages not showing up is not solved however, looks like those are handled differently from normal users, I'll look closer into this.

— Reply to this email directly or view it on GitHub https://github.com/sm00th/bitlbee-discord/issues/14#issuecomment-171620883 .

sm00th commented 8 years ago

Ah, that how it works, that makes sense now. Thanks for finding the reproducer, I'll look into this later today.

sm00th commented 8 years ago

Ok, now I found what was going on with both missing messages and that sefgault. 4dc5bce should fix both. Thanks again for this report. Can you check if the latest commit fixes it for you?

sm00th commented 8 years ago

Tested it with @Silver-D, seems to work now.