hoehermann / purple-gowhatsapp

Pidgin/libpurple plug-in for WhatsApp Web.
GNU General Public License v3.0
287 stars 35 forks source link

Pidgin crash after scanning QR code #61

Closed gbasisty closed 4 years ago

gbasisty commented 4 years ago

Hi! I have compiled the source code with no errors and the plugin is now on ~/.purple/plugins/libgowhatsapp.so When I run pidgin, it shows the QR code, and after I scann it with my phone, pidgin crushes with the following error message:

munmap_chunk(): invalid pointer [1] 1660 abort pidgin

Debian 10 amd_64 here. Any ideas?

Best regards, and thank you in advance.-

hoehermann commented 4 years ago

Thank you for the report. This looks like #60 and #52. Maybe related to #53 or #56, too. It does not happen to me so I cannot reproduce this issue for purpose of investigating. :(

lienardj commented 4 years ago

Got the same problem. Which version of pidgin do you use? I'm using 2.13 on Ubuntu 20.04.

hoehermann commented 4 years ago

Finally, a crash right after login happened to me, too.

@lienardj @gbasisty @alcmoraes @AllwinSamuelJeba @pkar70 @leolca Is version 0.3.0 (current master at commit 5626858) working for you? Binaries are available at https://buildbot.hehoe.de/purple-gowhatsapp/builds/.

leolca commented 4 years ago

Sorry... but still crashing. I've tried the nightly build and I've tried to compile from the source. Both have crashed. I'm also on Pidgin 2.13.0 (libpurple 2.13.0) and Ubuntu 20.04.

lienardj commented 4 years ago

Hi, the same. I have two accounts, one with just around 100 contacts, another with 700-800 contacts.

The problem occurs when I activate the big account, with 700-800 contacts. I don't have the problem with the build libgowhatsapp_0.2.0~git485f60e+gowhatsapp~git5e33cb4_amd64_ubuntu18.04.so from the 2020-05-01.

Result of $ pidgin -d > pidgin-log.txt pidgin-log.txt

hoehermann commented 4 years ago

Dang it.

I don't have the problem with the build libgowhatsapp_0.2.0~git485f60e+gowhatsapp~git5e33cb4_amd64_ubuntu18.04.so from the 2020-05-01.

That is very valuable information. Thank you very much. It means the problem is somewhere in the proxy support. I am not typically using a proxy myself – that is probably why the crash does not happen on my system. I want to do some investigation. Are you folks using a proxy?

lienardj commented 4 years ago

No, I don't use a proxy. I have configured both account with "no proxy", still crashing.

hoehermann commented 4 years ago

I still cannot find the cause of this issue over here on my computer.

However, as this problem affects relatively many users, I feel motivated to solve it. I am willing to enter a remote debugging session with any of you. Preferably someone who compiles the plug-in themselves. I imagine we enter a video chat, share a screen via Skype/Discord/whatever or a terminal session via tmate or local ssh server. You can then watch me as I develop/debug on your system. You should probably create a new local account so I do not have direct access to your data (apart from your WhatsApp account). Have gdb installed. Prepare to scan the QR code often and hear a lot of cussing. Send a mail to hoehermann@gmx.de if you are interested.

hoehermann commented 4 years ago

@lienardj kindly helped me do some investigation. I am very grateful. It looks like at one critical point I have been mistaking garbage-collected memory (managed by Go) for heap-allocated memory ("managed" by C) for the past year. It is a miracle this was working at all.

@lienardj @Industry @gbasisty @alcmoraes @AllwinSamuelJeba @pkar70 @leolca @brianjmurrell – does version 0.3.2 eliminate or reduce crashes for you? It would be really helpful some of you could give it a try and tell me about the results. Binaries for Ubuntu 18.04 and Windows are available at https://buildbot.hehoe.de/purple-gowhatsapp/builds/.

On a side-note: Months ago, I noticed something was off with the memory management and left myself a note to do later: https://github.com/hoehermann/purple-gowhatsapp/blob/4f7f9da/libgowhatsapp.c#L322 – Would have saved us a lot of time and crashes if I had investigated a little further just then. -.-

leolca commented 4 years ago

it works! :+1: :-)

lienardj commented 4 years ago

It's working. I didn't got a crash for the whole day.

Great job!

hoehermann commented 4 years ago

Reported fixed.