[ejabberd] Key_exists ejabberd 18.12.1 error

jela.babic at iten.rs jela.babic at iten.rs
Tue Feb 19 13:42:05 MSK 2019


Hi,

I am using ejabberd v18.12.1. Ejabberd is installed on Ubuntu v16.04. 
Sometimes comes to the bosh error which logs out currently logged in 
user. In the error log there is this message.
Does anyone know what could be the cause of this?

Error log
---------

2019-02-18 23:24:36.437 [error] <0.4951.0> gen_fsm <0.4951.0> in state 
active terminated with reason: {key_exists,1525342438} in 
gb_trees:insert_1/4 line 319
2019-02-18 23:24:36.450 [error] <0.4951.0> CRASH REPORT Process 
<0.4951.0> with 0 neighbours exited with reason: {key_exists,1525342438} 
in gb_trees:insert_1/4 line 319 in p1_fsm:terminate/8 line 760
2019-02-18 23:24:36.453 [error] <0.640.0> Supervisor 'mod_bosh_SERVER' 
had child undefined started with {ejabberd_bosh,start_link,undefined} at 
<0.4951.0> exit with reason {key_exists,1525342438} in 
gb_trees:insert_1/4 line 319 in context child_terminated


Configuration file
------------------

language: "en"
hosts:
   - "localhost"
   - "SERVER"

loglevel: 5
log_rotate_size: 10485760
log_rotate_date: ""
log_rotate_count: 1
log_rate_limit: 100

certfiles:
   - "/opt/ejabberd-18.12.1/conf/server.pem"

ca_file: "/opt/ejabberd-18.12.1/conf/cacert.pem"

listen:
   -
     port: 5222
     ip: "::"
     module: ejabberd_c2s
     max_stanza_size: 262144
     shaper: c2s_shaper
     access: c2s
     starttls_required: true
   -
     port: 5269
     ip: "::"
     module: ejabberd_s2s_in
     max_stanza_size: 524288
   -
     port: 5443
     ip: "::"
     module: ejabberd_http
     request_handlers:
       "/api": mod_http_api
       "/bosh": mod_bosh
       "/upload": mod_http_upload
       "/ws": ejabberd_http_ws
       "/oauth": ejabberd_oauth
     web_admin: true
     captcha: false
     tls: true
     certfile: "/opt/ejabberd-18.12.1/conf/SERVER.pem"

     s2s_use_starttls: optional

acl:
   local:
     user_regexp: ""
   loopback:
     ip:
       - "127.0.0.0/8"
       - "::1/128"
       - "::FFFF:127.0.0.1/128"
   admin:
     user:
       - "admin": "localhost"
       - "admin": "SERVER"

access_rules:
   local:
     - allow: local
   c2s:
     - deny: blocked
     - allow
   announce:
     - allow: admin
   configure:
     - allow: admin
   muc_create:
     - allow: local
   pubsub_createnode:
     - allow: local
   register:
     - allow
   trusted_network:
     - allow: loopback

api_permissions:
   "console commands":
     from:
       - ejabberd_ctl
     who: all
     what: "*"
   "admin access":
     who:
       - access:
           - allow:
             - acl: loopback
             - acl: admin
       - oauth:
         - scope: "ejabberd:admin"
         - access:
           - allow:
             - acl: loopback
             - acl: admin
     what:
       - "*"
       - "!stop"
       - "!start"
   "public commands":
     who:
       - ip: "127.0.0.1/8"
     what:
       - "status"
       - "connected_users_number"

shaper:
   normal: 1000
   fast: 50000

shaper_rules:
   max_user_sessions: 10
   max_user_offline_messages:
     - 5000: admin
     - 100
   c2s_shaper:
     - none: admin
     - normal
   s2s_shaper: fast

max_fsm_queue: 10000

acme:
    contact: "mailto:admin at SERVER"
    ca_url: "https://acme-v01.api.letsencrypt.org"

modules:
   mod_adhoc: {}
   mod_admin_extra: {}
   mod_announce:
     access: announce
   mod_avatar: {}
   mod_blocking: {}
   mod_bosh: {}
   mod_caps: {}
   mod_carboncopy: {}
   mod_client_state: {}
   mod_configure: {}
   mod_disco: {}
   mod_fail2ban: {}
   mod_http_api: {}
   mod_http_upload:
     put_url: "https://@HOST@:5443/upload"
   mod_last: {}
   mod_mam:
     ## Mnesia is limited to 2GB, better to use an SQL backend
     ## For small servers SQLite is a good fit and is very easy
     ## to configure. Uncomment this when you have SQL configured:
     db_type: mnesia
     assume_mam_usage: true
     default: always
   mod_muc:
     access:
       - allow
     access_admin:
       - allow: admin
     access_create: muc_create
     access_persistent: muc_create
     default_room_options:
       allow_subscription: true  # enable MucSub
       ## mam: true
   mod_muc_admin: {}
   mod_offline:
     access_max_user_messages: max_user_offline_messages
   mod_ping: {}
   mod_privacy: {}
   mod_private: {}
   mod_proxy65:
     access: local
     max_connections: 5
   mod_pubsub:
     access_createnode: pubsub_createnode
     plugins:
       - "flat"
       - "pep"
     force_node_config:
       ## Change from "whitelist" to "open" to enable OMEMO support
       ## See https://github.com/processone/ejabberd/issues/2425
       "eu.siacs.conversations.axolotl.*":
         access_model: whitelist
       ## Avoid buggy clients to make their bookmarks public
       "storage:bookmarks":
         access_model: whitelist
   mod_push: {}
   mod_push_keepalive: {}
   mod_register:
     ## Only accept registration requests from the "trusted"
     ## network (see access_rules section above).
     ## Think twice before enabling registration from any
     ## address. See the Jabber SPAM Manifesto for details:
     ## https://github.com/ge0rg/jabber-spam-fighting-manifesto
     ip_access: trusted_network
   mod_roster:
     versioning: true
   mod_s2s_dialback: {}
   mod_shared_roster: {}
   mod_stream_mgmt:
     resend_on_timeout: if_offline
   mod_vcard: {}
   mod_vcard_xupdate: {}
   mod_version:
   show_os: false



More information about the ejabberd mailing list