-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Signal gets really slow on long Conversations #9930
Comments
I originally planned my own Bug report for this, but I think it fits here really well. I hope a dev can help here and get behind this issue, because I think Signal really has a performance Problem on some devices. I have a friend, that complains frequently about Signal being slow to send her messages. In a Group Chat it takes about 15 seconds for one message to send, sometimes up to one minute. Also media messages take a long time to download. Recieving messages is slow as well. When I send a message in the Group Chat with her, I notice that it takes several seconds until she receives the message, where other members receive them almost instantly. In one to one conversations it is a bit better, but still noticeable. She also tried it over mobile data and different WiFi networks, so it shouldn't be a network Problem on her end. Note: she has about 5 GB of stored Data in Signal. Device: Nokia 6 Debug Log: https://debuglogs.org/7838b66ab1607c0c8e9abaa93ec6b462cc1319dc5aa65f7d5effafb94c7ca8a7 |
Great to see, that I´m not alone. For a Messenger both phones should´ve plenty of Power. I have a guess what it might be, even tho I´m probably wrong with that. At least the Snapdragon 801 in my Phone doesnt support AES Encryption in Hardware. Couldnt find anything about the Snapdragon 430 in the Nokia 6. I know Signal Protocol uses ChaCha20 for Encryption, but doesnt that benefit from Hardware Encryption too? It took me around 6 Month till i opened this Bugreport, because i thought it might get fixed in some Updates and in Fact, this is my first Bug Report ever, so i hope i do anything right. My Log File was taken, after i sent a Message to a Contact, which i wasnt actively writing with, but where the Problem is the biggest. |
This bug might be a duplicate of #9881. I have this same issue, but I don't get to 50 seconds, but up to 15 seconds on the following devices (and specific chats of course): Huawei Honor 9 Sending lots of voice notes while the other is sending their own voice notes makes all this really terrible, messages lag behind and you have to wait for Signal to send them. At least 2 of these 4 devices have AES hardware acceleration, it might help to not arrive to 50 seconds but definitely the problem persists. A friend of mine fixed this by setting a limit of 5000 messages per conversation, while I didn't. His chat is quick now, mine is not, since I did not apply the limit. With another friend of mine, we have been creating a group each month with only me and her inside, so the chat history never gets too long. Signal needs this to be fixed as soon as possible. Please focus on this before adding new features, many users are not patient and are leaving. |
Quick Update: I think since 4.69.6 my Backup time is drastically reduced. Takes ~25-35 Minutes to complete the Full 7-8GB Backup, instead of ~3 hours. My Battery says "thank you". The Rest of the Problems still persist and get worse every Day. Its now at a Point where you can really feel and see how much slower Signal gets with every extra day. I send Messages from my PC now, because on my Phone its anything but "Realtime". If that continuous i see myself forced to switch to something else, as it not only not pleasant, but annoying at this point. I really hope someone can fix this, as I dont have the Skills todo it myself unfortunately. |
I have one of these really long one-to-one conversations as well and it's getting worse. My main issue is that after pressing send, I have to leave Signal in the foreground for the ~13 seconds it currently takes to send a message in that particular chat or the message will never send. If I put Signal in the background while a message is still sending, it will remain in the 'pending' state indefinitely (I guess the send job takes too long and gets killed by the OS?). If I reply to multiple things in quick succession, this can easily mean having to wait 50-60 seconds before I can do anything else on my phone. |
Not as bad for me, at least on txt msg. Pictures need to "show up" before i can leave it on sending in the Background, but if i switch immediately to another app, i recognize the same behaivior, but not every time. My Problem is just, that it takes around 30 sec to send one message and if u add another one in the sending process it takes easily 90 seconds for ONE message to get send. Rest one will follow after that in 30 or so sec steps. Quickly adds up to minutes of just waiting and while my txt partner can write messages, he/she often gets confused because my answers, which are way too late, make no sense at all. |
I also have the same problem as described by @haffenloher. Sometimes messages will not be sent at all if the app is put to the background too quickly after sending inside chats with a long message history (which also takes quite long if it works). Debug log: https://debuglogs.org/c7581cd3e032893312d3b7a8ea3fa02dbb086ab265b07febd91a409d8d3922bf |
Thank you all for your debug logs and information. We are aware of the issue and unfortunately there isn't a quick fix we can just knock out for y'all. We're hoping to dedicate some serious time to performance improvements in the very near future. This probably isn't the news you wanted to read, but we hear you, we are aware of it, and we want to fix it, it's just going to take a little time on our end. |
Thanks for your reply on that topic. I mean, its surely not what most of us wanna hear, thats right, but at least its something and we can hope that there might be a possible fix in the near future. I would guess, that most of us are patient enough to wait just a bit longer, even tho the experience is really unpleasant atm. Best of Luck for that Process and thanks for the Service :) |
Is there any Update regarding that Topic ? |
@Anti-ctrl Hi there, I know you're frustrated, but unfortunately there aren't any simple remedies here. Improving performance in this area involves making some large fundamental changes, which takes time. New debuglogs are always useful though. |
I understand that it takes time, but has anyone even started to do anything about that poor performance, or are there still coming new features, before anything is done ? I will Edit this and Post another Debuglog as soon as i can. Thanks for the reply. EDIT: Here is another Debuglog. Took it while chatting and waiting for sending on multiple messages in one Chat. Hope it helps somewhat.
And yes its really annoying, sorry for my rant, its just really frustrating. Thanks for the effort, good luck fixing it. Will donate 1 or 10 coffee´s next month to speed things up. |
@Anti-ctrl Doing investigations around performance and starting improvements is something I'm working on. I know as someone on the outside who is having a specific problem, it can be frustrating when you feel the team is prioritizing things that aren't your problem. And believe me when I say I understand that it's a bad problem. However, I assure you that there are many people with many different problems, and as a team we have to make hard decisions all the time about what we want to work on at that moment. I wanna fix this, it's just gonna take some work 👍 |
Unfortunately I am frustrated too about this issue, it's a total disaster. While using Signal and typing in some long chats and having to wait tens of seconds for messages to be sent in a 2020 smartphone, I really become willing to say some nice words here on this issue, but then I refrain :D Anyway it seems you're using zetetic database, did you have a look at this page related to performance issues? https://discuss.zetetic.net/t/sqlcipher-performance-optimization/14 I know I'm just an user, but I strongly recommend you stop adding new features and pay more attention to the issues. They are more than 700 and are growing. This is a bad sign unfortunately. I know fixing bugs is absolutely not funny, but especially this one should have an upmost importance. Anyway... Do you have any idea about where the bottleneck might be? Where do Signal threads hang? Inside your code or inside zatetic db code? |
This is happening to me too on a samsumg s9 with android 10. Just after a few days of conversation, the chat gets noticeably slower and the keyboard starts lagging, but not as bad as the OP. While I don't know much about the internals of the app, maybe you can only load the messages when the chat scrolls back? Instead of loading everything at once when the chat is opened. This sounds hard to do though. |
@richardddd98 Believe me, if I could create these performance problems on any device I have access to, I would be working on them. They seem to crop up in specific situations that I can't reproduce. Or, they happen incredibly sporadically and then never again. As such, most of my efforts have gone into adding diagnostics. In terms of testing on devices with a lot of messages, my personal install is something like 10.5 GB.
Yep, we already do this. |
(Using commit 40338af) I am not sure if I can help, but my Signal is also really slow (as you can see in the issues I opened).
With a where clause of LEFT OUTER JOIN part ON part.mid = mms._id
WHERE (thread_id = 9)
GROUP BY mms._id
ORDER BY date_received DESC
LIMIT 75,
25) The query in question was the If I remove the Existing query:
Deleting the group by
As you can see it is now able to leverage the No idea if that should take that long or whether this post is helpful or just random noise, but maybe it serves as another data point. |
@zyklon-b can you post a debug log from your phone? That could really help. |
@greyson-signal I have another debug log for you: https://debuglogs.org/85dad199e51250243afdaf0bad07c9baac8ac456c60b52d5e6bcb593659e03cf At first I sent many messages to a group that is slow for a member in the group. Then I sent more, while Signal was in the background for them. Signal has been really slow for them, and we had to create a new group, because the old one became to slow. We don't want to create new groups every time there are too many messages in it. I hope this issue can be fixed eventually. If we should test something and provide more debug logs we are happy to help. |
I seem to have had a similar phenomenon, for the first time today, and totally unexpected, on my Xiaomi Redmi Note 8 Pro. When switching to Signal it showed a black app screen with rudimentary UI elements and started to fill up only after several seconds, finishing in the background only while I found this issue. I also have a largish database of currently about 10.1 GiB. About 90 percent of total messages should be in maybe five conversations, with the rest being in another hundred or so conversations I've posted a debug log here |
I have made the experience that - in a slow conversation - it is faster to send the message and return to the conversation list than to wait for the message to be sent while keeping the slow conversation open. |
Experiencing this issue on Android. Message sending latency is often very high for myself and the counterparty, order of seconds sometimes over a minute. Latency is significantly reduced if I am using the desktop app. Signal install on Android is around 6.7GB. When message latency is particularly high, I notice an increased frequency of other bugs, e.g. the conversation list is randomised with various contacts, though if I click on any of them it takes me to the "true" conversation (given ordering by most recent message). I've posted a debug log here. |
Reposting from original post (with some corrections and additional info: _Messages take 1 to 3 minutes to send. Which makes having a live, ongoing chat very difficult and annoying. The issue doesn't seem to be an Internet one as this happens no matter what network both users are. Been using Signal as a main chat app for the past year, and was hoping this issue would get fixed but it still hasnt. I have a Samaung A70 running Android 10 (OneUI 2.5)_ I tried chatting with a fresh chat ( a user i do not have much chat history with) and it works fine. This only happens with long ongoing chats. Here is a debug log after sending multiple messages to test it: https://debuglogs.org/8c592bc11a199552bbae34b76a957fa5ad64971db5db09b0299494221df5a28a |
A solution to this issue maybe in avoiding overloading main chat container UI component via offloading chats content to preloader file based cache for fast queryless retrieval when scrolling the chat window up and down over visible realstate of the app UI. Edit: After one month of using signal for chatting with Friends and also for business contacts we all notice one issue regardless of Android devices generation and power One real issue that causes UI lagging from my prospective as a developer is that there is a large number of heavy transitions and style effects applied to UI elements that makes the app require huge processing resource to render on the hardware. My recommendation is to PLEASE Keep it light, simple and fast like in Marital and paper design patterns, no more shadows and transitions that kills ram and CPU when dealing with large number of elements in a long chat conversation. |
So, after almost half a year, there changed nothing. Great! Enough rant. I changed my Phone to a One Plus 6T with Snapdragon 845 and 8GB of RAM. 256GB UFS 2.1 Storage and Signal is still slow. The Chat i talked about got obviously bigger and even with my new, faster Phone, Signal is still slow. Really slow compared to anything else. Messages take around 10-15 Seconds to send, sometimes longer with Multiple Messages. So, the same Problem persists, even if its better than before, thanks to more Raw Power. Why is there no one REALLY Working on it? Cant be the case, that this MAJOR Problem is being ignored for almost 6 Month now, but new Features are being added like CO2 to the Atmosphere. This may be the case, why Signal will fail and Devs are just ignoring it. Just think about how many people will take the Time and open a Bug report for this. Not even 1 Percent will do it, they will just quit the App, if it gets annoying and Switch to Telegram, Whatsapp, Threema, Wire, or some other Alternative. That one "costumer" is lost probably forever, because the most basic thing isnt working. Writing Messages. EDIT: New Debuglog from new Phone. Taken After/While Sending Messages: https://debuglogs.org/0e367c07fe4fbcf078ec544da2651e04af92caa52a9c0cc2156c5b41b3aff1af |
@Anti-ctrl I really understand how you feel. The fact is Signal has a lot of bugs. A lot means a lot. A lot means that
and other bugs. All of this is very very annoying, I did not take time to report all this issues, as I did not report this one even though I've had it for months (it was actually inconceivable to me that nobody complained about that in Google Play Store reviews and here in GitHub). I just periodically follow these issues and eventually comment when I'm having that particular issue too. I agree with you. The large majority of the users won't even bother to open an issue here on GitHub. They would just click "Uninstall" and switch to Telegram, WhatsApp or something else instead. The reality is, Signal has too many issues, and developers don't seem to like fixing all these issues. That's the real problem. They just prefer to add features instead of fixing the bugs. Maybe it's more exciting, I know. In my opinion this is not the best approach, but I can't do much to change their opinion. Signal has bigger problems than this, unfortunately. I'm saying this as a user who has had this problem for more than 2 years (yes, more than 2 years of this slowness). There are other reasons of concern for security, and even though I emailed a question to them, they never answered. There are people reportedly losing all their conversation history or having difficulties restoring their backups. Have a look at #10751 and #10416. I can't even call my partner (who uses Xiaomi Mi A1) since there's a terrible eco from the other party. Open Signal issue list and have a look at them. There are many important issues. Some of them negate the most basic functionalities. So I guess they're giving more priority to them first. At least I hope it. I'm not sure, but I think Telegram for Android is developed by a single individual, and it has much fewer bugs. On the other hand, Wire has many more bugs than Signal. I don't really know what determines the reliability of these apps. Why Wire is extremely bugged, Signal is moderately bugged and Telegram is almost no bugged at all (but, you know, they forgot to implement a valid e2e encryption mechanism... just "marketing" they say...) Unfortunately you and I can't do anything apart from opening Android Studio and investigate this bug by ourselves, then try to contribute with fixing code. Since I don't have any intention to do this right now, I just wait for Signal to fix it, and try to hide or delay this issue when it starts to occur to people who recently joined Signal and I'm in contact with. This includes sending fewer messages (i.e. don't separate a laughing emoji from the previous message, writing less messages with more sentences in each, and so on). I know when it becomes obvious to them, it will be really hard for me to calm them down and avoid they switch to something else. There are some people who are relatively patient to these issues, and other ones who suddenly become really angry when something does not work as they expect. Really angry. You have four choices:
Putting more pressure on Signal developers can't help I guess. This only frustrates you and them. Personally, I just accept this compromise. I would rather prefer a stronger APK signature than this issue be solved. You don't notice this issue every day, it's true. But it defeats the purpose of Signal to allow you to communicate securely. If you want to chat without this issue, you would have to give up something else. I don't suggest you do it. At the end of the day, this is actually a minor issue. But of course the choice is yours and of your contacts |
I tried creating a backup and restoring from it, but it did not improve the issue. In long chats, sending a message still can take up to 25 seconds depending on the method. I can always send messages in these slow chats faster by sending them and returning to the conversation list. There seems to be some added cost when keeping the conversation open. Completely new chats send instantly with any method. Debug log and details
|
@hwinnemoe Thanks for your log! I think this is the first time in this thread someone has done more than submitting the debug log (including me), since you've pinpointed the message IDs that take long to send. It seems that the calls to I'll paste the part that seems relevant
This may have to do with the bug, since it's directly measuring the size of the conversation. However, tracing what that does, it seems to do a On searching "sqlite count linear instead of constant", I get this StackOverflow result which says that To be honest, I didn't look into it that deeply to see where the Something which would help is to reduce the number of calls to Personal note: I bought a new, more powerful, device in part due to this bug; this bug makes me hesitate recommending Signal, since not everyone has the means to do so. So, I'm willing to do my part to solve this bug. |
I think the Problem here is, that ALL Messages take long to send, which is why no one pointed it out yet. Nevertheless its quiet nice to see someone making progress, after almost one YEAR! Thanks alot for having a look and thanks to @hwinnemoe for being so precise! Good Job Guys/Girls! |
Just updating to say I've timed more closely how long to send in my 250K message chat-- 25-30 seconds for the first msg Again, this is on consecutive messages sent (IOW, a back and forth active conversation). It's pretty unusable tbh As I stated earlier, the problem DID exist on the desktop version to, shortly after I updated to v5, AND further updated to v 5.1.0, but THEN the desktop team did something on their end, which made ALL OF THAT go away, and suddenly, v 5.1.0 was working normally, i.e., instant messaging. (and still working perfectly a.o. v 5.4.0) My Android log is in my earlier post. |
Im wanted to fork the signal source code i will change the ui and add some
other features to it. And im wanted to publish in playstore. Help me for it.
…On Sun, 6 Jun 2021, 04:56 ultrajae, ***@***.***> wrote:
Just updating to say I've timed more closely how long to send in my 250K
message chat--
25-30 seconds for the first msg
1 min for the second
2 mins for the third-
and more for subsequent msgs
Again, this is on *consecutive* messages sent (IOW, a back and forth
active conversation).
It's pretty unusable tbh
As I stated earlier, the problem DID exist on the desktop version to,
shortly after I updated to v5, AND further updated to v 5.1.0, but THEN the
desktop team did something on their end, which made ALL OF THAT go away,
and suddenly, v 5.1.0 was working normally, i.e., instant messaging. (and
still working perfectly a.o. v 5.4.0)
My Android log is in my earlier post.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#9930 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQKBDIQ2XMRAIARNPUPILDDTRKXAPANCNFSM4QBCELZQ>
.
|
Is Signal 5.15 any better for you guys? |
Messages are sent a little bit faster, so IMO it's better |
Not much here Still 30 seconds for the first message to go through Don't know if it's worse on subsequent sends (consecutive of couse) |
Nope, not much progress |
Still experiencing the same issues with the latest update. |
I'd be interested in seeing updated logs from 5.15.x. I made some large changes to the conversation query to improve performance. It's markedly faster on large conversations on my phone, but if it's not better on yours, it'd be nice to see logs to find out where the time is being spent. |
Looking through your log, it's nice because I can see how long Thread 1 took to open pre-5.15 vs post 5.15. It's at least twice as fast, which is awesome and what I expected. How this feeds into message send performance is more complicated. But basically the database we use is currently single-threaded, so if you're sending a message, we can't do that database query and the conversation query at the same time, and that causes both of them to go slower as they wait on each other. And as you're sending a message, you're doing things like updating the status of that message, which is what causes the conversation to requery to get updated data and stuff. There's lot of interesting things we can do here, but the largest one is to parallelize reads on our database, which is something happening in the coming months. |
I think it's faster, but I switched phones a month ago so I can't really compare pre- and post- speeds |
This seems to be a scaling issue. Sending a message is not a constant time operation which is why it gets slower as chat size increases. Parallelizing the operation can improve the "symptoms" but it will not remove the underlying issue (that sending a message doesn't take a constant time). And although it will improve symptoms it will also increase resource usage. So the solution would be to make it so that the operation of sending a message takes a constant time. This is my subjective assessment of the situation and I may have interpreted this incorrectly and overlooked some more or less important details. |
@Nilslrl that seems to be precisely the case, and I think I've pinpointed where the linear time operation is, it seems to be a specific SQLite query (count). See my comment above. |
Here are my logs for 5.13 and 5.15. Minor improvement in sending time. 5.13: 5.15: |
Is this ever going to be addressed? Signal is quite unusable for me EXCEPT on desktop where they DID have this issue and fixed it with a couple weeks. |
It's easy for me to go through and delete messages to continue using signal, but it's hard to recommend this to friends and family. They do not understand the notion of deleting conversations to continue using the app at normal speeds. |
I never had much of a problem with message send times, but had ridiculously long spinners and other load times when preparing photos/videos to send, and those got a lot better with some update this month (July 2021). |
This is becoming a headache. There is a possible fix outlined here with the database call. And we know there is no technical barrier in getting this message send delay to happen because every messaging app out there can send without this problem :( |
Hooray! This issue seems to have been greatly minimised on the latest Signal Android v5.20! BETA |
Android vers 5.19.4 (latest available to me in Play Store) I just sent 8 consecutive texts in a row in my long "problem" conversation- It took over 90 seconds for it to complete all the texts (They were literally a, b, c, d, e, f, g, h. One letter each.) |
@sirsleon did you build 5.20? I have a basic question. If I build it from source, will I be able to use it with the production network? (i.e as the usual app) |
forget that. I just joined beta. it has 5.20.2. Yes.!! it does improve time. from 10s down to about ~3s ~2s for the same conversation thread. @ultrajae try the beta |
Can confirm that the Issue is resolved in 5.20.4. Got the Update via Playstore today and Messages are almost (2-3 sec) instant now, which is a great improvement and something i call perfectly fine. Thanks for the Work Guys and Girls, and thanks to everyone who contributed along the way! I'll close this now, as it is definitely resolved. |
4 days before this issue becomes a year old xD |
So far so good. Three seconds better than 30 seconds. Client is usable again. |
Bug description
If I have a long Chat with someone, probably multiple thousand Messages and Media in History, then the Chat gets REALLY slow. We talking about 40-50 sec for one Message to get send and it only gets slower. If you send multiple Messages after the first one, it can take up to multiple Minutes till they get send. Receiving Messages takes ~10-15 sec. Short Chats dont seem to be affected. Its the most brutal if the other Person is writing/answering at the same time as your Message sends. Signal gets really laggy, the phone gets hot and slow, till anything is sent. Not related to this, but maybe Interesting: Backups take around 3 hours to finish. Backupfile is around 7GB in Size.
Steps to reproduce
Actual result: Messages take sometimes Minutes to Send.
Expected result: Messages should be send almost instant, like in a fresh Chat.
Device info
Device: Galaxy S5 klte / SM-G900F and One Plus 6T
Android version: 9.0 LineageOS 16 / Stock Rom
Signal version: 4.68.8, persists in 4.69.6, persists in 4.70.3, persists in 4.70.5, persists in 5.8.10, solved in 5.20.4
Link to debug log
https://debuglogs.org/fff230b9173168bd607d678f019b51b7dc38c12ced3661f169c51e1968b147d8
EDIT: New Log, while sending and receiving Messages at the same time:
https://debuglogs.org/7eead199b7af5be480058d38b128f766cf4536beb0be0b4a24aa2ad962aada09
EDIT2: Now (28th Aug) the Problem is so bad, that the App gets nearly unusable. Messages take around 90 Seconds to get send. Only in that one, long Chat. As long as one Message in that Chat is sending, anything else is almost not responding and the App locks up sometimes. Even receiving Messages in that Chat is so slow, that sometimes the Person thinks i lost connection or turned off my Phone. Isnt there anything that can be done, without loosing all the History ? I used Whatsapp for some time before and had Chats with around 30-40k Messages and NEVER had any Problems like that, why is it, that Signal has such poor Performance ?
EDIT3 (4th Nov): Time to send one Message went up to ~130 secs. Pics dont always send. Just the Text under them. App is barely usable whenever i access a long Chat.
EDIT4 (Feb 2021): Changed Phone from a Galaxy S5 with Snapdragon 801 and 2GB RAM, to a One Plus 6T with Snapdragon 845 and 8GB RAM. Problem still persists, but is better thanks to more Raw Power. Chat still gets slower every Day, even tho not as noticeable anymore, probably also thanks to more power.
EDIT5 (18th Aug 2021): Problem seems resolved. Performance in a long Chat is drastically Improved with Version 5.20.4. A Message takes around 2-3 seconds now, which i consider "instant". Good Job Guys and Girls!
Probably Related
#9881
The text was updated successfully, but these errors were encountered: