What version of ejabberd are you using?
ejabberd 17.03 beta (or git version)
What operating system (version) are you using?
CentOS 7
How did you install ejabberd (source, package, distribution)?
source install
one server
postgersql 9.2.2
What did not work as expected? Are there error messages in the log? What
was the unexpected behavior? What was the expected result?
Step1 : start
$ vi .../ejabberd.yml
-------------------------------------------------------------------------------------------------------------------
...
hosts:
- "multi-test.test.com"
- "nowcos.test.com"
- "gwcool.test.com"
host_config: {"nowcos.test.com": {auth_method: sql, sql_type: pgsql, sql_server: "localhost", sql_port: 5432, sql_database: "nowcos", sql_username: "nowcos" }}
host_config: {"gwcool.test.com": {auth_method: sql, sql_type: pgsql, sql_server: "localhost", sql_port: 5432, sql_database: "gwcool", sql_username: "gwcool" }}
...
-------------------------------------------------------------------------------------------------------------------
$ ejabberdctl start
[email protected] login - Success
Step2 : add gwhot.test.com domain
$ vi .../ejabberd.yml
-------------------------------------------------------------------------------------------------------------------
...
hosts:
- "multi-test.test.com"
- "nowcos.test.com"
- "gwcool.test.com"
- "gwhot.test.com"
host_config: {"nowcos.test.com": {auth_method: sql, sql_type: pgsql, sql_server: "localhost", sql_port: 5432, sql_database: "nowcos", sql_username: "nowcos" }}
host_config: {"gwcool.test.com": {auth_method: sql, sql_type: pgsql, sql_server: "localhost", sql_port: 5432, sql_database: "gwcool", sql_username: "gwcool" }}
host_config: {"gwhot.test.com": {auth_method: sql, sql_type: pgsql, sql_server: "localhost", sql_port: 5432, sql_database: "gwhot", sql_username: "gwhot" }}
-------------------------------------------------------------------------------------------------------------------
$ ejabberdctl reload-config
Step3 : [email protected] login - Failed - host-unknown
ejabberd.log
-------------------------------------------------------------------------------------------------------------------
...
2017-03-08 14:55:21.426 [info] <0.336.0>@ejabberd_listener:accept:311 (<0.839.0>) Accepted connection 192.168.52.105:49284 -> 192.168.49.12:5222
2017-03-08 14:55:21.658 [debug] <0.839.0>@ejabberd_receiver:process_data:287 Received XML on stream = <<"<?xml version=\"1.0\"?>\n<stream:stream xmlns:stream=\"http://etherx.jabber.org/streams\" version=\"1.0\" xmlns=\"jabber:client\" to=\"gwhot.test.com\" xml:lang=\"en\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\">\n">>
2017-03-08 14:55:21.659 [debug] <0.840.0>@ejabberd_socket:send:216 (tcp|<0.839.0>) Send XML on stream = <<"<?xml version='1.0'?><stream:stream id='723428166898621891' version='1.0' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' from='gwhot.test.com' xmlns='jabber:client'>">>
2017-03-08 14:55:21.659 [debug] <0.840.0>@ejabberd_socket:send:216 (tcp|<0.839.0>) Send XML on stream = <<"<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>">>
2017-03-08 14:55:21.659 [debug] <0.840.0>@ejabberd_socket:send:216 (tcp|<0.839.0>) Send XML on stream = <<"</stream:stream>">>
-------------------------------------------------------------------------------------------------------------------
$ ejabberdctl registered_vhosts
gwcool.test.com
gwhot.test.com
nowcos.test.com
multi-test.test.com
So you're too lazy to describe the problem, but we're not lazy to read this console output?
sorry, I am poor at English
I debugged, not store <<"gwhot.test.com">> domain.
Cannot reproduce, here is the diff of my config before reload and after reload:
```diff
-hosts: ["localhost"]
+hosts: ["localhost", "192.168.1.1"]
loglevel: 4
@@ -25,6 +25,12 @@
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd_test"
sql_username: "ejabberd_test"
sql_password: "ejabberd_test"
sql_pool_size: 1
For the record, I'm using the latest git revision
Thank you for answer.
But I do not.
Below is my history.
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
hosts: ["localhost"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl stop
$ /usr/local/ejabberd17_git/sbin/ejabberdctl start
$ /usr/local/ejabberd17_git/sbin/ejabberdctl debug
...
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"localhost">>,<<"irc.localhost">>,
<<"conference.localhost">>]
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
hosts: ["localhost", "192.168.49.12"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
"192.168.49.12":
sql_type: pgsql
sql_database: "gwhot"
sql_username: "gwhot"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl reload_config
$ /usr/local/ejabberd17_git/sbin/ejabberdctl debug
...
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"pubsub.192.168.49.12">>,
<<"localhost">>,<<"irc.localhost">>,<<"irc.192.168.49.12">>,
<<"conference.localhost">>,<<"conference.192.168.49.12">>]
In the second,
The domain <<"192.168.49.12">> is missing.
So I get host unknown.
I got the latest version before testing.
Full config please, maybe there is some interaction with other values which is causing the bug.
###
###' ejabberd configuration file
###
###
### The parameters used in this configuration file are explained in more detail
### in the ejabberd Installation and Operation Guide.
### Please consult the Guide in case of doubts, it is included with
### your copy of ejabberd, and is also available online at
### http://www.process-one.net/en/ejabberd/docs/
### The configuration file is written in YAML.
### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.
### However, ejabberd treats different literals as different types:
###
### - unquoted or single-quoted strings. They are called "atoms".
### Example: dog, 'Jupiter', '3.14159', YELLOW
###
### - numeric literals. Example: 3, -45.0, .0
###
### - quoted or folded strings.
### Examples of quoted string: "Lizzard", "orange".
### Example of folded string:
### > Art thou not Romeo,
### and a Montague?
###. =======
###' LOGGING
##
## loglevel: Verbosity of log files generated by ejabberd.
## 0: No ejabberd log at all (not recommended)
## 1: Critical
## 2: Error
## 3: Warning
## 4: Info
## 5: Debug
##
#loglevel: 4
loglevel: 5
##
## rotation: Describe how to rotate logs. Either size and/or date can trigger
## log rotation. Setting count to N keeps N rotated logs. Setting count to 0
## does not disable rotation, it instead rotates the file and keeps no previous
## versions around. Setting size to X rotate log when it reaches X bytes.
## To disable rotation set the size to 0 and the date to ""
## Date syntax is taken from the syntax newsyslog uses in newsyslog.conf.
## Some examples:
## $D0 rotate every night at midnight
## $D23 rotate every day at 23:00 hr
## $W0D23 rotate every week on Sunday at 23:00 hr
## $W5D16 rotate every week on Friday at 16:00 hr
## $M1D0 rotate on the first day of every month at midnight
## $M5D6 rotate on every 5th day of the month at 6:00 hr
##
log_rotate_size: 10485760
log_rotate_date: ""
log_rotate_count: 1
##
## overload protection: If you want to limit the number of messages per second
## allowed from error_logger, which is a good idea if you want to avoid a flood
## of messages when system is overloaded, you can set a limit.
## 100 is ejabberd's default.
log_rate_limit: 100
##
## watchdog_admins: Only useful for developers: if an ejabberd process
## consumes a lot of memory, send live notifications to these XMPP
## accounts.
##
## watchdog_admins:
## - "[email protected]"
###. ===============
###' NODE PARAMETERS
##
## net_ticktime: Specifies net_kernel tick time in seconds. This options must have
## identical value on all nodes, and in most cases shouldn't be changed at all from
## default value.
##
## net_ticktime: 60
###. ================
###' SERVED HOSTNAMES
##
## hosts: Domains served by ejabberd.
## You can define one or several, for example:
## hosts:
## - "example.net"
## - "example.com"
## - "example.org"
##
#hosts:
# - "localhost"
##
## route_subdomains: Delegate subdomains to other XMPP servers.
## For example, if this ejabberd serves example.org and you want
## to allow communication with an XMPP server called im.example.org.
##
## route_subdomains: s2s
###. ===============
###' LISTENING PORTS
##
## listen: The ports ejabberd will listen on, which service each is handled
## by and what options to start it with.
##
listen:
-
port: 5222
module: ejabberd_c2s
##
## If TLS is compiled in and you installed a SSL
## certificate, specify the full path to the
## file and uncomment these lines:
##
## certfile: "/path/to/ssl.pem"
## starttls: true
##
## To enforce TLS encryption for client connections,
## use this instead of the "starttls" option:
##
## starttls_required: true
##
## Custom OpenSSL options
##
## protocol_options:
## - "no_sslv3"
## - "no_tlsv1"
max_stanza_size: 65536
shaper: c2s_shaper
access: c2s
-
port: 7222
module: ejabberd_c2s
protocol_options:
- "no_sslv2"
- "no_sslv3"
- "no_tlsv1"
- "no_tlsv1_1"
ciphers: "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
certfile: "/usr/local/ejabberd17_git/etc/ejabberd/ssl/test_com.pem"
starttls: true
starttls_required: true
max_stanza_size: 65536
shaper: c2s_shaper
access: c2s
-
port: 5269
module: ejabberd_s2s_in
##
## ejabberd_service: Interact with external components (transports, ...)
##
## -
## port: 8888
## module: ejabberd_service
## access: all
## shaper_rule: fast
## ip: "127.0.0.1"
## privilege_access:
## roster: "both"
## message: "outgoing"
## presence: "roster"
## delegations:
## "urn:xmpp:mam:1":
## filtering: ["node"]
## "http://jabber.org/protocol/pubsub":
## filtering: []
## hosts:
## "icq.example.org":
## password: "secret"
## "sms.example.org":
## password: "secret"
##
## ejabberd_stun: Handles STUN Binding requests
##
## -
## port: 3478
## transport: udp
## module: ejabberd_stun
##
## To handle XML-RPC requests that provide admin credentials:
##
## -
## port: 4560
## module: ejabberd_xmlrpc
## access_commands: {}
-
port: 5280
module: ejabberd_http
request_handlers:
"/websocket": ejabberd_http_ws
## "/pub/archive": mod_http_fileserver
web_admin: true
http_bind: true
## register: true
captcha: true
###. ==================
###' S2S GLOBAL OPTIONS
##
## s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.
## Allowed values are: false optional required required_trusted
## You must specify a certificate file.
##
## s2s_use_starttls: optional
##
## s2s_certfile: Specify a certificate file.
##
## s2s_certfile: "/path/to/ssl.pem"
## Custom OpenSSL options
##
## s2s_protocol_options:
## - "no_sslv3"
## - "no_tlsv1"
##
## domain_certfile: Specify a different certificate for each served hostname.
##
## host_config:
## "example.org":
## domain_certfile: "/path/to/example_org.pem"
## "example.com":
## domain_certfile: "/path/to/example_com.pem"
##
## S2S whitelist or blacklist
##
## Default s2s policy for undefined hosts.
##
## s2s_access: s2s
##
## Outgoing S2S options
##
## Preferred address families (which to try first) and connect timeout
## in milliseconds.
##
## outgoing_s2s_families:
## - ipv4
## - ipv6
## outgoing_s2s_timeout: 10000
###. ==============
###' AUTHENTICATION
##
## auth_method: Method used to authenticate the users.
## The default method is the internal.
## If you want to use a different method,
## comment this line and enable the correct ones.
##
#auth_method: internal
##
## Store the plain passwords or hashed for SCRAM:
## auth_password_format: plain
## auth_password_format: scram
##
## Define the FQDN if ejabberd doesn't detect it:
## fqdn: "server3.example.com"
##
## Authentication using external script
## Make sure the script is executable by ejabberd.
##
## auth_method: external
## extauth_program: "/path/to/authentication/script"
##
## Authentication using SQL
## Remember to setup a database in the next section.
##
auth_method: sql
##
## Authentication using PAM
##
## auth_method: pam
## pam_service: "pamservicename"
##
## Authentication using LDAP
##
## auth_method: ldap
##
## List of LDAP servers:
## ldap_servers:
## - "localhost"
##
## Encryption of connection to LDAP servers:
## ldap_encrypt: none
## ldap_encrypt: tls
##
## Port to connect to on LDAP servers:
## ldap_port: 389
## ldap_port: 636
##
## LDAP manager:
## ldap_rootdn: "dc=example,dc=com"
##
## Password of LDAP manager:
## ldap_password: "******"
##
## Search base of LDAP directory:
## ldap_base: "dc=example,dc=com"
##
## LDAP attribute that holds user ID:
## ldap_uids:
## - "mail": "%[email protected]"
##
## LDAP filter:
## ldap_filter: "(objectClass=shadowAccount)"
##
## Anonymous login support:
## auth_method: anonymous
## anonymous_protocol: sasl_anon | login_anon | both
## allow_multiple_connections: true | false
##
## host_config:
## "public.example.org":
## auth_method: anonymous
## allow_multiple_connections: false
## anonymous_protocol: sasl_anon
##
## To use both anonymous and internal authentication:
##
## host_config:
## "public.example.org":
## auth_method:
## - internal
## - anonymous
###. ==============
###' DATABASE SETUP
## ejabberd by default uses the internal Mnesia database,
## so you do not necessarily need this section.
## This section provides configuration examples in case
## you want to use other database backends.
## Please consult the ejabberd Guide for details on database creation.
##
## MySQL server:
##
## sql_type: mysql
## sql_server: "server"
## sql_database: "database"
## sql_username: "username"
## sql_password: "password"
##
## If you want to specify the port:
## sql_port: 1234
##
## PostgreSQL server:
##
#sql_type: pgsql
#sql_server: "localhost"
#sql_database: "ejabberd"
#sql_username: "ejabberd"
#sql_password: ""
##
## If you want to specify the port:
#sql_port: 5432
##
## If you use PostgreSQL, have a large database, and need a
## faster but inexact replacement for "select count(*) from users"
##
## pgsql_users_number_estimate: true
##
## SQLite:
##
## sql_type: sqlite
## sql_database: "/path/to/database.db"
##
## ODBC compatible or MSSQL server:
##
## sql_type: odbc
## sql_server: "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"
##
## Number of connections to open to the database for each virtual host
##
## sql_pool_size: 10
##
## Interval to make a dummy SQL request to keep the connections to the
## database alive. Specify in seconds: for example 28800 means 8 hours
##
## sql_keepalive_interval: undefined
###. ===============
###' TRAFFIC SHAPERS
shaper:
##
## The "normal" shaper limits traffic speed to 1000 B/s
##
normal: 1000
##
## The "fast" shaper limits traffic speed to 50000 B/s
##
fast: 50000
##
## This option specifies the maximum number of elements in the queue
## of the FSM. Refer to the documentation for details.
##
max_fsm_queue: 1000
###. ====================
###' ACCESS CONTROL LISTS
acl:
##
## The 'admin' ACL grants administrative privileges to XMPP accounts.
## You can put here as many accounts as you want.
##
admin:
user:
- "[email protected]"
## - "[email protected]"
##
## Blocked users
##
## blocked:
## user:
## - "[email protected]"
## - "test"
## Local users: don't modify this.
##
local:
user_regexp: ""
##
## More examples of ACLs
##
## jabberorg:
## server:
## - "jabber.org"
## aleksey:
## user:
## - "[email protected]"
## test:
## user_regexp: "^test"
## user_glob: "test*"
##
## Loopback network
##
loopback:
ip:
- "127.0.0.0/8"
##
## Bad XMPP servers
##
## bad_servers:
## server:
## - "xmpp.zombie.org"
## - "xmpp.spam.com"
##
## Define specific ACLs in a virtual host.
##
## host_config:
## "localhost":
## acl:
## admin:
## user:
## - "bob-local@localhost"
###. ============
###' SHAPER RULES
shaper_rules:
## Maximum number of simultaneous sessions allowed for a single user:
#max_user_sessions: 10
max_user_sessions: 1
## Maximum number of offline messages that users can have:
max_user_offline_messages:
- 5000: admin
- 100
## For C2S connections, all users except admins use the "normal" shaper
c2s_shaper:
- none: admin
- normal
## All S2S connections use the "fast" shaper
s2s_shaper: fast
###. ============
###' ACCESS RULES
access_rules:
## This rule allows access only for local users:
local:
- allow: local
## Only non-blocked users can use c2s connections:
c2s:
- deny: blocked
- allow
## Only admins can send announcement messages:
announce:
- allow: admin
## Only admins can use the configuration interface:
configure:
- allow: admin
## Only accounts of the local ejabberd server can create rooms:
muc_create:
- allow: local
## Only accounts on the local ejabberd server can create Pubsub nodes:
pubsub_createnode:
- allow: local
## In-band registration allows registration of any possible username.
## To disable in-band registration, replace 'allow' with 'deny'.
register:
- allow
## Only allow to register from localhost
trusted_network:
- allow: loopback
## Do not establish S2S connections with bad servers
## s2s:
## - deny:
## - ip: "XXX.XXX.XXX.XXX/32"
## - deny:
## - ip: "XXX.XXX.XXX.XXX/32"
## - allow
## ===============
## API PERMISSIONS
## ===============
##
## This section allows you to define who and using what method
## can execute commands offered by ejabberd.
##
## By default "console commands" section allow executing all commands
## issued using ejabberdctl command, and "admin access" section allows
## users in admin acl to execute all commands except start and stop
## with any available access method (ejabberdctl, http-api, xmlrpc
## depending what is enabled on server).
##
## Remember to not remove "console commands" section when doing modifications
## or ejabberdctl will not be able to execute commands!
##
##
## api_permissions:
## "console commands":
## from:
## - ejabberd_ctl
## who: all
## what: "*"
## "admin access":
## who:
## - admin
## - oauth:
## - scope: "ejabberd:admin"
## - admin
## what:
## - "*"
## - "!stop"
## - "!start"
## By default the frequency of account registrations from the same IP
## is limited to 1 account every 10 minutes. To disable, specify: infinity
## registration_timeout: 600
##
## Define specific Access Rules in a virtual host.
##
## host_config:
## "localhost":
## access:
## c2s:
## - allow: admin
## - deny
## register:
## - deny
###. ================
###' DEFAULT LANGUAGE
##
## language: Default language used for server messages.
##
language: "en"
##
## Set a different default language in a virtual host.
##
## host_config:
## "localhost":
## language: "ru"
###. =======
###' CAPTCHA
##
## Full path to a script that generates the image.
##
## captcha_cmd: "/lib/ejabberd/priv/bin/captcha.sh"
##
## Host for the URL and port where ejabberd listens for CAPTCHA requests.
##
## captcha_host: "example.org:5280"
##
## Limit CAPTCHA calls per minute for JID/IP to avoid DoS.
##
## captcha_limit: 5
###. =======
###' MODULES
##
## Modules enabled in all ejabberd virtual hosts.
##
modules:
mod_adhoc: {}
mod_admin_extra: {}
mod_announce: # recommends mod_adhoc
access: announce
mod_blocking: {} # requires mod_privacy
mod_caps: {}
mod_carboncopy: {}
mod_client_state: {}
mod_configure: {} # requires mod_adhoc
##mod_delegation: {} # for xep0356
mod_disco: {}
## mod_echo: {}
mod_irc: {}
mod_http_bind: {}
## mod_http_fileserver:
## docroot: "/var/www"
## accesslog: "/var/log/ejabberd/access.log"
mod_last: {}
mod_muc:
## host: "conference.@HOST@"
access:
- allow
access_admin:
- allow: admin
access_create: muc_create
access_persistent: muc_create
## mod_muc_log: {}
## mod_multicast: {}
mod_offline:
access_max_user_messages: max_user_offline_messages
mod_ping: {}
## mod_pres_counter:
## count: 5
## interval: 60
mod_privacy: {}
mod_private: {}
## mod_proxy65: {}
mod_pubsub:
access_createnode: pubsub_createnode
## reduces resource comsumption, but XEP incompliant
ignore_pep_from_offline: true
## XEP compliant, but increases resource comsumption
## ignore_pep_from_offline: false
last_item_cache: false
plugins:
- "flat"
- "hometree"
- "pep" # pep requires mod_caps
## mod_register:
##
## Protect In-Band account registrations with CAPTCHA.
##
## captcha_protected: true
##
## Set the minimum informational entropy for passwords.
##
## password_strength: 32
##
## After successful registration, the user receives
## a message with this subject and body.
##
## welcome_message:
## subject: "Welcome!"
## body: |-
## Hi.
## Welcome to this XMPP server.
##
## When a user registers, send a notification to
## these XMPP accounts.
##
## registration_watchers:
## - "[email protected]"
##
## Only clients in the server machine can register accounts
##
## ip_access: trusted_network
##
## Local c2s or remote s2s users cannot register accounts
##
## access_from: deny
## access: register
mod_roster: {}
mod_shared_roster: {}
mod_stats: {}
mod_time: {}
mod_vcard:
search: false
mod_version: {}
mod_stream_mgmt: {}
## Non-SASL Authentication (XEP-0078) is now disabled by default
## because it's obsoleted and is used mostly by abandoned
## client software
## mod_legacy_auth: {}
## The module for S2S dialback (XEP-0220). Please note that you cannot
## rely solely on dialback if you want to federate with other servers,
## because a lot of servers have dialback disabled and instead rely on
## PKIX authentication. Make sure you have proper certificates installed
## and check your accessibility at https://xmpp.net/
mod_s2s_dialback: {}
## add by unturtle - mydebug
#mod_myvhost: {}
##
## Enable modules with custom options in a specific virtual host
##
## host_config:
## "localhost":
## modules:
## mod_echo:
## host: "mirror.localhost"
##
## Enable modules management via ejabberdctl for installation and
## uninstallation of public/private contributed modules
## (enabled by default)
##
allow_contrib_modules: true
###.
###'
### Local Variables:
### mode: yaml
### End:
### vim: set filetype=yaml tabstop=8 foldmarker=###',###. foldmethod=marker:
#hosts: ["localhost"]
hosts: ["localhost", "192.168.49.12"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
"192.168.49.12":
sql_type: pgsql
sql_database: "gwhot"
sql_username: "gwhot"
sql_password: ""
sql_pool_size: 1
07:21:58.776 [error] unknown option '192.168.49.12' will be likely ignored
After fixing this host_config issue, your config works for me
I'm sorry. It is my mistake.
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
"192.168.49.12":
sql_type: pgsql
sql_database: "gwhot"
sql_username: "gwhot"
sql_password: ""
sql_pool_size: 1
Space Two spaces are required.
But the error is the same.
# /usr/local/ejabberd17_git/sbin/ejabberdctl debug
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"pubsub.192.168.49.12">>,
<<"localhost">>,<<"irc.localhost">>,<<"irc.192.168.49.12">>,
<<"conference.localhost">>,<<"conference.192.168.49.12">>]
But I do not have this error with the same config with the same version.
How is it possible?
$ git rev-parse HEAD
Also try to clean everything and recompile:
$ make distclean
$ ./autogen.sh
$ ./configure --blah-blah
$ make
If this doesn't help I will tell you what debugging commands to use
I still do not. 銋溿厹
$ /usr/local/ejabberd17_git/sbin/ejabberdctl stop
$ mv /root/unturtle/src/ejabberd /root/unturtle/src/ejabberd_git_old
$ mv /usr/local/ejabberd17_git /usr/local/ejabberd17_git_old
$ cd /root/unturtle/src/ejabberd_git_old
$ git rev-parse HEAD
9a142eb8075d98b4741222bbb76f897b22795acf
md5-07e6e4633daa501a14239e67d1c02901
$ cd /root/unturtle/src
$ git clone git://github.com/processone/ejabberd.git ejabberd
$ cd ejabberd
$ git rev-parse HEAD
9a142eb8075d98b4741222bbb76f897b22795acf
$ export ERL_TOP=`pwd`
$ export LANG=C
$ export GIT_SSL_NO_VERIFY=0
$ make distclean
$ ./autogen.sh
$ ./configure --prefix=/usr/local/ejabberd17_git \
--enable-pgsql
$ make
$ make install
md5-0812fe614a8045ab764f5390ad9d4e92
$ cp -ra /usr/local/ejabberd1703/etc/ejabberd/ssl/ /usr/local/ejabberd17_git/etc/ejabberd/
# Only the edits in the default settings
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
#loglevel: 4
loglevel: 5
...
#hosts:
# - "localhost"
...
-
port: 7222
module: ejabberd_c2s
protocol_options:
- "no_sslv2"
- "no_sslv3"
- "no_tlsv1"
- "no_tlsv1_1"
ciphers: "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
certfile: "/usr/local/ejabberd17_git/etc/ejabberd/ssl/test_com.pem"
starttls: true
starttls_required: true
max_stanza_size: 65536
shaper: c2s_shaper
access: c2s
...
#auth_method: internal
...
admin:
user:
- "[email protected]"
...
#max_user_sessions: 10
max_user_sessions: 1
...
mod_admin_extra: {}
...
hosts: ["localhost"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl start
$ /usr/local/ejabberd17_git/sbin/ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 17.03.beta-61 is running in that node
md5-4a7241febed0735f5530f71b9fde1262
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
hosts: ["localhost", "192.168.49.12"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
"192.168.49.12":
sql_type: pgsql
sql_database: "gwhot"
sql_username: "gwhot"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl reload_config
md5-900419d307aa0cd3f894f61af4bcd726
$ /usr/local/ejabberd17_git/sbin/ejabberdctl debug
...
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"pubsub.192.168.49.12">>,
<<"localhost">>,<<"irc.localhost">>,<<"irc.192.168.49.12">>,
<<"conference.localhost">>,<<"conference.192.168.49.12">>]
Replace this function with this one (copy the snippet exactly, with all punctuation):
host_up(Host) ->
?INFO_MSG("routes before: ~p", [ets:tab2list(route)]),
?INFO_MSG("registering local route ~s", [Host]),
ejabberd_router:register_route(Host, Host, {apply, ?MODULE, route}),
?INFO_MSG("routes after: ~p", [ets:tab2list(route)]),
ejabberd_hooks:add(local_send_to_resource_hook, Host,
?MODULE, bounce_resource_packet, 100).
recompile, run make install and try to add a virtual host again. You should see this newly added log messages during configuration reload, show them here.
If you don't see them, dump host_up hook:
$ ejabberdctl debug
...
> ets:lookup(hooks, {host_up, global}).
$ vi src/ejabberd_local.erl
--------------------------------------------------------------------------------
...
host_up(Host) ->
?INFO_MSG("routes before: ~p", [ets:tab2list(route)]), % debug by zinid
?INFO_MSG("registering local route ~s", [Host]), % debug by zinid
ejabberd_router:register_route(Host, Host, {apply, ?MODULE, route}),
?INFO_MSG("routes after: ~p", [ets:tab2list(route)]), % debug by zinid
ejabberd_hooks:add(local_send_to_resource_hook, Host,
?MODULE, bounce_resource_packet, 100).
...
--------------------------------------------------------------------------------
$ ./rebar compile
==> goldrush (compile)
==> lager (compile)
==> p1_utils (compile)
==> cache_tab (compile)
==> fast_tls (compile)
==> stringprep (compile)
==> fast_xml (compile)
==> xmpp (compile)
==> stun (compile)
==> esip (compile)
==> fast_yaml (compile)
==> jiffy (compile)
==> p1_oauth2 (compile)
==> luerl (compile)
==> p1_pgsql (compile)
==> ezlib (compile)
==> iconv (compile)
==> rel (compile)
==> ejabberd (compile)
Compiled src/ejabberd_local.erl
$ cp -a ebin/ejabberd_local.beam /usr/local/ejabberd17_git/lib/ejabberd-17.03.beta-61/ebin/
cp: overwrite '/usr/local/ejabberd17_git/lib/ejabberd-17.03.beta-61/ebin/ejabberd_local.beam'? y
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
hosts: ["localhost"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl stop
$ /usr/local/ejabberd17_git/sbin/ejabberdctl start
$ vi /usr/local/ejabberd17_git/etc/ejabberd/ejabberd.yml
--------------------------------------------------------------------------------
...
hosts: ["localhost", "192.168.49.12"]
host_config:
"localhost":
sql_type: pgsql
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: ""
sql_pool_size: 1
"192.168.49.12":
sql_type: pgsql
sql_database: "gwhot"
sql_username: "gwhot"
sql_password: ""
sql_pool_size: 1
--------------------------------------------------------------------------------
$ /usr/local/ejabberd17_git/sbin/ejabberdctl reload_config
$ tail -f /usr/local/ejabberd17_git/var/log/ejabberd/ejabberd.log
...
2017-03-15 16:01:28.006 [debug] <0.333.0>@ejabberd_access_permissions:handle_call:139 Command 'reload_config' execution allowed by rule 'console commands' (CallerInfo=#{caller_module => ejabberd_ctl})
2017-03-15 16:01:28.006 [debug] <0.513.0>@ejabberd_commands:do_execute_command:633 Executing command ejabberd_admin:reload_config with Args=[]
2017-03-15 16:01:28.008 [warning] <0.513.0>@ejabberd_config:emit_deprecation_warning:1435 Module mod_http_bind is deprecated, use mod_bosh instead
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:282 routes before: [{route,<<"irc.localhost">>,<<"localhost">>,<0.470.0>,undefined},{route,<<"conference.localhost">>,<<"localhost">>,<0.417.0>,undefined},{route,<<"localhost">>,<<"localhost">>,<0.410.0>,{apply,ejabberd_local,route}},{route,<<"pubsub.localhost">>,<<"localhost">>,<0.456.0>,undefined}]
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:283 registering local route 192.168.49.12
2017-03-15 16:01:28.020 [debug] <0.513.0>@ejabberd_router:register_route:154 Route registered: 192.168.49.12
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:285 routes after: [{route,<<"irc.localhost">>,<<"localhost">>,<0.470.0>,undefined},{route,<<"conference.localhost">>,<<"localhost">>,<0.417.0>,undefined},{route,<<"localhost">>,<<"localhost">>,<0.410.0>,{apply,ejabberd_local,route}},{route,<<"192.168.49.12">>,<<"192.168.49.12">>,<0.513.0>,{apply,ejabberd_local,route}},{route,<<"pubsub.localhost">>,<<"localhost">>,<0.456.0>,undefined}]
2017-03-15 16:01:28.020 [debug] <0.379.0>@ejabberd_mnesia:schema:100 No custom ejabberd_sql_sup schema path
2017-03-15 16:01:28.021 [debug] <0.515.0> Supervisor 'ejabberd_sql_sup_192.168.49.12' started ejabberd_sql:start_link(<<"192.168.49.12">>, 30000) at pid <0.516.0>
2017-03-15 16:01:28.021 [debug] <0.379.0> Supervisor ejabberd_rdbms started ejabberd_sql_sup:start_link(<<"192.168.49.12">>) at pid <0.515.0>
2017-03-15 16:01:28.021 [warning] <0.513.0>@gen_mod:sort_modules:149 module 'mod_mam' is recommended for module 'mod_muc' but is not found in the config
2017-03-15 16:01:28.021 [debug] <0.497.0>@ejabberd_mnesia:schema:100 No custom ejabberd_auth_mnesia schema path
2017-03-15 16:01:28.021 [debug] <0.497.0>@ejabberd_mnesia:schema:100 No custom ejabberd_auth_mnesia schema path
2017-03-15 16:01:28.022 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_shared_roster at 192.168.49.12
2017-03-15 16:01:28.022 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_shared_roster_mnesia schema path
2017-03-15 16:01:28.022 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_shared_roster_mnesia schema path
2017-03-15 16:01:28.022 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_adhoc at 192.168.49.12
2017-03-15 16:01:28.022 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_muc at 192.168.49.12
2017-03-15 16:01:28.023 [debug] <0.520.0>@ejabberd_router:register_route:154 Route registered: conference.192.168.49.12
2017-03-15 16:01:28.023 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_private at 192.168.49.12
2017-03-15 16:01:28.023 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_private_mnesia schema path
2017-03-15 16:01:28.024 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_muc_192.168.49.12'}, mod_muc, [<<"192.168.49.12">>,[{access,[{allow,[all]}]},{access_admin,[{allow,[{acl,admin}]}]},{access_create,...},...]], []) at pid <0.520.0>
2017-03-15 16:01:28.032 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_ping at 192.168.49.12
2017-03-15 16:01:28.032 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_privacy at 192.168.49.12
2017-03-15 16:01:28.032 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_privacy_mnesia schema path
2017-03-15 16:01:28.032 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_ping_192.168.49.12'}, mod_ping, [<<"192.168.49.12">>,[]], []) at pid <0.529.0>
2017-03-15 16:01:28.032 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_disco at 192.168.49.12
2017-03-15 16:01:28.033 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_vcard at 192.168.49.12
2017-03-15 16:01:28.033 [debug] <0.535.0>@ejabberd_mnesia:schema:100 No custom mod_vcard_mnesia schema path
2017-03-15 16:01:28.033 [debug] <0.535.0>@ejabberd_mnesia:schema:100 No custom mod_vcard_mnesia schema path
2017-03-15 16:01:28.041 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_vcard_192.168.49.12'}, mod_vcard, [<<"192.168.49.12">>,[{search,false}]], []) at pid <0.535.0>
2017-03-15 16:01:28.041 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_announce at 192.168.49.12
2017-03-15 16:01:28.041 [debug] <0.538.0>@ejabberd_mnesia:schema:100 No custom mod_announce_mnesia schema path
2017-03-15 16:01:28.041 [debug] <0.538.0>@ejabberd_mnesia:schema:100 No custom mod_announce_mnesia schema path
2017-03-15 16:01:28.041 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_announce_192.168.49.12'}, mod_announce, [<<"192.168.49.12">>,[{access,announce}]], []) at pid <0.538.0>
2017-03-15 16:01:28.041 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_client_state at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_blocking at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_bosh at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started ejabberd_tmp_sup:start_link('mod_bosh_192.168.49.12', ejabberd_bosh) at pid <0.540.0>
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_s2s_dialback at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_roster at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_roster_mnesia schema path
2017-03-15 16:01:28.042 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_roster_mnesia schema path
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_stats at 192.168.49.12
2017-03-15 16:01:28.042 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_stream_mgmt at 192.168.49.12
2017-03-15 16:01:28.043 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_last at 192.168.49.12
2017-03-15 16:01:28.043 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_last_mnesia schema path
2017-03-15 16:01:28.043 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_offline at 192.168.49.12
2017-03-15 16:01:28.043 [debug] <0.545.0>@ejabberd_mnesia:schema:100 No custom mod_offline_mnesia schema path
2017-03-15 16:01:28.051 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_admin_extra at 192.168.49.12
2017-03-15 16:01:28.051 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_offline_192.168.49.12'}, mod_offline, [<<"192.168.49.12">>,[{access_max_user_messages,max_user_offline_messages}]], []) at pid <0.545.0>
2017-03-15 16:01:28.051 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_caps at 192.168.49.12
2017-03-15 16:01:28.051 [debug] <0.546.0>@ejabberd_mnesia:schema:100 No custom mod_caps_mnesia schema path
2017-03-15 16:01:28.059 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_pubsub at 192.168.49.12
2017-03-15 16:01:28.059 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_caps_192.168.49.12'}, mod_caps, [<<"192.168.49.12">>,[]], []) at pid <0.546.0>
2017-03-15 16:01:28.088 [debug] <0.548.0>@mod_pubsub:init:242 pubsub init <<"192.168.49.12">> [{access_createnode,pubsub_createnode},{ignore_pep_from_offline,true},{last_item_cache,false},{plugins,[<<"flat">>,<<"hometree">>,<<"pep">>]}]
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_router:register_route:154 Route registered: pubsub.192.168.49.12
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom pubsub_index schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:init_plugins:396 ** tree plugin is nodetree_tree
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom nodetree_tree schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:init_plugins:402 ** PEP Mapping : []
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:init_plugins:410 ** init flat plugin
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:node_call:3635 node_call <<"flat">> node_to_path [<<"/home">>]
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:node_call:3635 node_call <<"flat">> create_node_permission [<<"pubsub.192.168.49.12">>,<<"192.168.49.12">>,<<"/home">>,<<>>,{jid,<<>>,<<"pubsub.192.168.49.12">>,<<>>,<<>>,<<"pubsub.192.168.49.12">>,<<>>},all]
2017-03-15 16:01:28.089 [debug] <0.548.0>@mod_pubsub:tree_call:3608 tree_call apply(nodetree_tree, create_node, [<<"pubsub.192.168.49.12">>,<<"/home">>,<<"flat">>,{jid,<<>>,<<"pubsub.192.168.49.12">>,<<>>,<<>>,<<"pubsub.192.168.49.12">>,<<>>},[{deliver_payloads,true},{notify_config,false},{notify_delete,false},{notify_retract,true},{purge_offline,false},{persist_items,true},{max_items,10},{subscribe,true},{access_model,open},{roster_groups_allowed,[]},{publish_model,publishers},{notification_type,headline},{max_payload_size,60000},{send_last_published_item,on_sub_and_presence},{deliver_notifications,true},{title,<<>>},{presence_based_delivery,false},{itemreply,none}],[]]) @ pubsub.192.168.49.12
2017-03-15 16:01:28.090 [debug] <0.548.0>@mod_pubsub:node_call:3635 node_call <<"flat">> node_to_path [<<"/home/192.168.49.12">>]
2017-03-15 16:01:28.090 [debug] <0.548.0>@mod_pubsub:node_call:3635 node_call <<"flat">> create_node_permission [<<"pubsub.192.168.49.12">>,<<"192.168.49.12">>,<<"/home/192.168.49.12">>,<<>>,{jid,<<>>,<<"pubsub.192.168.49.12">>,<<>>,<<>>,<<"pubsub.192.168.49.12">>,<<>>},all]
2017-03-15 16:01:28.090 [debug] <0.548.0>@mod_pubsub:tree_call:3608 tree_call apply(nodetree_tree, create_node, [<<"pubsub.192.168.49.12">>,<<"/home/192.168.49.12">>,<<"flat">>,{jid,<<>>,<<"pubsub.192.168.49.12">>,<<>>,<<>>,<<"pubsub.192.168.49.12">>,<<>>},[{deliver_payloads,true},{notify_config,false},{notify_delete,false},{notify_retract,true},{purge_offline,false},{persist_items,true},{max_items,10},{subscribe,true},{access_model,open},{roster_groups_allowed,[]},{publish_model,publishers},{notification_type,headline},{max_payload_size,60000},{send_last_published_item,on_sub_and_presence},{deliver_notifications,true},{title,<<>>},{presence_based_delivery,false},{itemreply,none}],[]]) @ pubsub.192.168.49.12
2017-03-15 16:01:28.090 [debug] <0.548.0>@mod_pubsub:init_plugins:410 ** init hometree plugin
2017-03-15 16:01:28.090 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.090 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.090 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom node_flat schema path
2017-03-15 16:01:28.090 [debug] <0.548.0>@mod_pubsub:init_plugins:410 ** init pep plugin
2017-03-15 16:01:28.091 [debug] <0.548.0>@ejabberd_mnesia:schema:100 No custom mod_pubsub schema path
2017-03-15 16:01:28.092 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_irc at 192.168.49.12
2017-03-15 16:01:28.092 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_pubsub_192.168.49.12'}, mod_pubsub, [<<"192.168.49.12">>,[{access_createnode,pubsub_createnode},{ignore_pep_from_offline,true},{last_item_cache,...},...]], []) at pid <0.548.0>
2017-03-15 16:01:28.092 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started ejabberd_tmp_sup:start_link('ejabberd_mod_irc_sup_192.168.49.12', mod_irc_connection) at pid <0.561.0>
2017-03-15 16:01:28.092 [debug] <0.562.0>@ejabberd_mnesia:schema:100 No custom mod_irc_mnesia schema path
2017-03-15 16:01:28.092 [debug] <0.562.0>@ejabberd_router:register_route:154 Route registered: irc.192.168.49.12
2017-03-15 16:01:28.092 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_time at 192.168.49.12
2017-03-15 16:01:28.092 [debug] <0.414.0> Supervisor ejabberd_gen_mod_sup started gen_server:start_link({local,'mod_irc_192.168.49.12'}, mod_irc, [<<"192.168.49.12">>,[]], []) at pid <0.562.0>
2017-03-15 16:01:28.092 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_configure at 192.168.49.12
2017-03-15 16:01:28.093 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_carboncopy at 192.168.49.12
2017-03-15 16:01:28.093 [debug] <0.513.0>@ejabberd_mnesia:schema:100 No custom mod_carboncopy_mnesia schema path
2017-03-15 16:01:28.093 [debug] <0.513.0>@gen_mod:start_module:191 loading mod_version at 192.168.49.12
2017-03-15 16:01:28.100 [debug] <0.513.0>@gen_mod:reload_module:253 reloading mod_muc at 192.168.49.12
2017-03-15 16:01:28.100 [debug] <0.513.0>@gen_mod:reload_module:253 reloading mod_muc at localhost
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:282 routes before: [{route,<<"irc.localhost">>,<<"localhost">>,<0.470.0>,undefined},{route,<<"conference.localhost">>,<<"localhost">>,<0.417.0>,undefined},{route,<<"localhost">>,<<"localhost">>,<0.410.0>,{apply,ejabberd_local,route}},{route,<<"pubsub.localhost">>,<<"localhost">>,<0.456.0>,undefined}]
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:283 registering local route 192.168.49.12
2017-03-15 16:01:28.020 [debug] <0.513.0>@ejabberd_router:register_route:154 Route registered: 192.168.49.12
2017-03-15 16:01:28.020 [info] <0.513.0>@ejabberd_local:host_up:285 routes after: [{route,<<"irc.localhost">>,<<"localhost">>,<0.470.0>,undefined},{route,<<"conference.localhost">>,<<"localhost">>,<0.417.0>,undefined},{route,<<"localhost">>,<<"localhost">>,<0.410.0>,{apply,ejabberd_local,route}},{route,<<"192.168.49.12">>,<<"192.168.49.12">>,<0.513.0>,{apply,ejabberd_local,route}},{route,<<"pubsub.localhost">>,<<"localhost">>,<0.456.0>,undefined}]
md5-6679997597d4f5926606c63564afc1ff
$ /usr/local/ejabberd17_git/sbin/ejabberdctl debug
...
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"pubsub.192.168.49.12">>,
<<"localhost">>,<<"irc.localhost">>,<<"irc.192.168.49.12">>,
<<"conference.localhost">>,<<"conference.192.168.49.12">>]
The stored information disappears like volatility.
Ok, I got it.
Will add a fix in a moment.
Please report if it's fixed
Thank you!
$ /usr/local/ejabberd17_git/sbin/ejabberdctl debug
...
(ejabberd@localhost)1> mnesia:dirty_all_keys(route).
[<<"pubsub.localhost">>,<<"pubsub.192.168.49.12">>,
<<"localhost">>,<<"irc.localhost">>,<<"irc.192.168.49.12">>,
<<"conference.localhost">>,<<"conference.192.168.49.12">>,
<<"192.168.49.12">>]
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
Thank you!