Hi guys,
So I have ejabberd running, I can even register accounts and hit the web interface, but every time I try to connect with a client, it instantly disconnects me. I see this in the error log (debug mode):
=INFO REPORT==== 2010-03-25 19:59:22 ===
D(<0.382.0>:ejabberd_receiver:320) : Received XML on stream = "<?xml version='1.0' ?>"
=ERROR REPORT==== 2010-03-25 19:59:22 ===
** Generic server <0.382.0> terminating
** Last message in was {tcp,#Port<0.3400>,<<"<?xml version='1.0' ?>">>}
** When Server state == {state,#Port<0.3400>,gen_tcp,none,<0.383.0>,65536,
{xml_stream_state,<0.383.0>,#Port<0.3413>,[],0,
65536},
infinity}
** Reason for termination ==
** {badarg,[{erlang,port_control,
[#Port<0.3413>,0,<<"<?xml version='1.0' ?>">>]},
{xml_stream,parse,2},
{ejabberd_receiver,process_data,2},
{ejabberd_receiver,handle_info,2},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}
Now searching, I found the advice here: http://www.ejabberd.im/erlang-port_control, but that doesn't seem to be the issue as the erlang version for compile/run is the same (R13B01), there is only one version "installed", nor do I have a duplicate child.
I should point out though, that erlang was "installed" by simply coping it over from the machine it was built on, replicating the path structure exactly. Interesting, when I try to run erl, on the build machine I would see
Erlang R13B01 (erts-5.7.2) [source] [smp:128:128] [rq:128] [async-threads:0] [kernel-poll:false]
Eshell V5.7.2 (abort with ^G)
though on my runtime machine, when I run erl, I only see:
Eshell V5.7.2 (abort with ^G)
So it's possible there's still something upset with the erlang on the run time system, which I'm trying to investigate. If you have any advice on why the system might be messing up I'd appreciate it, thanks!
Shared objects
Hey,
For anyone interested, this has now been resolved. It was similar to the issue listed here: http://www.ejabberd.im/node/2710
Running ldd on the shared object files (e.g. expat_erl.so, tls_drv.so) I found they were trying to link with libraries that were missing (e.g. libexpat). I found the libraries and placed them in the $LD_LIBRARY_PATH environment variable and we now seem to be up and running! Hope this helps someone else,
Tronman