Hi,
Gentoo-Linux
ejabberd-1.1.3
erlang 11.2.5
since few week I my ejabberd-server cannot connect to other servers. Here an outgoing example. User window:
meAtEjabber: hallohallohallo meOtherJabber: Ihre Nachricht kann nicht zugestellt werden: "hallohallohallo", Grund: ""
Translated: the message could not be sent - reason: " ".
The ejabber-log shows following:
=INFO REPORT==== 22-Nov-2007::18:28:54 === I(<0.410.0>:ejabberd_s2s_out:662): terminated: normal =INFO REPORT==== 22-Nov-2007::18:28:54 === I(<0.411.0>:ejabberd_s2s_out:662): terminated: normal =INFO REPORT==== 22-Nov-2007::18:28:54 === I(<0.412.0>:ejabberd_s2s_out:662): terminated: normal =INFO REPORT==== 22-Nov-2007::18:28:54 === I(<0.413.0>:ejabberd_s2s_out:662): terminated: normal =INFO REPORT==== 22-Nov-2007::18:29:08 === I(<0.416.0>:ejabberd_s2s_out:662): terminated: normal
I already started the ejabber manually with the -kernel... flag from http://www.ejabberd.im/fix-dns-srv . But still no contact to other jabber-servers. Can anyone help me with this problem?
Thanks, H.
honana wrote: I already
I already started the ejabber manually with the -kernel... flag from http://www.ejabberd.im/fix-dns-srv . But still no contact to other jabber-servers. Can anyone help me with this problem?
Looking at your ejabberd logs, it seems ejabberd tries to establish S2S connections. If they are not correctly established, I can think of several reasons:
If you restart ejabberd, you could take a look at ejabberd.log and sasl.log, maybe they indicate an 'ERROR' during the start process.
crashes and data-rescue?
I tried to reinstall ejabberd to be sure to have clean binaries. But since then I even cannont start the ejabberd-server anymore :-(. Every start crashes and gives me a huge (15KB) sasl.log.
After I started /etc/init.d/ejabberd start following processes are running:
But the ejabberd-server is NOT working :-( The Sasl.log-file look like this:
Unluckily I dont understand the meaning of these messages - only that it crashed. But what was the reason? How can I fix it? - and how can I rescue all the roasters incl. the authentifications? Is it enough to copy the /var/spool/jabber-directory?
I am using: OpenSSH_4.7p1, OpenSSL 0.9.8g 19 Oct 2007
Ciao, H.
Strange error message
I tried to reinstall ejabberd to be sure to have clean binaries. But since then I even cannont start the ejabberd-server anymore :-(. Every start crashes and gives me a huge (15KB) sasl.log.
But the ejabberd-server is NOT working :-( The Sasl.log-file look like this:
Unluckily I dont understand the meaning of these messages - only that it crashed. But what was the reason? How can I fix it? - and how can I rescue all the roasters incl. the authentifications?
I don't know either what can be the reason, since I don't find any clue in the logs. It seems Mnesia is started, and is instantly killed for no apparent reason. Mnesia is a database system included in Erlang/OTP.
Usual problems with Mnesia are: wrong file permissions, wrong path to spool dir, corrupted files, spool dir created in a different machine... but the error messages in those cases provide some clue to the reason of the problem. So I think your case is not one of those.
How did you install ejabberd: using binary installer from Process-one site; using a package in your operating system; compiling from source code...?
Now you resinstalled ejabberd: did you reinstall the same version? 1.1.3, or 1.1.4 or whatever you had?
Did you also reinstall Erlang/OTP?
Is it enough to copy the /var/spool/jabber-directory?
Yes. There is a thing you can try to investigate where is the problem:
Let's hope we can find the reason for that problem, and fix it soon :)
corrupted data-files
Thanks for your hints badlop. Gentoo is always installing directly from source-code and I am still using 1.1.3 as the 1.1.4-gentoo-package is mask as instable. With your hints I could figure out two errors:
The corrupted file(s) in erlang I could remove with a reinstall of erlang :-). But how can I identify and fix the corrupted file(s) in /var/spool/jabber?
Here is my saved /var/spool/jabber-directory:
-rw-r--r-- 1 101 crontab 154 Nov 24 12:46 DECISION_TAB.LOG
-rw-r--r-- 1 101 crontab 93 Nov 24 12:46 LATEST.LOG
-rw-r--r-- 1 root root 278 Nov 23 09:41 acl.DCD
-rw-r--r-- 1 root root 1632 Nov 23 09:41 config.DCD
-rw-r--r-- 1 101 crontab 5752 Oct 3 21:36 disco_publish.DAT
-rw-r--r-- 1 101 crontab 385 Nov 22 16:23 last_activity.DCD
-rw-r--r-- 1 root root 202 Nov 23 00:23 last_activity.DCL
-rw-r--r-- 1 root root 4388 Nov 23 09:41 local_config.DCD
-rw-r--r-- 1 101 crontab 8 Oct 3 21:36 motd.DCD
-rw-r--r-- 1 101 crontab 8 Oct 3 21:36 motd_users.DCD
-rw-r--r-- 1 101 crontab 8 Oct 3 21:36 muc_registered.DCD
-rw-r--r-- 1 101 crontab 8 Oct 3 21:36 muc_room.DCD
-rw-r--r-- 1 root root 15056 Nov 23 02:34 offline_msg.DAT
-rw-r--r-- 1 101 crontab 437 Oct 13 12:49 passwd.DCD
-rw-r--r-- 1 101 crontab 8 Oct 3 21:36 privacy.DCD
-rw-r--r-- 1 101 crontab 7239 Oct 12 20:20 private_storage.DAT
-rw-r--r-- 1 101 crontab 10328 Oct 4 18:03 pubsub_node.DAT
-rw-r--r-- 1 101 crontab 7800 Nov 24 12:46 pubsub_node_3.DAT
-rw-r--r-- 1 101 crontab 5214 Oct 30 17:22 roster.DCD
-rw-r--r-- 1 101 crontab 719 Nov 18 12:33 roster.DCL
-rw-r--r-- 1 101 crontab 16935 Oct 3 21:57 schema.DAT
-rw-r--r-- 1 101 crontab 8991 Nov 22 16:30 vcard.DAT
-rw-r--r-- 1 101 crontab 312 Nov 22 16:31 vcard_search.DCD
(ignore the wrong user and group as the files are saved on a different machine)
And here are the new and empty created files of /var/spool/jabber:
-rw-r--r-- 1 jabber jabber 154 Nov 25 00:12 DECISION_TAB.LOG
-rw-r--r-- 1 jabber jabber 93 Nov 25 00:12 LATEST.LOG
-rw-r--r-- 1 jabber jabber 212 Nov 25 00:09 acl.DCD
-rw-r--r-- 1 jabber jabber 286 Nov 25 00:12 acl.DCL
-rw-r--r-- 1 jabber jabber 1366 Nov 25 00:09 config.DCD
-rw-r--r-- 1 jabber jabber 2243 Nov 25 00:12 config.DCL
-rw-r--r-- 1 jabber jabber 5752 Nov 24 23:40 disco_publish.DAT
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 last_activity.DCD
-rw-r--r-- 1 jabber jabber 3205 Nov 25 00:09 local_config.DCD
-rw-r--r-- 1 jabber jabber 4245 Nov 25 00:12 local_config.DCL
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 motd.DCD
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 motd_users.DCD
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 muc_registered.DCD
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 muc_room.DCD
-rw-r--r-- 1 jabber jabber 5752 Nov 24 23:40 offline_msg.DAT
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 passwd.DCD
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 privacy.DCD
-rw-r--r-- 1 jabber jabber 5752 Nov 24 23:40 private_storage.DAT
-rw-r--r-- 1 jabber jabber 9606 Nov 25 00:09 pubsub_node.DAT
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 roster.DCD
-rw-r--r-- 1 jabber jabber 16935 Nov 25 00:09 schema.DAT
-rw-r--r-- 1 jabber jabber 5752 Nov 24 23:40 vcard.DAT
-rw-r--r-- 1 jabber jabber 8 Nov 24 23:38 vcard_search.DCD
The MOST and VERY IMPORTANT is the roaster with its authentifications - if they will get lost I will be in trouble. Can I reinstall all the users and then just copy the saved roaster back without later upcoming problems?
Does ejabberd work correctly with empty DB?
But how can I identify and fix the corrupted file(s) in /var/spool/jabber?
When I kill ejabberd abruptly and later try to start it, ejabberd reports:
and it starts correctly.
Did ejabberd start and work correctly with that newly empty database? I mean: could you create a user, stop ejabberd, start ejabberd and worked correctly? If so, then you know the problem is in your old spool dir.
The MOST and VERY IMPORTANT is the roaster with its authentifications - if they will get lost I will be in trouble. Can I reinstall all the users and then just copy the saved roaster back without later upcoming problems?
Yes, quite probably. The files that are worth recovering from your old database are: passwd.* roster.* vcard.*. If ejabberd works correctly with the new database, you can test your luck: copy those files from the old database dir to the new one, overwriting the new (empty one) files; and then start ejabberd.
strange ejabberd behavior and log file level
My "clean" ejabberd is not working correctly. After adding accounts on myjabberserver the internal communication is working. But no external communication :-( - the only feedback on the client: Reason: ""
The s2s-parts of my ejabberd.cfg:
- and the log-files shows:
How can I make sure that ejabberd tells more details in client-feedback and log-files? And what can be still corrupted after erlang and ejabberd reinstallation? Do I have to setup a whole new machine? How can I get more logging details?
Two different problems
The log messages indicate that your ejabberd tries to connect to the other server. After 2 minutes something happens. Quite probably it's a timeout. I bet it's a firewall bloking the port 5269, or a DNS misconfiguration.
How can I make sure that ejabberd tells more details in client-feedback and log-files? How can I get more logging details?
The next ejabberd version which will be released soon probably provides more information.
And what can be still corrupted after erlang and ejabberd reinstallation? Do I have to setup a whole new machine?
Regarding the problematic database with important information: to find what file is problematic, you could try this: