davidgfnet / whatsapp-purple

WhatsApp protocol implementation for libpurple (pidgin)
855 stars 211 forks source link

New devel version doesn't receive a single message #391

Open andreas-42 opened 8 years ago

andreas-42 commented 8 years ago

Every attempt to receive a message in the new devel version 5e0d80a just leads to an axolotl exception. I've tested this with three people and haven't received a single message from any of them, no matter whether they are logged in or not. Sending messages seems to work.

Anyone else having this problem? I'm back to testing.

davidgfnet commented 8 years ago

Hey Andreas, can you edit your accounts.xml and remove a massive line you will find there? It should contain the axolotl key store, by removing it you will "reset" the state and it might work again. Thanks!

andreas-42 commented 8 years ago

OK, in a first test with one person removing the axolotl line in accounts.xml seems to work. The first delivery attempt still gave an exception (No such signedprekeyrecord! 40720 Unknown error), then there was another attempt immediately after that, which worked correctly.

Hopefully it works then in general...

davidgfnet commented 8 years ago

Yep the first attempt should always fail, since your keys have changed. Next ones should be ok. Moreover if you stop and restart pidgin it should work without retries, which is convenient if your contact is offline (hopefully no more work message deordering) :D

andreas-42 commented 8 years ago

I just did some extensive testing of the new devel version with one particular contact person (so no group chats). Here are several errors concerning lost or misordered messages that I can reproduce. All of the following situations assume that my friend and I are logged out to start with (i.e. his smartphone is in flight mode, my pidgin is not running). They also assume that we have exchanged keys before (i.e. after resetting the axolotl database we were both once logged in at the same time, and we both wrote a message to each other).

  1. He logs in, writes a message, logs out. After that, I log in. Result: If it is the first time after resetting the database (and exchanging the keys), I get the message immediately, even if he is logged out. This is how it should be. However, on subsequent tries of exactly the same thing, I don't get the message immediately, but only when he logs in again. (It seems that after setting up the axolotl database correctly the first time it is scrambled later on.) Sometimes it even happened that, when I log in, his message appears in pidgin with my name (as if I wrote it), and then it appears again with his name when he logs in as well. But the latter I cannot really reproduce at the moment.
  2. We both log in. He starts writing messages, I get them immediately. Now I start sending messages as well. Of my messages, exactly the first one arrives. All others are lost, although he can see that I'm typing. Very weird: if we both log in and I start writing messages, then everything works fine, even if we exchange several messages in both directions afterwards.
  3. I log in and type some messages, after that I log out again (i.e. quit pidgin). Result: Again, exactly the first of these messages is delivered to him when he logs in, all other messages are lost.
  4. I log in and type some messages, but this time I stay online. He logs in some time later. Result: he receives all my messages, but in totally random order.

@davidgfnet,If you need traces of any of these situations, or any more information, just let me know.

davidgfnet commented 8 years ago

Wow so many weird cases! So the first time it works, but it doesn't on subsequent cases, weird. I tested myself without much trouble. Could you share logs please? I know it's tedious to capture them and properly compose the story, but you are really helping here :) Thanks!

andreas-42 commented 8 years ago

@davidgfnet, I just sent you log files for all the above situations. Hope this helps. ;)