Showing posts with label ejabberd load testing. Show all posts
Showing posts with label ejabberd load testing. Show all posts

Friday, June 25, 2021

ejabberd Error - CRASH REPORT Process with 0 neighbours exited with reason

CRASH REPORT Process <0.645.0> with 0 neighbours exited with reason: {process_limit,{max_queue,xxxx}} in p1_fsm:terminate/8 line 755

Solution : 1
Change @all@ to @online@ in shared roster group. 
 
Now it does not disconnect immediately because it loads only online users instead of all registered users. 
 
@all@ was showing error because ejabberd was loading all registered users in the list that's why it was getting crashed but @online@ is not giving any error now because all registered users are not online yet. 
 
If you have more than 1000 registered users. This solution might work for you as all 1000 users might not be online at once and there are high chances that system will not have enough load.

Solution 2 :
Update following attribute in the ejabberd config file conf/ejabberd.yml
max_fsm_queue: 10000
You will find the attribute under "port 5222:" section

listen:
  -
    port: 5222
    module: ejabberd_c2s
    certfile: "/home/ubuntu/ejabberd-16.06/conf/server.pem"
    starttls: true
    resume_timeout: 0
    protocol_options:
      - "no_sslv3"
    max_stanza_size: 65536
    shaper: c2s_shaper
    access: c2s
    max_fsm_queue: 100000
I have tried this and
I did not get above error for 2000 users even if @all@ is selected in shared roster group.

I would suggest you to implement both solutions.