ejabberd - Comments for "ejabberd 2.1.3 can&amp;#039;t login with compression" https://www.ejabberd.im/node/4037 en Ok, after next upgrade i'll https://www.ejabberd.im/node/4037#comment-55709 <p>Ok, i'll try after next upgrade )</p> Fri, 07 May 2010 05:18:34 +0000 a_b_v comment 55709 at https://www.ejabberd.im Re: ejabberd 2.1.3 can't login with compression https://www.ejabberd.im/node/4037#comment-55704 <p>You can just set EJABBERD_SO_PATH environment, no need to hack sources ;)</p> Thu, 06 May 2010 14:01:22 +0000 zinid comment 55704 at https://www.ejabberd.im Hacked) https://www.ejabberd.im/node/4037#comment-55696 <p>I changed</p> <div class="codeblock"><code>case erl_ddll:load_driver(ejabberd:get_so_path(), ejabberd_zlib_drv) of</code></div> <p>to </p> <div class="codeblock"><code>case erl_ddll:load_driver(&quot;/usr/local/lib/erlang/lib/ejabberd-2.1.3/priv/lib&quot;, ejabberd_zlib_drv) of</code></div> <p>and it's worked.<br /> Thanks for your help.</p> Thu, 06 May 2010 08:14:54 +0000 a_b_v comment 55696 at https://www.ejabberd.im Re: ejabberd 2.1.3 can't login with compression https://www.ejabberd.im/node/4037#comment-55693 <p>From your stack:</p> <div class="codeblock"><code>** {{case_clause,{error,{open_error,-11}}},<br />&nbsp;&nbsp;&nbsp; [{ejabberd_zlib,enable_zlib,2},<br />&nbsp;&nbsp;&nbsp;&nbsp; {ejabberd_socket,compress,2},<br />&nbsp;&nbsp;&nbsp;&nbsp; {ejabberd_c2s,wait_for_feature_request,2},<br />&nbsp;&nbsp;&nbsp;&nbsp; {gen_fsm,handle_msg,7},<br />&nbsp;&nbsp;&nbsp;&nbsp; {proc_lib,init_p_do_apply,3}]}</code></div> <p>So there is a case clause in function ejabberd_zlib:enable_zlib/2. In ths function we have only one case:</p> <div class="codeblock"><code>case erl_ddll:load_driver(ejabberd:get_so_path(), ejabberd_zlib_drv) of<br /> ok -&gt; ok;<br /> {error, already_loaded} -&gt; ok<br />end,</code></div> <p>So ejabberd is unable to load the shared object somehow. I have no idea why it works in your console, but not in running ejabberd. Maybe there is a mess with ejabberd:get_so_path()? Try to call this function in Erlang shell with running ejabberd.</p> Wed, 05 May 2010 17:46:36 +0000 zinid comment 55693 at https://www.ejabberd.im x# erlErlang R13B04 https://www.ejabberd.im/node/4037#comment-55692 <div class="codeblock"><code>x# erl<br />Erlang R13B04 (erts-5.7.5) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false] <p>Eshell V5.7.5&nbsp; (abort with ^G)<br />1&gt; ejabberd:get_so_path().<br />&quot;/usr/local/lib/erlang/lib/ejabberd-2.1.3/priv/lib&quot;<br />2&gt; {_, Err} = erl_ddll:load_driver(ejabberd:get_so_path(), ejabberd_zlib_drv).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />** exception error: no match of right hand side value ok</p></code></div> <p>IMHO, that's something other</p> Wed, 05 May 2010 15:09:02 +0000 a_b_v comment 55692 at https://www.ejabberd.im Re: ejabberd 2.1.3 can't login with compression https://www.ejabberd.im/node/4037#comment-55690 <p>This is a typical problem on FreeBSD, dunno why it occurs so often. The problem here is that Erlang is unable to find ejabberd_zlib_drv.so.<br /> Type the following in Erlang shell to find out the source of the problem:</p> <div class="codeblock"><code>$ erl<br />Erlang R13B04 (erts-5.7.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false] <p>Eshell V5.7.5&nbsp; (abort with ^G)</p> <p>1&gt; {_, Err} = erl_ddll:load_driver(&quot;/path/to/ejabberd/shared/objects&quot;, ejabberd_zlib_drv).<br />{error,{open_error,-11}}<br />2&gt; erl_ddll:format_error(Err).<br />&quot;error description goes here&quot;</p></code></div> Wed, 05 May 2010 14:18:22 +0000 zinid comment 55690 at https://www.ejabberd.im