whatsmeow icon indicating copy to clipboard operation
whatsmeow copied to clipboard

Goroutines use a lot of RAM memory after this error

Open hunsky14 opened this issue 1 year ago • 2 comments

There are thousands of logs like this

I send thousands of messages a day, but some messages give an error like this, one attempt to send a message can generate tens of thousands of goroutines that do not close and take up RAM memory, so I have to restart server to clear goroutines

Pls help, how can I solve this RAM memory usage?

11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.406 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.407 [Client WARN] Handler queue is full, message ordering is no longer guaranteed 11:16:36.408 [Client WARN] Handler queue is full, message ordering is no longer guaranteed

hunsky14 avatar May 31 '24 22:05 hunsky14

One of your event handlers is likely to respond too slow

a5r0n avatar Jun 13 '24 12:06 a5r0n

From what I can see in the log timestamp, the log lines differ by almost only 1 ms or even less. I believe that currently, you are running goroutines without any limits (max workers). When you run the client after it has been turned off for a while, many incoming messages are processed almost simultaneously without delay, filling up the goroutine queue.

You need to set a maximum limit on the number of goroutines running in the event handler that you added to client.AddEventHandler(), manage it by your own.

ghost avatar Nov 15 '24 14:11 ghost