mysql - Ejabberd Disco Itteam 不会来

标签 mysql ejabberd ejabberd-module

版本:17.11

平台:ubuntu 16.04

使用 mod_muc 配置,有时迪斯科项目根本无法加载。 这是我用于迪斯科项目的配置。这是我在崩溃时发现的崩溃日志

mod_muc:
  db_type: sql
  default_room_options:
    - allow_subscription: true
    - mam: true
  access_admin:
    - allow: admin
  access_create: muc_create
  access_persistent: muc_create
  history_size: 100
  max_rooms_discoitems: 1000
  max_user_conferences: 50
  max_users_presence: 50

此外,在加入先前可用的同一 muc 时,无法获得连接。如果我重新启动服务器,一切都会正常,并且在某些时间后 muc 不会出现

错误日志:

Stopping MUC room x@conference.host.com
2018-07-27 12:57:39.972 [error] <0.32056.26> gen_fsm <0.32056.26> in state normal_state terminated with reason: bad return value: ok
2018-07-27 12:57:39.972 [error] <0.32056.26>@p1_fsm:terminate:760 CRASH REPORT Process <0.32056.26> with 0 neighbours exited with reason: bad return value: ok in p1_fsm:terminate/8 line 760


 2018-07-30 05:12:12 =ERROR REPORT====
 ** State machine <0.9190.27> terminating 
 ** Last event in was {route,<<>>,{iq,<<"qM1F3-119">>,set,<<"en">>,{jid,<<"usr_name">>,<<"x.y.com">>,<<"1140">>,<<"usr_name">>,<<"x.y.com">>,<<"1140">>},{jid,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<>>,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<>>},[{xmlel,<<"query">>,[{<<"xmlns">>,<<"urn:xmpp:mam:2">>}],[{xmlel,<<"set">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/rsm">>}],[{xmlel,<<"max">>,[],[{xmlcdata,<<"30">>}]},{xmlel,<<"after">>,[],[]}]},{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"urn:xmpp:mam:2">>}]}]}]}]}],#{ip => {0,0,0,0,0,65535,46291,27829}}}}
 ** When State == normal_state
 **      Data  == {state,<<"planet_discovery1532511384">>, 
 <<"conference.x.y.com">>,<<"x.y.com">>,{all,muc_create,[{allow, 
[{acl,admin}]}],muc_create},{jid,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<>>,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<>>},{config,<<"Planet Discovery">>,<<>>,true,true,true,anyone,true,true,false,true,true,true,false,true,true,true,true,false,<<>>,true,[moderator,participant,visitor],true,1800,200,false,<<>>,{0,nil},true},{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[[{<<"usr_name">>,<<"x.y.com">>,<<"1140">>}|{x.y.com,{jid,<<"usr_name">>,<<"x.y.com">>,<<"1140">>,<<"usr_name">>,<<"x.y.com">>,<<"1140">>},<<"usr_name@x.y.com/1140">>,moderator,{presence,<<"qM1F3-116">>,available,<<"en">>,{jid,<<"usr_name">>,<<"x.y.com">>,<<"1140">>,<<"usr_name">>,<<"x.y.com">>,<<"1140">>},{jid,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<"usr_name@x.y.com/1140">>,<<"planet_discovery1532511384">>,<<"conference.x.y.com">>,<<"usr_name@x.y.com/1140">>},undefined,[],undefined,[{xmlel,<<"c">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/caps">>},{<<"hash">>,<<"sha-1">>},{<<"node">>,<<"http://www.igniterealtime.org/projects/smack">>},{<<"ver">>,<<"p801v5l0jeGbLCy09wmWvQCQ7Ok=">>}],[]},{vcard_xupdate,{<<>>,<<>>},undefined}],#{ip => {0,0,0,0,0,65535,46291,27829}}}}]],[],[],[],[],[],[],[],[],[],[]}}},{dict,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},{dict,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},nil,{dict,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[[<<"usr_name@x.y.com/1140">>,{<<"usr_name">>,<<"x.y.com">>,<<"1140">>}]],[],[],[],[],[],[],[],[],[],[],[],[]}}},{dict,3,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[[{<<"usr_name">>,<<"x.y.com">>,<<>>}|{owner,<<>>}]],[],[],[[{<<"miga8747b6">>,<<"x.y.com">>,<<>>}|{owner,<<>>}]],[],[],[],[[{<<"ruba32cc6e">>,<<"x.y.com">>,<<>>}|{owner,<<>>}]],[]}}},{lqueue,{{[],[]},0,unlimited},1000},[],<<>>,false,nil,none,undefined}
** Reason for termination = 
** {bad_return_value,ok}
2018-07-30 05:12:12 =CRASH REPORT====
crasher:
  initial call: mod_muc_room:init/1
  pid: <0.9190.27>
  registered_name: []
  exception exit: {{bad_return_value,ok},[{p1_fsm,terminate,8,[{file,"src/p1_fsm.erl"},{line,760}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
  ancestors: ['mod_muc_x.y.com',ejabberd_gen_mod_sup,ejabberd_sup,<0.32330.26>]
  messages: []
  links: []
  dictionary: [{'$internal_queue_len',0}]
  trap_exit: true
  status: running
  heap_size: 6772
  stack_size: 27
  reductions: 3310
neighbours:
2018-07-30 12:41:56 =ERROR REPORT====

最佳答案

什么 ejabberd 版本?你是如何安装它的?

你的default_room_options的语法是错误的,你真的是这样使用那个配置的吗?

您对库存安装进行了哪些更改?我的意思是:您是否设置了一个由多个节点组成的集群,您是否启用了可能干扰 mod_muc 的其他模块...?

最重要的是:您已将 max_rooms_discoitems 设置为 10000。该服务有多少个房间?该选项应设置为一个较小的值,因为请求 10.000 个房间的 discoitem 意味着向每个房间请求信息,这意味着 10.000 个查询,这可能会产生未知的后果。如果您设置较低的值(例如 100),您的问题是否会重现?

关于mysql - Ejabberd Disco Itteam 不会来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51552455/

相关文章:

MySQL 备份文件 - 已有 CREATE DATABASE 语句

mysql - add_rosteritem 不能在 ejabberd 服务器中使用 xml_rpc

ios - XEP-0363 : HTTP File Upload in Swift

mysql 错误号 : 150 “Foreign key constraint is incorrectly formed” - MariaDB

php - 尝试检查某些数字 mysql php 之间的值

php - 如何解决共享主机上 PHP/MySQL 中的 CWE-259(硬编码密码)?

php - 无法使用 PHP 在 Linux 中写入日志文件

php - 如何在mysql数据库中保存xmpp聊天记录

ejabberd - 如何在 ejabberd 中阻止特定的 jabber_id 到特定的人?