[erlang-questions] 回复: 回复: ejabberd translate crash
nickel chen
nickelchen@REDACTED
Fri Apr 18 10:43:34 CEST 2014
It was confirmed to be a compability issue with R17.
This is the related ejabberd github issue: https://github.com/processone/ejabberd/issues/164
processone/ejabberd
Maybe i'm missing something, I'm having problems with translate module. After compiling and installing ejabberd from source, I wanted to start it sudo ejabberdc...
在 github.com 上查看 预览者 Yahoo
By now, it has been fixed by ejabberd team.
processone/ejabberd
processone/ejabberd
ejabberd - Robust and scalable Jabber / XMPP Instant Messaging platform
在 github.com 上查看 预览者 Yahoo
processone/ejabberd
processone/ejabberd
ejabberd - Robust and scalable Jabber / XMPP Instant Messaging platform
在 github.com 上查看 预览者 Yahoo
Dániel Szoboszlay <dszoboszlay@REDACTED> 于 2014年4月14日, 星期一, 9:13 下午 写道:
Hi,
I’m not really familiar with ejabberd in particular, but I can think of two possible ways to fix your problem:
* change the iolist_to_binary call to uncidoe:characters_to_binary, which will take care of utf8 encoding the unicode code points
* change the translation file (el.msg) to contain the translations as binaries instead of strings (<<“…”/utf8>>)
I’d prefer the first solution, btw.
Regards,
Daniel
On 2014 Apr 11, at 8:41 , nickel chen <nickelchen@REDACTED> wrote:
anyone information, please? i'm stucked at this problem.
>nickel chen <nickelchen@REDACTED> 于 2014年4月10日, 星期四, 3:24 下午 写道:
>
> Hi all, I'm new to erlang and I'm learning the code of ejabberd 13.12, I already have ejabberd installed, then start it with
>
>
>sudo ejabberdctl start
>
>
>There is a crash message in /var/log/ejabberd.log
>
>
>2014-04-10 14:37:56.520 [info] <0.7.0> Application ejabberd exited with reason: bad argument in call to erlang:iolist_to_binary([916,953,945,956,972,961,966,969,963,951,32,928,961,972,963,946,945,963,951,962]) in translate:'-load_file/2-fun-2-'/3 line 91
>
>
>i added some debug info to the source code ` translate.erl` and recompile ejabberd. then start it again, below is the debug message:
>
>
>
>2014-04-10 14:37:56.517 [info] <0.38.0>@translate:load_file:87 File is: <<"//lib/ejabberd/priv/msgs/el.msg">>, Orig is:"Access Configuration", Trans is: [916,953,945,956,972,961,966,969,963,951,32,928,961,972,963,946,945,963,951,962]
>
>
>well it's clear that there are unicode characters in I18N translation , when passed to the erlang:iolist_to_binary/1, it crashed with badarg, because iolist only accepts byte( ) binary( ) and other iolist( )
>
>
>9> erlang:iolist_to_binary([256]).
>** exception error: bad argument
> in function iolist_to_binary/1
> called as iolist_to_binary([256])
>10> erlang:iolist_to_binary([255]).
><<"ÿ">>
>11>
>
>
>My question is simple, how to get around with this problem and get ejabberd launched?
>
>
>Thanks in advance!
>
>_______________________________________________
>erlang-questions mailing list
>erlang-questions@REDACTED
>http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140418/9e615699/attachment.htm>
More information about the erlang-questions
mailing list