[OPEN-ILS-DEV] Re:RE: Ejabberd and Ubuntu

Dan Wells dbw2 at calvin.edu
Thu Oct 18 16:33:09 EDT 2007


Pierre,

I am glad (yet also amazed) that the case change fixed your registration problem.  I do not think you really needed to go through and change all your other files and settings, but it shouldn't hurt if it was done accurately.  As for your recent issues, you almost certainly have some syntax error in your ejabberd.cfg file (though I am not sure how it worked before).  You are also running into some more ejabberd (on Ubuntu at least) weirdness, which I will now explain.  To start ejabberd, you use the command:

sudo /etc/init.d/ejabberd start

which is fine and dandy, but it doesn't complain about syntax errors!  It loads an erlang process which attempts to start ejabberd, but that part silently fails.  You are left with a "Started" node but no running server, and attempts to register an account give the long nasty erlang error message you got.  To make matters worse, when you are in this state, the following commands:

sudo /etc/init.d/ejabberd stop
and
sudo /etc/init.d/ejabberd restart
and
sudo /etc/init.d/ejabberd force-reload

NO LONGER WORK.  The running node will both refuse to go down and will refuse to reload the (presumably) now corrected config file.

Thankfully, there is a solution not involving finding and killing the rogue erlang process (which would work as well).  For reasons I have never bothered to fully look into, the following commands DO WORK:

sudo ejabberdctl restart
and
sudo ejabberdctl stop

!!!!   So, why not just use ejabberdctl and forget about the 'ejabberd' init script altogether?  Well, turns out that there is no 'ejabberdctl start' command.  Hey, don't look at me, I didn't write it :)


That leaves us with the problem of finding your syntax error.  If you want to upload the ejabberd.cfg file we can all take a look, but I would bet the line of the hour is the culprit:

{hosts, ["localhost","cobaye-ti.bib.uqam.ca"]}.

Double check for matching " ",[ ], and { }, and also be aware that the period '.' at the end is a requirement.

Once you get ejabberd back together, I would suggest rebooting to clear out any half-running parts of the system and try again.  Since this is obviously just a test machine, sometimes a restart is the easiest way to clean the slate.

Good luck,
DW



>>> "Pierre Nault" <pierrenault at gmail.com> 10/18/2007 3:27 PM >>>
Hello Dan,

      Yes, it worked : I registered the two accounts, the upper case letters
seems to be the problem. After registering the accounts, I tried to start
Open SRF but it give me the same error message. Then I remembered that the
capital letters were everywhere (opensrf.xml, opensrf_core.xml, .srfsh.xml).
I modified these files, restart Opens SRF: same error message. I change the
/etc/hosts and /etc/hostname files, reboot the machine. After that, ejabberd
was dead : the command sudo ejabberdctl status returned:
Node 'ejabberd at cobaye-ti' is started. Status: started
ejabberd is not running
Nothing on any ports (5222, 5223, 5269). Strange, as I just change the
capital letters. Euh.. this is an entirely new problem.

I tried to register an account, it give me that message:
RPC failed on the node 'ejabberd at cobaye-ti': {'EXIT',
                                                 {badarg,
                                                     [{erlang,
                                                          port_control,
                                                          [stringprep_port,
                                                           1,
                                                           "
cobaye-ti.bib.uqam.ca"]},

{stringprep,control,2},
                                                      {jlib,nameprep,1},
                                                      {ejabberd_auth,
                                                          auth_modules,
                                                          1},
                                                      {ejabberd_auth,
                                                          is_user_exists,
                                                          2},
                                                      {ejabberd_auth,
                                                          try_register,
                                                          3},

{ejabberd_ctl,process,1},
                                                      {rpc,

'-handle_call/3-fun-0-',
                                                          5}]}}

I put the ejabberd sasl log file (
http://www.bibliotheques.uqam.ca/flash_bugs/sasl2.txt). Do I have to
reinstall Evergreen (step 20) to change the capital letters in the
bootstrapping database host (cobaye-TI.bib.uqam.ca) ?

Thanks,

Pierre Nault


More information about the Open-ils-dev mailing list